OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/io_thread.h" | 5 #include "chrome/browser/io_thread.h" |
6 | 6 |
7 #include <vector> | 7 #include <vector> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/bind_helpers.h" | 10 #include "base/bind_helpers.h" |
11 #include "base/command_line.h" | 11 #include "base/command_line.h" |
12 #include "base/compiler_specific.h" | 12 #include "base/compiler_specific.h" |
13 #include "base/debug/leak_tracker.h" | 13 #include "base/debug/leak_tracker.h" |
14 #include "base/logging.h" | 14 #include "base/logging.h" |
15 #include "base/stl_util.h" | 15 #include "base/stl_util.h" |
16 #include "base/string_number_conversions.h" | 16 #include "base/string_number_conversions.h" |
17 #include "base/string_split.h" | 17 #include "base/string_split.h" |
18 #include "base/string_util.h" | 18 #include "base/string_util.h" |
19 #include "base/threading/thread.h" | 19 #include "base/threading/thread.h" |
20 #include "base/threading/worker_pool.h" | 20 #include "base/threading/worker_pool.h" |
21 #include "build/build_config.h" | 21 #include "build/build_config.h" |
22 #include "chrome/browser/browser_process.h" | 22 #include "chrome/browser/browser_process.h" |
23 #include "chrome/browser/extensions/event_router_forwarder.h" | 23 #include "chrome/browser/extensions/event_router_forwarder.h" |
| 24 #include "chrome/browser/net/cache_stats.h" |
24 #include "chrome/browser/net/chrome_net_log.h" | 25 #include "chrome/browser/net/chrome_net_log.h" |
25 #include "chrome/browser/net/chrome_network_delegate.h" | 26 #include "chrome/browser/net/chrome_network_delegate.h" |
26 #include "chrome/browser/net/chrome_url_request_context.h" | 27 #include "chrome/browser/net/chrome_url_request_context.h" |
27 #include "chrome/browser/net/connect_interceptor.h" | 28 #include "chrome/browser/net/connect_interceptor.h" |
28 #include "chrome/browser/net/http_pipelining_compatibility_client.h" | 29 #include "chrome/browser/net/http_pipelining_compatibility_client.h" |
29 #include "chrome/browser/net/pref_proxy_config_tracker.h" | 30 #include "chrome/browser/net/pref_proxy_config_tracker.h" |
30 #include "chrome/browser/net/proxy_service_factory.h" | 31 #include "chrome/browser/net/proxy_service_factory.h" |
31 #include "chrome/browser/net/sdch_dictionary_fetcher.h" | 32 #include "chrome/browser/net/sdch_dictionary_fetcher.h" |
32 #include "chrome/browser/prefs/pref_service.h" | 33 #include "chrome/browser/prefs/pref_service.h" |
33 #include "chrome/common/chrome_switches.h" | 34 #include "chrome/common/chrome_switches.h" |
(...skipping 361 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
395 new LoggingNetworkChangeObserver(net_log_)); | 396 new LoggingNetworkChangeObserver(net_log_)); |
396 | 397 |
397 globals_->extension_event_router_forwarder = | 398 globals_->extension_event_router_forwarder = |
398 extension_event_router_forwarder_; | 399 extension_event_router_forwarder_; |
399 ChromeNetworkDelegate* network_delegate = new ChromeNetworkDelegate( | 400 ChromeNetworkDelegate* network_delegate = new ChromeNetworkDelegate( |
400 extension_event_router_forwarder_, | 401 extension_event_router_forwarder_, |
401 NULL, | 402 NULL, |
402 NULL, | 403 NULL, |
403 NULL, | 404 NULL, |
404 NULL, | 405 NULL, |
405 &system_enable_referrers_); | 406 &system_enable_referrers_, |
| 407 NULL); |
406 if (CommandLine::ForCurrentProcess()->HasSwitch( | 408 if (CommandLine::ForCurrentProcess()->HasSwitch( |
407 switches::kDisableExtensionsHttpThrottling)) { | 409 switches::kDisableExtensionsHttpThrottling)) { |
408 network_delegate->NeverThrottleRequests(); | 410 network_delegate->NeverThrottleRequests(); |
409 } | 411 } |
410 globals_->system_network_delegate.reset(network_delegate); | 412 globals_->system_network_delegate.reset(network_delegate); |
411 globals_->host_resolver.reset( | 413 globals_->host_resolver.reset( |
412 CreateGlobalHostResolver(net_log_)); | 414 CreateGlobalHostResolver(net_log_)); |
413 globals_->cert_verifier.reset(net::CertVerifier::CreateDefault()); | 415 globals_->cert_verifier.reset(net::CertVerifier::CreateDefault()); |
414 globals_->transport_security_state.reset(new net::TransportSecurityState()); | 416 globals_->transport_security_state.reset(new net::TransportSecurityState()); |
415 globals_->ssl_config_service = GetSSLConfigService(); | 417 globals_->ssl_config_service = GetSSLConfigService(); |
416 globals_->http_auth_handler_factory.reset(CreateDefaultAuthHandlerFactory( | 418 globals_->http_auth_handler_factory.reset(CreateDefaultAuthHandlerFactory( |
417 globals_->host_resolver.get())); | 419 globals_->host_resolver.get())); |
418 globals_->http_server_properties.reset(new net::HttpServerPropertiesImpl); | 420 globals_->http_server_properties.reset(new net::HttpServerPropertiesImpl); |
419 // For the ProxyScriptFetcher, we use a direct ProxyService. | 421 // For the ProxyScriptFetcher, we use a direct ProxyService. |
420 globals_->proxy_script_fetcher_proxy_service.reset( | 422 globals_->proxy_script_fetcher_proxy_service.reset( |
421 net::ProxyService::CreateDirectWithNetLog(net_log_)); | 423 net::ProxyService::CreateDirectWithNetLog(net_log_)); |
422 // In-memory cookie store. | 424 // In-memory cookie store. |
423 globals_->system_cookie_store = new net::CookieMonster(NULL, NULL); | 425 globals_->system_cookie_store = new net::CookieMonster(NULL, NULL); |
424 // In-memory server bound cert store. | 426 // In-memory server bound cert store. |
425 globals_->system_server_bound_cert_service.reset( | 427 globals_->system_server_bound_cert_service.reset( |
426 new net::ServerBoundCertService( | 428 new net::ServerBoundCertService( |
427 new net::DefaultServerBoundCertStore(NULL), | 429 new net::DefaultServerBoundCertStore(NULL), |
428 base::WorkerPool::GetTaskRunner(true))); | 430 base::WorkerPool::GetTaskRunner(true))); |
| 431 globals_->cache_stats.reset(new chrome_browser_net::CacheStats()); |
429 net::HttpNetworkSession::Params session_params; | 432 net::HttpNetworkSession::Params session_params; |
430 session_params.host_resolver = globals_->host_resolver.get(); | 433 session_params.host_resolver = globals_->host_resolver.get(); |
431 session_params.cert_verifier = globals_->cert_verifier.get(); | 434 session_params.cert_verifier = globals_->cert_verifier.get(); |
432 session_params.server_bound_cert_service = | 435 session_params.server_bound_cert_service = |
433 globals_->system_server_bound_cert_service.get(); | 436 globals_->system_server_bound_cert_service.get(); |
434 session_params.transport_security_state = | 437 session_params.transport_security_state = |
435 globals_->transport_security_state.get(); | 438 globals_->transport_security_state.get(); |
436 session_params.proxy_service = | 439 session_params.proxy_service = |
437 globals_->proxy_script_fetcher_proxy_service.get(); | 440 globals_->proxy_script_fetcher_proxy_service.get(); |
438 session_params.http_auth_handler_factory = | 441 session_params.http_auth_handler_factory = |
(...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
624 new net::HttpNetworkLayer( | 627 new net::HttpNetworkLayer( |
625 new net::HttpNetworkSession(system_params))); | 628 new net::HttpNetworkSession(system_params))); |
626 globals_->system_ftp_transaction_factory.reset( | 629 globals_->system_ftp_transaction_factory.reset( |
627 new net::FtpNetworkLayer(globals_->host_resolver.get())); | 630 new net::FtpNetworkLayer(globals_->host_resolver.get())); |
628 globals_->system_request_context.reset( | 631 globals_->system_request_context.reset( |
629 ConstructSystemRequestContext(globals_, net_log_)); | 632 ConstructSystemRequestContext(globals_, net_log_)); |
630 | 633 |
631 sdch_manager_->set_sdch_fetcher( | 634 sdch_manager_->set_sdch_fetcher( |
632 new SdchDictionaryFetcher(system_url_request_context_getter_.get())); | 635 new SdchDictionaryFetcher(system_url_request_context_getter_.get())); |
633 } | 636 } |
OLD | NEW |