Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1296)

Unified Diff: chrome/browser/io_thread.cc

Issue 10831277: [net] Change factory methods for HostResolver and HostCache to return a scoped_ptr (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: remove unnecessary initialization; respond to review Created 8 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | chrome/browser/net/connection_tester.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/io_thread.cc
diff --git a/chrome/browser/io_thread.cc b/chrome/browser/io_thread.cc
index b8b3c9000033954a6e31e17ec8dee9cba1930b1b..08ed80c0562ac423e339c5c43af3ed34bd55f5b2 100644
--- a/chrome/browser/io_thread.cc
+++ b/chrome/browser/io_thread.cc
@@ -116,12 +116,12 @@ 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;
- size_t parallelism = net::HostResolver::kDefaultParallelism;
+ net::HostResolver::Options options;
// Use the concurrency override from the command-line, if any.
if (command_line.HasSwitch(switches::kHostResolverParallelism)) {
@@ -132,14 +132,12 @@ net::HostResolver* CreateGlobalHostResolver(net::NetLog* net_log) {
// Parse the switch (it should be a positive integer formatted as decimal).
int n;
if (base::StringToInt(s, &n) && n > 0) {
- parallelism = static_cast<size_t>(n);
+ options.max_concurrent_resolves = static_cast<size_t>(n);
} else {
LOG(ERROR) << "Invalid switch for host resolver parallelism: " << s;
}
}
- size_t retry_attempts = net::HostResolver::kDefaultRetryAttempts;
-
// Use the retry attempts override from the command-line, if any.
if (command_line.HasSwitch(switches::kHostResolverRetryAttempts)) {
allow_async_dns_field_trial = false;
@@ -148,32 +146,25 @@ net::HostResolver* CreateGlobalHostResolver(net::NetLog* net_log) {
// Parse the switch (it should be a non-negative integer).
int n;
if (base::StringToInt(s, &n) && n >= 0) {
- retry_attempts = static_cast<size_t>(n);
+ options.max_retry_attempts = static_cast<size_t>(n);
} else {
LOG(ERROR) << "Invalid switch for host resolver retry attempts: " << s;
}
}
- net::HostResolver* global_host_resolver = NULL;
- bool use_async = false;
if (command_line.HasSwitch(switches::kEnableAsyncDns)) {
allow_async_dns_field_trial = false;
- use_async = true;
+ options.enable_async = true;
} else if (command_line.HasSwitch(switches::kDisableAsyncDns)) {
allow_async_dns_field_trial = false;
- use_async = false;
+ options.enable_async = false;
}
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);
- }
+ options.enable_async = chrome_browser_net::ConfigureAsyncDnsFieldTrial();
+
+ scoped_ptr<net::HostResolver> global_host_resolver(
+ net::HostResolver::CreateSystemResolver(options, net_log));
// Determine if we should disable IPv6 support.
if (!command_line.HasSwitch(switches::kEnableIPv6)) {
@@ -188,13 +179,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
@@ -446,8 +437,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();
« no previous file with comments | « no previous file | chrome/browser/net/connection_tester.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698