summaryrefslogtreecommitdiffstats
path: root/chrome/browser/net/dns_global.cc
diff options
context:
space:
mode:
authortc@google.com <tc@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-02-06 19:03:29 +0000
committertc@google.com <tc@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-02-06 19:03:29 +0000
commitb2b8b8313cf35d02e038f48f03cb0dd2a56ace0b (patch)
tree4641fae4757e349cb50097423e85a589ae95a234 /chrome/browser/net/dns_global.cc
parentff4db3653c00cd23104ab773db6d97533e786105 (diff)
downloadchromium_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.cc14
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() {