Chromium Code Reviews| Index: chrome/browser/io_thread.cc |
| diff --git a/chrome/browser/io_thread.cc b/chrome/browser/io_thread.cc |
| index dde18801b1567adb1d4b0d8e1ed17feb9776afd4..27e0c829561f75c4d626674f80f7c3933c70a94b 100644 |
| --- a/chrome/browser/io_thread.cc |
| +++ b/chrome/browser/io_thread.cc |
| @@ -463,33 +463,28 @@ net::URLRequestContextGetter* IOThread::system_url_request_context_getter() { |
| return system_url_request_context_getter_.get(); |
| } |
| -void IOThread::Init() { |
| - TRACE_EVENT0("startup", "IOThread::Init"); |
| - DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); |
| - |
| +void IOThread::DoInitTasks() { |
| #if defined(USE_NSS) || defined(OS_IOS) |
| net::SetMessageLoopForNSSHttpIO(); |
| #endif |
| - const CommandLine& command_line = *CommandLine::ForCurrentProcess(); |
| - |
| DCHECK(!globals_); |
| globals_ = new Globals; |
| + const CommandLine& command_line = *CommandLine::ForCurrentProcess(); |
| + |
| // Add an observer that will emit network change events to the ChromeNetLog. |
| // Assuming NetworkChangeNotifier dispatches in FIFO order, we should be |
| // logging the network change before other IO thread consumers respond to it. |
| - network_change_observer_.reset( |
| - new LoggingNetworkChangeObserver(net_log_)); |
| + network_change_observer_.reset(new LoggingNetworkChangeObserver(net_log_)); |
| // Setup the HistogramWatcher to run on the IO thread. |
| net::NetworkChangeNotifier::InitHistogramWatcher(); |
| globals_->extension_event_router_forwarder = |
| extension_event_router_forwarder_; |
| - ChromeNetworkDelegate* network_delegate = |
| - new ChromeNetworkDelegate(extension_event_router_forwarder_, |
| - &system_enable_referrers_); |
| + ChromeNetworkDelegate* network_delegate = new ChromeNetworkDelegate( |
| + extension_event_router_forwarder_, &system_enable_referrers_); |
| if (command_line.HasSwitch(switches::kDisableExtensionsHttpThrottling)) |
| network_delegate->NeverThrottleRequests(); |
| globals_->system_network_delegate.reset(network_delegate); |
| @@ -506,24 +501,24 @@ void IOThread::Init() { |
| spdyproxy_auth_origin_ = SPDY_PROXY_AUTH_ORIGIN; |
| #endif |
| } |
| - globals_->http_auth_handler_factory.reset(CreateDefaultAuthHandlerFactory( |
| - globals_->host_resolver.get())); |
| + globals_->http_auth_handler_factory |
| + .reset(CreateDefaultAuthHandlerFactory(globals_->host_resolver.get())); |
|
mmenke
2013/07/10 18:48:24
nit: For all of these, it's much more common acro
mmenke
2013/07/10 18:51:04
"On the same line as the object name", rather.
|
| globals_->http_server_properties.reset(new net::HttpServerPropertiesImpl); |
| // For the ProxyScriptFetcher, we use a direct ProxyService. |
| - globals_->proxy_script_fetcher_proxy_service.reset( |
| - net::ProxyService::CreateDirectWithNetLog(net_log_)); |
| + globals_->proxy_script_fetcher_proxy_service |
| + .reset(net::ProxyService::CreateDirectWithNetLog(net_log_)); |
| // In-memory cookie store. |
| globals_->system_cookie_store = new net::CookieMonster(NULL, NULL); |
| // In-memory server bound cert store. |
| - globals_->system_server_bound_cert_service.reset( |
| - new net::ServerBoundCertService( |
| - new net::DefaultServerBoundCertStore(NULL), |
| - base::WorkerPool::GetTaskRunner(true))); |
| + globals_->system_server_bound_cert_service |
| + .reset(new net::ServerBoundCertService( |
| + new net::DefaultServerBoundCertStore(NULL), |
| + base::WorkerPool::GetTaskRunner(true))); |
| globals_->dns_probe_service.reset(new chrome_browser_net::DnsProbeService()); |
| globals_->load_time_stats.reset(new chrome_browser_net::LoadTimeStats()); |
| globals_->host_mapping_rules.reset(new net::HostMappingRules()); |
| - globals_->http_user_agent_settings.reset( |
| - new BasicHttpUserAgentSettings(std::string())); |
| + globals_->http_user_agent_settings |
| + .reset(new BasicHttpUserAgentSettings(std::string())); |
| if (command_line.HasSwitch(switches::kHostRules)) { |
| TRACE_EVENT_BEGIN0("startup", "IOThread::Init:SetRulesFromString"); |
| globals_->host_mapping_rules->SetRulesFromString( |
| @@ -542,15 +537,13 @@ void IOThread::Init() { |
| } |
| globals_->enable_quic.set(ShouldEnableQuic(command_line)); |
| if (command_line.HasSwitch(switches::kOriginToForceQuicOn)) { |
| - net::HostPortPair quic_origin = |
| - net::HostPortPair::FromString( |
| - command_line.GetSwitchValueASCII(switches::kOriginToForceQuicOn)); |
| + net::HostPortPair quic_origin = net::HostPortPair::FromString( |
| + command_line.GetSwitchValueASCII(switches::kOriginToForceQuicOn)); |
| if (!quic_origin.IsEmpty()) { |
| globals_->origin_to_force_quic_on.set(quic_origin); |
| } |
| } |
| - if (command_line.HasSwitch( |
| - switches::kEnableUserAlternateProtocolPorts)) { |
| + if (command_line.HasSwitch(switches::kEnableUserAlternateProtocolPorts)) { |
| globals_->enable_user_alternate_protocol_ports = true; |
| } |
| InitializeNetworkOptions(command_line); |
| @@ -574,8 +567,8 @@ void IOThread::Init() { |
| job_factory->SetProtocolHandler(chrome::kFileScheme, |
| new net::FileProtocolHandler()); |
| #if !defined(DISABLE_FTP_SUPPORT) |
| - globals_->proxy_script_fetcher_ftp_transaction_factory.reset( |
| - new net::FtpNetworkLayer(globals_->host_resolver.get())); |
| + globals_->proxy_script_fetcher_ftp_transaction_factory |
| + .reset(new net::FtpNetworkLayer(globals_->host_resolver.get())); |
| job_factory->SetProtocolHandler( |
| chrome::kFtpScheme, |
| new net::FtpProtocolHandler( |
| @@ -589,21 +582,19 @@ void IOThread::Init() { |
| // Always done in production, disabled only for unit tests. |
| globals_->throttler_manager->set_enable_thread_checks(true); |
| - globals_->proxy_script_fetcher_context.reset( |
| - ConstructProxyScriptFetcherContext(globals_, net_log_)); |
| + globals_->proxy_script_fetcher_context |
| + .reset(ConstructProxyScriptFetcherContext(globals_, net_log_)); |
| - globals_->network_time_notifier.reset( |
| - new net::NetworkTimeNotifier( |
| - scoped_ptr<base::TickClock>(new base::DefaultTickClock()))); |
| + globals_->network_time_notifier.reset(new net::NetworkTimeNotifier( |
| + scoped_ptr<base::TickClock>(new base::DefaultTickClock()))); |
| sdch_manager_ = new net::SdchManager(); |
| #if defined(OS_MACOSX) && !defined(OS_IOS) |
| // Start observing Keychain events. This needs to be done on the UI thread, |
| // as Keychain services requires a CFRunLoop. |
| - BrowserThread::PostTask(BrowserThread::UI, |
| - FROM_HERE, |
| - base::Bind(&ObserveKeychainEvents)); |
| + BrowserThread::PostTask( |
| + BrowserThread::UI, FROM_HERE, base::Bind(&ObserveKeychainEvents)); |
| #endif |
| // InitSystemRequestContext turns right around and posts a task back |
| @@ -622,6 +613,16 @@ void IOThread::Init() { |
| weak_factory_.GetWeakPtr())); |
| } |
| +void IOThread::Init() { |
| + TRACE_EVENT0("startup", "IOThread::Init"); |
| + DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); |
|
awong
2013/07/10 18:45:47
This confuses me...
My understanding of the origi
|
| + |
| + BrowserThread::PostTask( |
| + BrowserThread::IO, |
| + FROM_HERE, |
| + base::Bind(&IOThread::DoInitTasks, base::Unretained(this))); |
| +} |
| + |
| void IOThread::CleanUp() { |
| base::debug::LeakTracker<SafeBrowsingURLRequestContext>::CheckForLeaks(); |