Chromium Code Reviews| Index: chrome/browser/io_thread.cc |
| diff --git a/chrome/browser/io_thread.cc b/chrome/browser/io_thread.cc |
| index 491f4febe020bb68f43c61c30b7a4ae595ede63f..a9cb57c257357aeffab70e0d9732b56ee849b735 100644 |
| --- a/chrome/browser/io_thread.cc |
| +++ b/chrome/browser/io_thread.cc |
| @@ -108,7 +108,7 @@ class SystemURLRequestContext : public URLRequestContextWithUserAgent { |
| } |
| }; |
| -net::HostResolver* CreateGlobalHostResolver(net::NetLog* net_log) { |
| +scoped_ptr<net::HostResolver> CreateGlobalHostResolver(net::NetLog* net_log) { |
| const CommandLine& command_line = *CommandLine::ForCurrentProcess(); |
| bool allow_async_dns_field_trial = true; |
| @@ -146,7 +146,6 @@ net::HostResolver* CreateGlobalHostResolver(net::NetLog* net_log) { |
| } |
| } |
| - net::HostResolver* global_host_resolver = NULL; |
| bool use_async = false; |
| if (command_line.HasSwitch(switches::kEnableAsyncDns)) { |
| allow_async_dns_field_trial = false; |
| @@ -159,13 +158,12 @@ net::HostResolver* CreateGlobalHostResolver(net::NetLog* net_log) { |
| if (allow_async_dns_field_trial) |
| use_async = chrome_browser_net::ConfigureAsyncDnsFieldTrial(); |
| - if (use_async) { |
| - global_host_resolver = |
| - net::CreateAsyncHostResolver(parallelism, retry_attempts, net_log); |
| - } else { |
| - global_host_resolver = |
| - net::CreateSystemHostResolver(parallelism, retry_attempts, net_log); |
| - } |
| + scoped_ptr<net::HostResolver> global_host_resolver( |
| + net::HostResolver::CreateSystemResolver(parallelism, |
| + retry_attempts, |
| + true /* use_cache */, |
|
darin (slow to review)
2012/10/09 17:38:34
I'm not a big fan of functions that take multiples
szym
2012/10/09 21:40:43
Done.
|
| + use_async, |
| + net_log)); |
| // Determine if we should disable IPv6 support. |
| if (!command_line.HasSwitch(switches::kEnableIPv6)) { |
| @@ -180,13 +178,13 @@ net::HostResolver* CreateGlobalHostResolver(net::NetLog* net_log) { |
| // rules on top of the real host resolver. This allows forwarding all requests |
| // through a designated test server. |
| if (!command_line.HasSwitch(switches::kHostResolverRules)) |
| - return global_host_resolver; |
| + return global_host_resolver.PassAs<net::HostResolver>(); |
| - net::MappedHostResolver* remapped_resolver = |
| - new net::MappedHostResolver(global_host_resolver); |
| + scoped_ptr<net::MappedHostResolver> remapped_resolver( |
| + new net::MappedHostResolver(global_host_resolver.Pass())); |
| remapped_resolver->SetRulesFromString( |
| command_line.GetSwitchValueASCII(switches::kHostResolverRules)); |
| - return remapped_resolver; |
| + return remapped_resolver.PassAs<net::HostResolver>(); |
| } |
| // TODO(willchan): Remove proxy script fetcher context since it's not necessary |
| @@ -438,8 +436,7 @@ void IOThread::Init() { |
| if (command_line.HasSwitch(switches::kDisableExtensionsHttpThrottling)) |
| network_delegate->NeverThrottleRequests(); |
| globals_->system_network_delegate.reset(network_delegate); |
| - globals_->host_resolver.reset( |
| - CreateGlobalHostResolver(net_log_)); |
| + globals_->host_resolver = CreateGlobalHostResolver(net_log_); |
| globals_->cert_verifier.reset(net::CertVerifier::CreateDefault()); |
| globals_->transport_security_state.reset(new net::TransportSecurityState()); |
| globals_->ssl_config_service = GetSSLConfigService(); |