summaryrefslogtreecommitdiffstats
path: root/net/base/host_resolver_impl.cc
diff options
context:
space:
mode:
authorszym@chromium.org <szym@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-01-26 03:48:25 +0000
committerszym@chromium.org <szym@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-01-26 03:48:25 +0000
commit32b1dbcfc7bb8373059bba5cef3a53b99a8db5e7 (patch)
tree93fa7cb7b3422c85307b632603ab419c21e661b6 /net/base/host_resolver_impl.cc
parent6a5997e3dca0175f5e2dfbb421708293aec9ee8e (diff)
downloadchromium_src-32b1dbcfc7bb8373059bba5cef3a53b99a8db5e7.zip
chromium_src-32b1dbcfc7bb8373059bba5cef3a53b99a8db5e7.tar.gz
chromium_src-32b1dbcfc7bb8373059bba5cef3a53b99a8db5e7.tar.bz2
Enable AsyncDns by default on CrOS, Linux and MacOS.
In absence of field trial, the built-in asynchronous DNS will be enabled on these platforms. BUG=163673 Review URL: https://chromiumcodereview.appspot.com/12036102 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@179012 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/base/host_resolver_impl.cc')
-rw-r--r--net/base/host_resolver_impl.cc9
1 files changed, 8 insertions, 1 deletions
diff --git a/net/base/host_resolver_impl.cc b/net/base/host_resolver_impl.cc
index 0a3e864..97522b4 100644
--- a/net/base/host_resolver_impl.cc
+++ b/net/base/host_resolver_impl.cc
@@ -2114,7 +2114,14 @@ void HostResolverImpl::OnDNSChanged() {
}
bool HostResolverImpl::HaveDnsConfig() const {
- return (dns_client_.get() != NULL) && (dns_client_->GetConfig() != NULL);
+ // Use DnsClient only if it's fully configured and there is no override by
+ // ScopedDefaultHostResolverProc.
+ // The alternative is to use NetworkChangeNotifier to override DnsConfig,
+ // but that would introduce construction order requirements for NCN and SDHRP.
+ return (dns_client_.get() != NULL) &&
+ (dns_client_->GetConfig() != NULL) &&
+ !(proc_params_.resolver_proc == NULL &&
+ HostResolverProc::GetDefault() != NULL);
}
void HostResolverImpl::OnDnsTaskResolve(int net_error) {