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 <utility> | 7 #include <utility> |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/base64.h" | 10 #include "base/base64.h" |
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
101 #include "net/ssl/channel_id_service.h" | 101 #include "net/ssl/channel_id_service.h" |
102 #include "net/ssl/default_channel_id_store.h" | 102 #include "net/ssl/default_channel_id_store.h" |
103 #include "net/url_request/data_protocol_handler.h" | 103 #include "net/url_request/data_protocol_handler.h" |
104 #include "net/url_request/file_protocol_handler.h" | 104 #include "net/url_request/file_protocol_handler.h" |
105 #include "net/url_request/ftp_protocol_handler.h" | 105 #include "net/url_request/ftp_protocol_handler.h" |
106 #include "net/url_request/static_http_user_agent_settings.h" | 106 #include "net/url_request/static_http_user_agent_settings.h" |
107 #include "net/url_request/url_fetcher.h" | 107 #include "net/url_request/url_fetcher.h" |
108 #include "net/url_request/url_request_context.h" | 108 #include "net/url_request/url_request_context.h" |
109 #include "net/url_request/url_request_context_builder.h" | 109 #include "net/url_request/url_request_context_builder.h" |
110 #include "net/url_request/url_request_context_getter.h" | 110 #include "net/url_request/url_request_context_getter.h" |
111 #include "net/url_request/url_request_context_storage.h" | |
111 #include "net/url_request/url_request_job_factory_impl.h" | 112 #include "net/url_request/url_request_job_factory_impl.h" |
112 #include "url/url_constants.h" | 113 #include "url/url_constants.h" |
113 | 114 |
114 #if BUILDFLAG(ENABLE_EXTENSIONS) | 115 #if BUILDFLAG(ENABLE_EXTENSIONS) |
115 #include "chrome/browser/extensions/event_router_forwarder.h" | 116 #include "chrome/browser/extensions/event_router_forwarder.h" |
116 #endif | 117 #endif |
117 | 118 |
118 #if defined(USE_NSS_CERTS) | 119 #if defined(USE_NSS_CERTS) |
119 #include "net/cert_net/nss_ocsp.h" | 120 #include "net/cert_net/nss_ocsp.h" |
120 #endif | 121 #endif |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
189 SystemURLRequestContext() { | 190 SystemURLRequestContext() { |
190 #if defined(USE_NSS_CERTS) | 191 #if defined(USE_NSS_CERTS) |
191 net::SetURLRequestContextForNSSHttpIO(this); | 192 net::SetURLRequestContextForNSSHttpIO(this); |
192 #endif | 193 #endif |
193 #if defined(OS_ANDROID) | 194 #if defined(OS_ANDROID) |
194 net::CertVerifyProcAndroid::SetCertNetFetcher( | 195 net::CertVerifyProcAndroid::SetCertNetFetcher( |
195 net::CreateCertNetFetcher(this)); | 196 net::CreateCertNetFetcher(this)); |
196 #endif | 197 #endif |
197 } | 198 } |
198 | 199 |
199 private: | |
200 ~SystemURLRequestContext() override { | 200 ~SystemURLRequestContext() override { |
201 AssertNoURLRequests(); | 201 AssertNoURLRequests(); |
202 #if defined(USE_NSS_CERTS) | 202 #if defined(USE_NSS_CERTS) |
203 net::SetURLRequestContextForNSSHttpIO(NULL); | 203 net::SetURLRequestContextForNSSHttpIO(NULL); |
204 #endif | 204 #endif |
205 | 205 |
206 #if defined(OS_ANDROID) | 206 #if defined(OS_ANDROID) |
207 net::CertVerifyProcAndroid::ShutdownCertNetFetcher(); | 207 net::CertVerifyProcAndroid::ShutdownCertNetFetcher(); |
208 #endif | 208 #endif |
209 } | 209 } |
210 | |
211 private: | |
212 DISALLOW_COPY_AND_ASSIGN(SystemURLRequestContext); | |
210 }; | 213 }; |
211 | 214 |
212 std::unique_ptr<net::HostResolver> CreateGlobalHostResolver( | 215 std::unique_ptr<net::HostResolver> CreateGlobalHostResolver( |
213 net::NetLog* net_log) { | 216 net::NetLog* net_log) { |
214 TRACE_EVENT0("startup", "IOThread::CreateGlobalHostResolver"); | 217 TRACE_EVENT0("startup", "IOThread::CreateGlobalHostResolver"); |
215 const base::CommandLine& command_line = | 218 const base::CommandLine& command_line = |
216 *base::CommandLine::ForCurrentProcess(); | 219 *base::CommandLine::ForCurrentProcess(); |
217 | 220 |
218 net::HostResolver::Options options; | 221 net::HostResolver::Options options; |
219 | 222 |
(...skipping 403 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
623 globals_->ct_policy_enforcer.reset(new net::CTPolicyEnforcer()); | 626 globals_->ct_policy_enforcer.reset(new net::CTPolicyEnforcer()); |
624 params_.ct_policy_enforcer = globals_->ct_policy_enforcer.get(); | 627 params_.ct_policy_enforcer = globals_->ct_policy_enforcer.get(); |
625 | 628 |
626 globals_->ssl_config_service = GetSSLConfigService(); | 629 globals_->ssl_config_service = GetSSLConfigService(); |
627 | 630 |
628 CreateDefaultAuthHandlerFactory(); | 631 CreateDefaultAuthHandlerFactory(); |
629 globals_->http_server_properties.reset(new net::HttpServerPropertiesImpl()); | 632 globals_->http_server_properties.reset(new net::HttpServerPropertiesImpl()); |
630 // For the ProxyScriptFetcher, we use a direct ProxyService. | 633 // For the ProxyScriptFetcher, we use a direct ProxyService. |
631 globals_->proxy_script_fetcher_proxy_service = | 634 globals_->proxy_script_fetcher_proxy_service = |
632 net::ProxyService::CreateDirectWithNetLog(net_log_); | 635 net::ProxyService::CreateDirectWithNetLog(net_log_); |
633 // In-memory cookie store. | |
634 globals_->system_cookie_store = | |
635 content::CreateCookieStore(content::CookieStoreConfig()); | |
636 // In-memory channel ID store. | |
637 globals_->system_channel_id_service.reset( | |
638 new net::ChannelIDService(new net::DefaultChannelIDStore(NULL))); | |
639 globals_->system_cookie_store->SetChannelIDServiceID( | |
640 globals_->system_channel_id_service->GetUniqueID()); | |
641 globals_->dns_probe_service.reset(new chrome_browser_net::DnsProbeService()); | 636 globals_->dns_probe_service.reset(new chrome_browser_net::DnsProbeService()); |
642 globals_->host_mapping_rules.reset(new net::HostMappingRules()); | 637 globals_->host_mapping_rules.reset(new net::HostMappingRules()); |
643 params_.host_mapping_rules = globals_->host_mapping_rules.get(); | 638 params_.host_mapping_rules = globals_->host_mapping_rules.get(); |
644 globals_->http_user_agent_settings.reset( | 639 globals_->http_user_agent_settings.reset( |
645 new net::StaticHttpUserAgentSettings(std::string(), GetUserAgent())); | 640 new net::StaticHttpUserAgentSettings(std::string(), GetUserAgent())); |
646 if (command_line.HasSwitch(switches::kHostRules)) { | 641 if (command_line.HasSwitch(switches::kHostRules)) { |
647 TRACE_EVENT_BEGIN0("startup", "IOThread::InitAsync:SetRulesFromString"); | 642 TRACE_EVENT_BEGIN0("startup", "IOThread::InitAsync:SetRulesFromString"); |
648 globals_->host_mapping_rules->SetRulesFromString( | 643 globals_->host_mapping_rules->SetRulesFromString( |
649 command_line.GetSwitchValueASCII(switches::kHostRules)); | 644 command_line.GetSwitchValueASCII(switches::kHostRules)); |
650 TRACE_EVENT_END0("startup", "IOThread::InitAsync:SetRulesFromString"); | 645 TRACE_EVENT_END0("startup", "IOThread::InitAsync:SetRulesFromString"); |
651 } | 646 } |
652 globals_->enable_brotli = | 647 globals_->enable_brotli = |
653 base::FeatureList::IsEnabled(features::kBrotliEncoding); | 648 base::FeatureList::IsEnabled(features::kBrotliEncoding); |
654 params_.enable_token_binding = | 649 params_.enable_token_binding = |
655 base::FeatureList::IsEnabled(features::kTokenBinding); | 650 base::FeatureList::IsEnabled(features::kTokenBinding); |
656 | 651 |
657 // Check for OS support of TCP FastOpen, and turn it on for all connections if | 652 // Check for OS support of TCP FastOpen, and turn it on for all connections if |
658 // indicated by user. | 653 // indicated by user. |
659 // TODO(rch): Make the client socket factory a per-network session instance, | 654 // TODO(rch): Make the client socket factory a per-network session instance, |
660 // constructed from a NetworkSession::Params, to allow us to move this option | 655 // constructed from a NetworkSession::Params, to allow us to move this option |
661 // to IOThread::Globals & HttpNetworkSession::Params. | 656 // to IOThread::Globals & HttpNetworkSession::Params. |
662 bool always_enable_tfo_if_supported = | 657 bool always_enable_tfo_if_supported = |
663 command_line.HasSwitch(switches::kEnableTcpFastOpen); | 658 command_line.HasSwitch(switches::kEnableTcpFastOpen); |
664 net::CheckSupportAndMaybeEnableTCPFastOpen(always_enable_tfo_if_supported); | 659 net::CheckSupportAndMaybeEnableTCPFastOpen(always_enable_tfo_if_supported); |
665 | 660 |
666 ConfigureParamsFromFieldTrialsAndCommandLine( | 661 ConfigureParamsFromFieldTrialsAndCommandLine( |
667 command_line, is_quic_allowed_by_policy_, | 662 command_line, is_quic_allowed_by_policy_, |
668 http_09_on_non_default_ports_enabled_, ¶ms_); | 663 http_09_on_non_default_ports_enabled_, ¶ms_); |
669 | 664 |
670 TRACE_EVENT_BEGIN0("startup", | |
671 "IOThread::Init:ProxyScriptFetcherRequestContext"); | |
672 globals_->proxy_script_fetcher_context.reset( | |
673 ConstructProxyScriptFetcherContext(globals_, params_, net_log_)); | |
674 TRACE_EVENT_END0("startup", | |
675 "IOThread::Init:ProxyScriptFetcherRequestContext"); | |
676 | |
677 #if defined(OS_MACOSX) | 665 #if defined(OS_MACOSX) |
678 // Start observing Keychain events. This needs to be done on the UI thread, | 666 // Start observing Keychain events. This needs to be done on the UI thread, |
679 // as Keychain services requires a CFRunLoop. | 667 // as Keychain services requires a CFRunLoop. |
680 BrowserThread::PostTask(BrowserThread::UI, | 668 BrowserThread::PostTask(BrowserThread::UI, |
681 FROM_HERE, | 669 FROM_HERE, |
682 base::Bind(&ObserveKeychainEvents)); | 670 base::Bind(&ObserveKeychainEvents)); |
683 #endif | 671 #endif |
684 | 672 |
685 #if defined(OS_ANDROID) && defined(ARCH_CPU_ARMEL) | 673 #if defined(OS_ANDROID) && defined(ARCH_CPU_ARMEL) |
686 // Record how common CPUs with broken NEON units are. See | 674 // Record how common CPUs with broken NEON units are. See |
687 // https://crbug.com/341598. | 675 // https://crbug.com/341598. |
688 crypto::EnsureOpenSSLInit(); | 676 crypto::EnsureOpenSSLInit(); |
689 UMA_HISTOGRAM_BOOLEAN("Net.HasBrokenNEON", CRYPTO_has_broken_NEON()); | 677 UMA_HISTOGRAM_BOOLEAN("Net.HasBrokenNEON", CRYPTO_has_broken_NEON()); |
690 #endif | 678 #endif |
691 | 679 |
692 globals_->system_proxy_service = ProxyServiceFactory::CreateProxyService( | 680 ConstructSystemRequestContext(); |
693 net_log_, globals_->proxy_script_fetcher_context.get(), | |
694 globals_->system_network_delegate.get(), | |
695 std::move(system_proxy_config_service_), command_line, | |
696 WpadQuickCheckEnabled(), PacHttpsUrlStrippingEnabled()); | |
697 | |
698 globals_->system_request_context.reset( | |
699 ConstructSystemRequestContext(globals_, params_, net_log_)); | |
700 } | 681 } |
701 | 682 |
702 void IOThread::CleanUp() { | 683 void IOThread::CleanUp() { |
703 base::debug::LeakTracker<SafeBrowsingURLRequestContext>::CheckForLeaks(); | 684 base::debug::LeakTracker<SafeBrowsingURLRequestContext>::CheckForLeaks(); |
704 | 685 |
705 #if defined(USE_NSS_CERTS) | 686 #if defined(USE_NSS_CERTS) |
706 net::ShutdownNSSHttpIO(); | 687 net::ShutdownNSSHttpIO(); |
707 #endif | 688 #endif |
708 | 689 |
709 system_url_request_context_getter_ = NULL; | 690 system_url_request_context_getter_ = NULL; |
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
813 host_cache->ClearForHosts(host_filter); | 794 host_cache->ClearForHosts(host_filter); |
814 } | 795 } |
815 | 796 |
816 const net::HttpNetworkSession::Params& IOThread::NetworkSessionParams() const { | 797 const net::HttpNetworkSession::Params& IOThread::NetworkSessionParams() const { |
817 return params_; | 798 return params_; |
818 } | 799 } |
819 | 800 |
820 void IOThread::DisableQuic() { | 801 void IOThread::DisableQuic() { |
821 params_.enable_quic = false; | 802 params_.enable_quic = false; |
822 | 803 |
823 if (globals_->system_http_network_session) | 804 if (globals_->system_request_context_storage) |
824 globals_->system_http_network_session->DisableQuic(); | 805 globals_->system_request_context_storage->http_network_session() |
806 ->DisableQuic(); | |
825 | 807 |
826 if (globals_->proxy_script_fetcher_http_network_session) | 808 if (globals_->proxy_script_fetcher_http_network_session) |
827 globals_->proxy_script_fetcher_http_network_session->DisableQuic(); | 809 globals_->proxy_script_fetcher_http_network_session->DisableQuic(); |
828 } | 810 } |
829 | 811 |
830 base::TimeTicks IOThread::creation_time() const { | 812 base::TimeTicks IOThread::creation_time() const { |
831 return creation_time_; | 813 return creation_time_; |
832 } | 814 } |
833 | 815 |
834 net::SSLConfigService* IOThread::GetSSLConfigService() { | 816 net::SSLConfigService* IOThread::GetSSLConfigService() { |
(...skipping 21 matching lines...) Expand all Loading... | |
856 } | 838 } |
857 | 839 |
858 bool IOThread::WpadQuickCheckEnabled() const { | 840 bool IOThread::WpadQuickCheckEnabled() const { |
859 return quick_check_enabled_.GetValue(); | 841 return quick_check_enabled_.GetValue(); |
860 } | 842 } |
861 | 843 |
862 bool IOThread::PacHttpsUrlStrippingEnabled() const { | 844 bool IOThread::PacHttpsUrlStrippingEnabled() const { |
863 return pac_https_url_stripping_enabled_.GetValue(); | 845 return pac_https_url_stripping_enabled_.GetValue(); |
864 } | 846 } |
865 | 847 |
866 // static | 848 void IOThread::ConstructSystemRequestContext() { |
867 net::URLRequestContext* IOThread::ConstructSystemRequestContext( | 849 globals_->system_request_context = |
868 IOThread::Globals* globals, | 850 base::MakeUnique<SystemURLRequestContext>(); |
869 const net::HttpNetworkSession::Params& params, | 851 net::URLRequestContext* context = globals_->system_request_context.get(); |
870 net::NetLog* net_log) { | 852 globals_->system_request_context_storage = |
871 net::URLRequestContext* context = new SystemURLRequestContext; | 853 base::MakeUnique<net::URLRequestContextStorage>(context); |
854 net::URLRequestContextStorage* context_storage = | |
855 globals_->system_request_context_storage.get(); | |
872 | 856 |
873 context->set_network_quality_estimator( | 857 context->set_network_quality_estimator( |
874 globals->network_quality_estimator.get()); | 858 globals_->network_quality_estimator.get()); |
875 context->set_enable_brotli(globals->enable_brotli); | 859 context->set_enable_brotli(globals_->enable_brotli); |
876 context->set_name("system"); | 860 context->set_name("system"); |
877 | 861 |
878 context->set_http_user_agent_settings( | 862 context->set_http_user_agent_settings( |
879 globals->http_user_agent_settings.get()); | 863 globals_->http_user_agent_settings.get()); |
880 context->set_network_delegate(globals->system_network_delegate.get()); | 864 context->set_network_delegate(globals_->system_network_delegate.get()); |
881 context->set_net_log(net_log); | 865 context->set_net_log(net_log_); |
882 context->set_host_resolver(globals->host_resolver.get()); | 866 context->set_host_resolver(globals_->host_resolver.get()); |
883 context->set_proxy_service(globals->system_proxy_service.get()); | 867 |
884 context->set_ssl_config_service(globals->ssl_config_service.get()); | 868 context->set_ssl_config_service(globals_->ssl_config_service.get()); |
885 context->set_http_auth_handler_factory( | 869 context->set_http_auth_handler_factory( |
886 globals->http_auth_handler_factory.get()); | 870 globals_->http_auth_handler_factory.get()); |
887 | 871 |
888 context->set_cookie_store(globals->system_cookie_store.get()); | 872 // In-memory cookie store. |
889 context->set_channel_id_service( | 873 context_storage->set_cookie_store( |
890 globals->system_channel_id_service.get()); | 874 content::CreateCookieStore(content::CookieStoreConfig())); |
875 // In-memory channel ID store. | |
876 context_storage->set_channel_id_service( | |
877 base::MakeUnique<net::ChannelIDService>( | |
878 new net::DefaultChannelIDStore(nullptr))); | |
879 context->cookie_store()->SetChannelIDServiceID( | |
880 context->channel_id_service()->GetUniqueID()); | |
881 | |
891 context->set_transport_security_state( | 882 context->set_transport_security_state( |
892 globals->transport_security_state.get()); | 883 globals_->transport_security_state.get()); |
893 | 884 |
894 context->set_http_server_properties(globals->http_server_properties.get()); | 885 context->set_http_server_properties(globals_->http_server_properties.get()); |
895 | 886 |
896 context->set_cert_verifier(globals->cert_verifier.get()); | 887 context->set_cert_verifier(globals_->cert_verifier.get()); |
897 context->set_cert_transparency_verifier( | 888 context->set_cert_transparency_verifier( |
898 globals->cert_transparency_verifier.get()); | 889 globals_->cert_transparency_verifier.get()); |
899 context->set_ct_policy_enforcer(globals->ct_policy_enforcer.get()); | 890 context->set_ct_policy_enforcer(globals_->ct_policy_enforcer.get()); |
900 | 891 |
901 net::HttpNetworkSession::Params system_params(params); | 892 TRACE_EVENT_BEGIN0("startup", |
893 "IOThread::Init:ProxyScriptFetcherRequestContext"); | |
894 globals_->proxy_script_fetcher_context.reset( | |
895 ConstructProxyScriptFetcherContext(globals_, params_, net_log_)); | |
896 TRACE_EVENT_END0("startup", | |
897 "IOThread::Init:ProxyScriptFetcherRequestContext"); | |
898 | |
899 const base::CommandLine& command_line = | |
900 *base::CommandLine::ForCurrentProcess(); | |
901 context_storage->set_proxy_service(ProxyServiceFactory::CreateProxyService( | |
902 net_log_, globals_->proxy_script_fetcher_context.get(), | |
903 globals_->system_network_delegate.get(), | |
904 std::move(system_proxy_config_service_), command_line, | |
905 WpadQuickCheckEnabled(), PacHttpsUrlStrippingEnabled())); | |
mmenke
2017/05/10 18:07:54
Had to move proxy creation to just before it's use
Randy Smith (Not in Mondays)
2017/05/10 21:54:48
I'm missing the dependencies; can you spell them o
| |
906 | |
907 net::HttpNetworkSession::Params system_params(params_); | |
902 net::URLRequestContextBuilder::SetHttpNetworkSessionComponents( | 908 net::URLRequestContextBuilder::SetHttpNetworkSessionComponents( |
903 context, &system_params); | 909 context, &system_params); |
904 | 910 |
905 globals->system_http_network_session.reset( | 911 context_storage->set_http_network_session( |
906 new net::HttpNetworkSession(system_params)); | 912 base::MakeUnique<net::HttpNetworkSession>(system_params)); |
907 globals->system_http_transaction_factory.reset( | 913 context_storage->set_http_transaction_factory( |
908 new net::HttpNetworkLayer(globals->system_http_network_session.get())); | 914 base::MakeUnique<net::HttpNetworkLayer>( |
915 context_storage->http_network_session())); | |
909 | 916 |
910 context->set_http_transaction_factory( | 917 context_storage->set_job_factory( |
911 globals->system_http_transaction_factory.get()); | 918 base::MakeUnique<net::URLRequestJobFactoryImpl>()); |
912 | |
913 globals->system_url_request_job_factory.reset( | |
914 new net::URLRequestJobFactoryImpl()); | |
915 context->set_job_factory(globals->system_url_request_job_factory.get()); | |
916 | |
917 return context; | |
918 } | 919 } |
919 | 920 |
920 // static | 921 // static |
921 void IOThread::ConfigureParamsFromFieldTrialsAndCommandLine( | 922 void IOThread::ConfigureParamsFromFieldTrialsAndCommandLine( |
922 const base::CommandLine& command_line, | 923 const base::CommandLine& command_line, |
923 bool is_quic_allowed_by_policy, | 924 bool is_quic_allowed_by_policy, |
924 bool http_09_on_non_default_ports_enabled, | 925 bool http_09_on_non_default_ports_enabled, |
925 net::HttpNetworkSession::Params* params) { | 926 net::HttpNetworkSession::Params* params) { |
926 std::string quic_user_agent_id = chrome::GetChannelString(); | 927 std::string quic_user_agent_id = chrome::GetChannelString(); |
927 if (!quic_user_agent_id.empty()) | 928 if (!quic_user_agent_id.empty()) |
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1026 globals->cert_transparency_verifier.get()); | 1027 globals->cert_transparency_verifier.get()); |
1027 context->set_ct_policy_enforcer(globals->ct_policy_enforcer.get()); | 1028 context->set_ct_policy_enforcer(globals->ct_policy_enforcer.get()); |
1028 context->set_ssl_config_service(globals->ssl_config_service.get()); | 1029 context->set_ssl_config_service(globals->ssl_config_service.get()); |
1029 context->set_http_auth_handler_factory( | 1030 context->set_http_auth_handler_factory( |
1030 globals->http_auth_handler_factory.get()); | 1031 globals->http_auth_handler_factory.get()); |
1031 context->set_proxy_service(globals->proxy_script_fetcher_proxy_service.get()); | 1032 context->set_proxy_service(globals->proxy_script_fetcher_proxy_service.get()); |
1032 | 1033 |
1033 context->set_job_factory( | 1034 context->set_job_factory( |
1034 globals->proxy_script_fetcher_url_request_job_factory.get()); | 1035 globals->proxy_script_fetcher_url_request_job_factory.get()); |
1035 | 1036 |
1036 context->set_cookie_store(globals->system_cookie_store.get()); | 1037 context->set_cookie_store(globals->system_request_context->cookie_store()); |
1037 context->set_channel_id_service( | 1038 context->set_channel_id_service( |
1038 globals->system_channel_id_service.get()); | 1039 globals->system_request_context->channel_id_service()); |
1039 context->set_network_delegate(globals->system_network_delegate.get()); | 1040 context->set_network_delegate(globals->system_network_delegate.get()); |
1040 context->set_http_user_agent_settings( | 1041 context->set_http_user_agent_settings( |
1041 globals->http_user_agent_settings.get()); | 1042 globals->http_user_agent_settings.get()); |
1042 context->set_http_server_properties(globals->http_server_properties.get()); | 1043 context->set_http_server_properties(globals->http_server_properties.get()); |
1043 | 1044 |
1044 context->set_enable_brotli(globals->enable_brotli); | 1045 context->set_enable_brotli(globals->enable_brotli); |
1045 | 1046 |
1046 net::HttpNetworkSession::Params session_params(params); | 1047 net::HttpNetworkSession::Params session_params(params); |
1047 net::URLRequestContextBuilder::SetHttpNetworkSessionComponents( | 1048 net::URLRequestContextBuilder::SetHttpNetworkSessionComponents( |
1048 context, &session_params); | 1049 context, &session_params); |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1080 | 1081 |
1081 // TODO(rtenneti): We should probably use HttpServerPropertiesManager for the | 1082 // TODO(rtenneti): We should probably use HttpServerPropertiesManager for the |
1082 // system URLRequestContext too. There's no reason this should be tied to a | 1083 // system URLRequestContext too. There's no reason this should be tied to a |
1083 // profile. | 1084 // profile. |
1084 return context; | 1085 return context; |
1085 } | 1086 } |
1086 | 1087 |
1087 metrics::UpdateUsagePrefCallbackType IOThread::GetMetricsDataUseForwarder() { | 1088 metrics::UpdateUsagePrefCallbackType IOThread::GetMetricsDataUseForwarder() { |
1088 return base::Bind(&UpdateMetricsUsagePrefsOnUIThread); | 1089 return base::Bind(&UpdateMetricsUsagePrefsOnUIThread); |
1089 } | 1090 } |
OLD | NEW |