Chromium Code Reviews| Index: chrome/browser/net/connection_tester.cc |
| diff --git a/chrome/browser/net/connection_tester.cc b/chrome/browser/net/connection_tester.cc |
| index 6940462be57df55a11efae341e1ca78963de3cb1..b04847bc8b17e12c46c9436c04370a83c6d89ae8 100644 |
| --- a/chrome/browser/net/connection_tester.cc |
| +++ b/chrome/browser/net/connection_tester.cc |
| @@ -94,7 +94,7 @@ class ExperimentURLRequestContext : public net::URLRequestContext { |
| &host_resolver_tmp); |
| if (rv != net::OK) |
| return rv; // Failure. |
| - storage_.set_host_resolver(host_resolver_tmp.release()); |
| + storage_.set_host_resolver(host_resolver_tmp.Pass()); |
| // Create a custom ProxyService for this this experiment. |
| scoped_ptr<net::ProxyService> experiment_proxy_service; |
| @@ -143,33 +143,36 @@ class ExperimentURLRequestContext : public net::URLRequestContext { |
| // Create a vanilla HostResolver that disables caching. |
| const size_t kMaxJobs = 50u; |
| const size_t kMaxRetryAttempts = 4u; |
| - net::HostResolver* impl = net::CreateNonCachingSystemHostResolver( |
| - kMaxJobs, |
| - kMaxRetryAttempts, |
| - NULL /* NetLog */); |
| - |
| - host_resolver->reset(impl); |
| + net::HostResolver::Options options; |
| + options.max_concurrent_resolves = kMaxJobs; |
| + options.max_retry_attempts = kMaxRetryAttempts; |
| + options.enable_caching = false; |
| + options.enable_async = false; |
| + scoped_ptr<net::HostResolver> resolver( |
| + net::HostResolver::CreateSystemResolver(options, NULL /* NetLog */)); |
| // Modify it slightly based on the experiment being run. |
| switch (experiment) { |
| case ConnectionTester::HOST_RESOLVER_EXPERIMENT_PLAIN: |
| - return net::OK; |
| + break; |
| case ConnectionTester::HOST_RESOLVER_EXPERIMENT_DISABLE_IPV6: |
| - impl->SetDefaultAddressFamily(net::ADDRESS_FAMILY_IPV4); |
| - return net::OK; |
| + resolver->SetDefaultAddressFamily(net::ADDRESS_FAMILY_IPV4); |
| + break; |
| case ConnectionTester::HOST_RESOLVER_EXPERIMENT_IPV6_PROBE: { |
| // Note that we don't use impl->ProbeIPv6Support() since that finishes |
| // asynchronously and may not take effect in time for the test. |
| // So instead we will probe synchronously (might take 100-200 ms). |
| net::AddressFamily family = net::TestIPv6Support().ipv6_supported ? |
| net::ADDRESS_FAMILY_UNSPECIFIED : net::ADDRESS_FAMILY_IPV4; |
| - impl->SetDefaultAddressFamily(family); |
| - return net::OK; |
| + resolver->SetDefaultAddressFamily(family); |
| + break; |
| } |
| default: |
| NOTREACHED(); |
| return net::ERR_UNEXPECTED; |
| } |
| + (*host_resolver).swap(resolver); |
|
darin (slow to review)
2012/10/22 17:27:17
host_resolver->swap(resolver);
szym
2012/10/22 17:48:43
Done.
|
| + return net::OK; |
| } |
| // Creates a proxy service for |experiment|. On success returns net::OK |