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" |
(...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
215 context->set_cookie_store(globals->system_cookie_store.get()); | 215 context->set_cookie_store(globals->system_cookie_store.get()); |
216 context->set_server_bound_cert_service( | 216 context->set_server_bound_cert_service( |
217 globals->system_server_bound_cert_service.get()); | 217 globals->system_server_bound_cert_service.get()); |
218 context->set_throttler_manager(globals->throttler_manager.get()); | 218 context->set_throttler_manager(globals->throttler_manager.get()); |
219 context->set_network_delegate(globals->system_network_delegate.get()); | 219 context->set_network_delegate(globals->system_network_delegate.get()); |
220 context->set_http_user_agent_settings( | 220 context->set_http_user_agent_settings( |
221 globals->http_user_agent_settings.get()); | 221 globals->http_user_agent_settings.get()); |
222 return context; | 222 return context; |
223 } | 223 } |
224 | 224 |
| 225 void InitializeNetworkSessionParams( |
| 226 const IOThread::Globals& globals, |
| 227 net::HttpNetworkSession::Params* params) { |
| 228 params->host_resolver = globals.host_resolver.get(); |
| 229 params->cert_verifier = globals.cert_verifier.get(); |
| 230 params->server_bound_cert_service = |
| 231 globals.system_server_bound_cert_service.get(); |
| 232 params->transport_security_state = globals.transport_security_state.get(); |
| 233 params->ssl_config_service = globals.ssl_config_service.get(); |
| 234 params->http_auth_handler_factory = globals.http_auth_handler_factory.get(); |
| 235 params->http_server_properties = globals.http_server_properties.get(); |
| 236 params->network_delegate = globals.system_network_delegate.get(); |
| 237 params->host_mapping_rules = globals.host_mapping_rules.get(); |
| 238 params->ignore_certificate_errors = globals.ignore_certificate_errors; |
| 239 params->http_pipelining_enabled = globals.http_pipelining_enabled; |
| 240 params->testing_fixed_http_port = globals.testing_fixed_http_port; |
| 241 params->testing_fixed_https_port = globals.testing_fixed_https_port; |
| 242 } |
| 243 |
225 } // namespace | 244 } // namespace |
226 | 245 |
227 class IOThread::LoggingNetworkChangeObserver | 246 class IOThread::LoggingNetworkChangeObserver |
228 : public net::NetworkChangeNotifier::IPAddressObserver, | 247 : public net::NetworkChangeNotifier::IPAddressObserver, |
229 public net::NetworkChangeNotifier::ConnectionTypeObserver { | 248 public net::NetworkChangeNotifier::ConnectionTypeObserver { |
230 public: | 249 public: |
231 // |net_log| must remain valid throughout our lifetime. | 250 // |net_log| must remain valid throughout our lifetime. |
232 explicit LoggingNetworkChangeObserver(net::NetLog* net_log) | 251 explicit LoggingNetworkChangeObserver(net::NetLog* net_log) |
233 : net_log_(net_log) { | 252 : net_log_(net_log) { |
234 net::NetworkChangeNotifier::AddIPAddressObserver(this); | 253 net::NetworkChangeNotifier::AddIPAddressObserver(this); |
(...skipping 254 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
489 if (command_line.HasSwitch(switches::kTestingFixedHttpsPort)) { | 508 if (command_line.HasSwitch(switches::kTestingFixedHttpsPort)) { |
490 int value; | 509 int value; |
491 base::StringToInt( | 510 base::StringToInt( |
492 command_line.GetSwitchValueASCII( | 511 command_line.GetSwitchValueASCII( |
493 switches::kTestingFixedHttpsPort), | 512 switches::kTestingFixedHttpsPort), |
494 &value); | 513 &value); |
495 globals_->testing_fixed_https_port = value; | 514 globals_->testing_fixed_https_port = value; |
496 } | 515 } |
497 | 516 |
498 net::HttpNetworkSession::Params session_params; | 517 net::HttpNetworkSession::Params session_params; |
499 session_params.host_resolver = globals_->host_resolver.get(); | 518 InitializeNetworkSessionParams(*globals_, &session_params); |
500 session_params.cert_verifier = globals_->cert_verifier.get(); | 519 session_params.net_log = net_log_; |
501 session_params.server_bound_cert_service = | |
502 globals_->system_server_bound_cert_service.get(); | |
503 session_params.transport_security_state = | |
504 globals_->transport_security_state.get(); | |
505 session_params.proxy_service = | 520 session_params.proxy_service = |
506 globals_->proxy_script_fetcher_proxy_service.get(); | 521 globals_->proxy_script_fetcher_proxy_service.get(); |
507 session_params.ssl_config_service = globals_->ssl_config_service.get(); | |
508 session_params.http_auth_handler_factory = | |
509 globals_->http_auth_handler_factory.get(); | |
510 session_params.http_server_properties = | |
511 globals_->http_server_properties.get(); | |
512 session_params.network_delegate = globals_->system_network_delegate.get(); | |
513 // TODO(rtenneti): We should probably use HttpServerPropertiesManager for the | |
514 // system URLRequestContext too. There's no reason this should be tied to a | |
515 // profile. | |
516 session_params.net_log = net_log_; | |
517 session_params.host_mapping_rules = globals_->host_mapping_rules.get(); | |
518 session_params.ignore_certificate_errors = | |
519 globals_->ignore_certificate_errors; | |
520 session_params.http_pipelining_enabled = globals_->http_pipelining_enabled; | |
521 session_params.testing_fixed_http_port = globals_->testing_fixed_http_port; | |
522 session_params.testing_fixed_https_port = globals_->testing_fixed_https_port; | |
523 | 522 |
524 InitializeNetworkOptions(command_line); | 523 InitializeNetworkOptions(command_line); |
525 | 524 |
526 scoped_refptr<net::HttpNetworkSession> network_session( | 525 scoped_refptr<net::HttpNetworkSession> network_session( |
527 new net::HttpNetworkSession(session_params)); | 526 new net::HttpNetworkSession(session_params)); |
528 globals_->proxy_script_fetcher_http_transaction_factory.reset( | 527 globals_->proxy_script_fetcher_http_transaction_factory.reset( |
529 new net::HttpNetworkLayer(network_session)); | 528 new net::HttpNetworkLayer(network_session)); |
530 globals_->proxy_script_fetcher_ftp_transaction_factory.reset( | 529 globals_->proxy_script_fetcher_ftp_transaction_factory.reset( |
531 new net::FtpNetworkLayer(globals_->host_resolver.get())); | 530 new net::FtpNetworkLayer(globals_->host_resolver.get())); |
532 | 531 |
(...skipping 293 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
826 | 825 |
827 const CommandLine& command_line = *CommandLine::ForCurrentProcess(); | 826 const CommandLine& command_line = *CommandLine::ForCurrentProcess(); |
828 globals_->system_proxy_service.reset( | 827 globals_->system_proxy_service.reset( |
829 ProxyServiceFactory::CreateProxyService( | 828 ProxyServiceFactory::CreateProxyService( |
830 net_log_, | 829 net_log_, |
831 globals_->proxy_script_fetcher_context.get(), | 830 globals_->proxy_script_fetcher_context.get(), |
832 system_proxy_config_service_.release(), | 831 system_proxy_config_service_.release(), |
833 command_line)); | 832 command_line)); |
834 | 833 |
835 net::HttpNetworkSession::Params system_params; | 834 net::HttpNetworkSession::Params system_params; |
836 system_params.host_resolver = globals_->host_resolver.get(); | 835 InitializeNetworkSessionParams(*globals_, &system_params); |
837 system_params.cert_verifier = globals_->cert_verifier.get(); | 836 system_params.net_log = net_log_; |
838 system_params.server_bound_cert_service = | |
839 globals_->system_server_bound_cert_service.get(); | |
840 system_params.transport_security_state = | |
841 globals_->transport_security_state.get(); | |
842 system_params.proxy_service = globals_->system_proxy_service.get(); | 837 system_params.proxy_service = globals_->system_proxy_service.get(); |
843 system_params.ssl_config_service = globals_->ssl_config_service.get(); | |
844 system_params.http_auth_handler_factory = | |
845 globals_->http_auth_handler_factory.get(); | |
846 system_params.http_server_properties = globals_->http_server_properties.get(); | |
847 system_params.network_delegate = globals_->system_network_delegate.get(); | |
848 system_params.net_log = net_log_; | |
849 system_params.host_mapping_rules = globals_->host_mapping_rules.get(); | |
850 system_params.ignore_certificate_errors = globals_->ignore_certificate_errors; | |
851 system_params.http_pipelining_enabled = globals_->http_pipelining_enabled; | |
852 system_params.testing_fixed_http_port = globals_->testing_fixed_http_port; | |
853 system_params.testing_fixed_https_port = globals_->testing_fixed_https_port; | |
854 | 838 |
855 globals_->system_http_transaction_factory.reset( | 839 globals_->system_http_transaction_factory.reset( |
856 new net::HttpNetworkLayer( | 840 new net::HttpNetworkLayer( |
857 new net::HttpNetworkSession(system_params))); | 841 new net::HttpNetworkSession(system_params))); |
858 globals_->system_ftp_transaction_factory.reset( | 842 globals_->system_ftp_transaction_factory.reset( |
859 new net::FtpNetworkLayer(globals_->host_resolver.get())); | 843 new net::FtpNetworkLayer(globals_->host_resolver.get())); |
860 globals_->system_request_context.reset( | 844 globals_->system_request_context.reset( |
861 ConstructSystemRequestContext(globals_, net_log_)); | 845 ConstructSystemRequestContext(globals_, net_log_)); |
862 | 846 |
863 sdch_manager_->set_sdch_fetcher( | 847 sdch_manager_->set_sdch_fetcher( |
864 new SdchDictionaryFetcher(system_url_request_context_getter_.get())); | 848 new SdchDictionaryFetcher(system_url_request_context_getter_.get())); |
865 } | 849 } |
866 | 850 |
867 void IOThread::UpdateDnsClientEnabled() { | 851 void IOThread::UpdateDnsClientEnabled() { |
868 globals()->host_resolver->SetDnsClientEnabled(*dns_client_enabled_); | 852 globals()->host_resolver->SetDnsClientEnabled(*dns_client_enabled_); |
869 } | 853 } |
OLD | NEW |