diff options
author | tc@google.com <tc@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-02-06 19:03:29 +0000 |
---|---|---|
committer | tc@google.com <tc@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-02-06 19:03:29 +0000 |
commit | b2b8b8313cf35d02e038f48f03cb0dd2a56ace0b (patch) | |
tree | 4641fae4757e349cb50097423e85a589ae95a234 /chrome/browser/net/dns_global.cc | |
parent | ff4db3653c00cd23104ab773db6d97533e786105 (diff) | |
download | chromium_src-b2b8b8313cf35d02e038f48f03cb0dd2a56ace0b.zip chromium_src-b2b8b8313cf35d02e038f48f03cb0dd2a56ace0b.tar.gz chromium_src-b2b8b8313cf35d02e038f48f03cb0dd2a56ace0b.tar.bz2 |
Revert "Clean up dns prefetch code, and also port it."
This reverts commit r9312.
Revert "Fix HostResolver crash when MessageLoop is destroyed during"
This reverts commit r9317.
BUG=5687,6683
TBR=ph
Review URL: http://codereview.chromium.org/21133
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9325 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/net/dns_global.cc')
-rw-r--r-- | chrome/browser/net/dns_global.cc | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/chrome/browser/net/dns_global.cc b/chrome/browser/net/dns_global.cc index 2f85b59..b34de8a 100644 --- a/chrome/browser/net/dns_global.cc +++ b/chrome/browser/net/dns_global.cc @@ -377,9 +377,13 @@ void DnsPrefetchGetHtmlInfo(std::string* output) { static PrefetchObserver dns_resolution_observer; void InitDnsPrefetch(PrefService* user_prefs) { + // Use a large shutdown time so that UI tests (that instigate lookups, and + // then try to shutdown the browser) don't instigate the CHECK about + // "some slaves have not finished" + const TimeDelta kAllowableShutdownTime(TimeDelta::FromSeconds(10)); DCHECK(NULL == dns_master); if (!dns_master) { - dns_master = new DnsMaster(); + dns_master = new DnsMaster(kAllowableShutdownTime); // We did the initialization, so we should prime the pump, and set up // the DNS resolution system to run. off_the_record_observer.Register(); @@ -398,8 +402,14 @@ void InitDnsPrefetch(PrefService* user_prefs) { void ShutdownDnsPrefetch() { DCHECK(NULL != dns_master); - delete dns_master; + DnsMaster* master = dns_master; dns_master = NULL; + if (master->ShutdownSlaves()) { + delete master; + } else { + // Leak instance if shutdown problem. + DCHECK(0); + } } static void DiscardAllPrefetchState() { |