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

Side by Side Diff: chrome/browser/io_thread.cc

Issue 1288383002: Use common code to set HttpNetworkSession::Param pointers. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Remove check, http_cache_enabled_ || !channel_id_service. Created 5 years, 4 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 unified diff | Download patch
OLDNEW
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/base64.h" 9 #include "base/base64.h"
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
80 #include "net/spdy/spdy_session.h" 80 #include "net/spdy/spdy_session.h"
81 #include "net/ssl/channel_id_service.h" 81 #include "net/ssl/channel_id_service.h"
82 #include "net/ssl/default_channel_id_store.h" 82 #include "net/ssl/default_channel_id_store.h"
83 #include "net/url_request/data_protocol_handler.h" 83 #include "net/url_request/data_protocol_handler.h"
84 #include "net/url_request/file_protocol_handler.h" 84 #include "net/url_request/file_protocol_handler.h"
85 #include "net/url_request/ftp_protocol_handler.h" 85 #include "net/url_request/ftp_protocol_handler.h"
86 #include "net/url_request/static_http_user_agent_settings.h" 86 #include "net/url_request/static_http_user_agent_settings.h"
87 #include "net/url_request/url_fetcher.h" 87 #include "net/url_request/url_fetcher.h"
88 #include "net/url_request/url_request_backoff_manager.h" 88 #include "net/url_request/url_request_backoff_manager.h"
89 #include "net/url_request/url_request_context.h" 89 #include "net/url_request/url_request_context.h"
90 #include "net/url_request/url_request_context_builder.h"
90 #include "net/url_request/url_request_context_getter.h" 91 #include "net/url_request/url_request_context_getter.h"
91 #include "net/url_request/url_request_job_factory_impl.h" 92 #include "net/url_request/url_request_job_factory_impl.h"
92 #include "url/url_constants.h" 93 #include "url/url_constants.h"
93 94
94 #if defined(ENABLE_CONFIGURATION_POLICY) 95 #if defined(ENABLE_CONFIGURATION_POLICY)
95 #include "policy/policy_constants.h" 96 #include "policy/policy_constants.h"
96 #endif 97 #endif
97 98
98 #if defined(ENABLE_EXTENSIONS) 99 #if defined(ENABLE_EXTENSIONS)
99 #include "chrome/browser/extensions/event_router_forwarder.h" 100 #include "chrome/browser/extensions/event_router_forwarder.h"
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after
207 if (!command_line.HasSwitch(switches::kHostResolverRules)) 208 if (!command_line.HasSwitch(switches::kHostResolverRules))
208 return global_host_resolver.Pass(); 209 return global_host_resolver.Pass();
209 210
210 scoped_ptr<net::MappedHostResolver> remapped_resolver( 211 scoped_ptr<net::MappedHostResolver> remapped_resolver(
211 new net::MappedHostResolver(global_host_resolver.Pass())); 212 new net::MappedHostResolver(global_host_resolver.Pass()));
212 remapped_resolver->SetRulesFromString( 213 remapped_resolver->SetRulesFromString(
213 command_line.GetSwitchValueASCII(switches::kHostResolverRules)); 214 command_line.GetSwitchValueASCII(switches::kHostResolverRules));
214 return remapped_resolver.Pass(); 215 return remapped_resolver.Pass();
215 } 216 }
216 217
217 // TODO(willchan): Remove proxy script fetcher context since it's not necessary
218 // now that I got rid of refcounting URLRequestContexts.
219 // See IOThread::Globals for details.
220 net::URLRequestContext*
221 ConstructProxyScriptFetcherContext(IOThread::Globals* globals,
222 net::NetLog* net_log) {
223 net::URLRequestContext* context = new net::URLRequestContext;
224 context->set_net_log(net_log);
225 context->set_host_resolver(globals->host_resolver.get());
226 context->set_cert_verifier(globals->cert_verifier.get());
227 context->set_transport_security_state(
228 globals->transport_security_state.get());
229 context->set_cert_transparency_verifier(
230 globals->cert_transparency_verifier.get());
231 context->set_http_auth_handler_factory(
232 globals->http_auth_handler_factory.get());
233 context->set_proxy_service(globals->proxy_script_fetcher_proxy_service.get());
234 context->set_http_transaction_factory(
235 globals->proxy_script_fetcher_http_transaction_factory.get());
236 context->set_job_factory(
237 globals->proxy_script_fetcher_url_request_job_factory.get());
238 context->set_cookie_store(globals->system_cookie_store.get());
239 context->set_channel_id_service(
240 globals->system_channel_id_service.get());
241 context->set_network_delegate(globals->system_network_delegate.get());
242 context->set_http_user_agent_settings(
243 globals->http_user_agent_settings.get());
244 // TODO(rtenneti): We should probably use HttpServerPropertiesManager for the
245 // system URLRequestContext too. There's no reason this should be tied to a
246 // profile.
247 return context;
248 }
249
250 net::URLRequestContext*
251 ConstructSystemRequestContext(IOThread::Globals* globals,
252 net::NetLog* net_log) {
253 net::URLRequestContext* context = new SystemURLRequestContext;
254 context->set_net_log(net_log);
255 context->set_host_resolver(globals->host_resolver.get());
256 context->set_cert_verifier(globals->cert_verifier.get());
257 context->set_transport_security_state(
258 globals->transport_security_state.get());
259 context->set_cert_transparency_verifier(
260 globals->cert_transparency_verifier.get());
261 context->set_http_auth_handler_factory(
262 globals->http_auth_handler_factory.get());
263 context->set_proxy_service(globals->system_proxy_service.get());
264 context->set_http_transaction_factory(
265 globals->system_http_transaction_factory.get());
266 context->set_job_factory(globals->system_url_request_job_factory.get());
267 context->set_cookie_store(globals->system_cookie_store.get());
268 context->set_channel_id_service(
269 globals->system_channel_id_service.get());
270 context->set_network_delegate(globals->system_network_delegate.get());
271 context->set_http_user_agent_settings(
272 globals->http_user_agent_settings.get());
273 context->set_network_quality_estimator(
274 globals->network_quality_estimator.get());
275 context->set_backoff_manager(globals->url_request_backoff_manager.get());
276 return context;
277 }
278
279 int GetSwitchValueAsInt(const base::CommandLine& command_line, 218 int GetSwitchValueAsInt(const base::CommandLine& command_line,
280 const std::string& switch_name) { 219 const std::string& switch_name) {
281 int value; 220 int value;
282 if (!base::StringToInt(command_line.GetSwitchValueASCII(switch_name), 221 if (!base::StringToInt(command_line.GetSwitchValueASCII(switch_name),
283 &value)) { 222 &value)) {
284 return 0; 223 return 0;
285 } 224 }
286 return value; 225 return value;
287 } 226 }
288 227
(...skipping 520 matching lines...) Expand 10 before | Expand all | Expand 10 after
809 switches::kEnableUserAlternateProtocolPorts)) { 748 switches::kEnableUserAlternateProtocolPorts)) {
810 globals_->enable_user_alternate_protocol_ports = true; 749 globals_->enable_user_alternate_protocol_ports = true;
811 } 750 }
812 // TODO(erikchen): Remove ScopedTracker below once http://crbug.com/466432 751 // TODO(erikchen): Remove ScopedTracker below once http://crbug.com/466432
813 // is fixed. 752 // is fixed.
814 tracked_objects::ScopedTracker tracking_profile13( 753 tracked_objects::ScopedTracker tracking_profile13(
815 FROM_HERE_WITH_EXPLICIT_FUNCTION( 754 FROM_HERE_WITH_EXPLICIT_FUNCTION(
816 "466432 IOThread::InitAsync::InitializeNetworkOptions")); 755 "466432 IOThread::InitAsync::InitializeNetworkOptions"));
817 InitializeNetworkOptions(command_line); 756 InitializeNetworkOptions(command_line);
818 757
819 net::HttpNetworkSession::Params session_params;
820 InitializeNetworkSessionParams(&session_params);
821 session_params.net_log = net_log_;
822 session_params.proxy_service =
823 globals_->proxy_script_fetcher_proxy_service.get();
824
825 // TODO(erikchen): Remove ScopedTracker below once http://crbug.com/466432
826 // is fixed.
827 tracked_objects::ScopedTracker tracking_profile14(
828 FROM_HERE_WITH_EXPLICIT_FUNCTION(
829 "466432 IOThread::InitAsync::HttpNetorkSession::Start"));
830 TRACE_EVENT_BEGIN0("startup", "IOThread::InitAsync:HttpNetworkSession");
831 scoped_refptr<net::HttpNetworkSession> network_session(
832 new net::HttpNetworkSession(session_params));
833 // TODO(erikchen): Remove ScopedTracker below once http://crbug.com/466432
834 // is fixed.
835 tracked_objects::ScopedTracker tracking_profile15(
836 FROM_HERE_WITH_EXPLICIT_FUNCTION(
837 "466432 IOThread::InitAsync::HttpNetorkSession::End"));
838 globals_->proxy_script_fetcher_http_transaction_factory
839 .reset(new net::HttpNetworkLayer(network_session.get()));
840 TRACE_EVENT_END0("startup", "IOThread::InitAsync:HttpNetworkSession");
841 scoped_ptr<net::URLRequestJobFactoryImpl> job_factory(
842 new net::URLRequestJobFactoryImpl());
843
844 // TODO(erikchen): Remove ScopedTracker below once http://crbug.com/466432
845 // is fixed.
846 tracked_objects::ScopedTracker tracking_profile16(
847 FROM_HERE_WITH_EXPLICIT_FUNCTION(
848 "466432 IOThread::InitAsync::SetProtocolHandler"));
849 job_factory->SetProtocolHandler(url::kDataScheme,
850 new net::DataProtocolHandler());
851 job_factory->SetProtocolHandler(
852 url::kFileScheme,
853 new net::FileProtocolHandler(
854 content::BrowserThread::GetBlockingPool()->
855 GetTaskRunnerWithShutdownBehavior(
856 base::SequencedWorkerPool::SKIP_ON_SHUTDOWN)));
857 #if !defined(DISABLE_FTP_SUPPORT)
858 globals_->proxy_script_fetcher_ftp_transaction_factory.reset(
859 new net::FtpNetworkLayer(globals_->host_resolver.get()));
860 job_factory->SetProtocolHandler(
861 url::kFtpScheme,
862 new net::FtpProtocolHandler(
863 globals_->proxy_script_fetcher_ftp_transaction_factory.get()));
864 #endif
865 globals_->proxy_script_fetcher_url_request_job_factory = job_factory.Pass();
866
867 globals_->proxy_script_fetcher_context.reset( 758 globals_->proxy_script_fetcher_context.reset(
868 ConstructProxyScriptFetcherContext(globals_, net_log_)); 759 ConstructProxyScriptFetcherContext(globals_, net_log_));
869 760
870 const version_info::Channel channel = chrome::GetChannel(); 761 const version_info::Channel channel = chrome::GetChannel();
871 if (channel == version_info::Channel::UNKNOWN || 762 if (channel == version_info::Channel::UNKNOWN ||
872 channel == version_info::Channel::CANARY || 763 channel == version_info::Channel::CANARY ||
873 channel == version_info::Channel::DEV) { 764 channel == version_info::Channel::DEV) {
874 globals_->url_request_backoff_manager.reset( 765 globals_->url_request_backoff_manager.reset(
875 new net::URLRequestBackoffManager()); 766 new net::URLRequestBackoffManager());
876 } 767 }
(...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after
1093 984
1094 void IOThread::InitializeNetworkSessionParams( 985 void IOThread::InitializeNetworkSessionParams(
1095 net::HttpNetworkSession::Params* params) { 986 net::HttpNetworkSession::Params* params) {
1096 InitializeNetworkSessionParamsFromGlobals(*globals_, params); 987 InitializeNetworkSessionParamsFromGlobals(*globals_, params);
1097 } 988 }
1098 989
1099 // static 990 // static
1100 void IOThread::InitializeNetworkSessionParamsFromGlobals( 991 void IOThread::InitializeNetworkSessionParamsFromGlobals(
1101 const IOThread::Globals& globals, 992 const IOThread::Globals& globals,
1102 net::HttpNetworkSession::Params* params) { 993 net::HttpNetworkSession::Params* params) {
1103 params->host_resolver = globals.host_resolver.get(); 994 // TODO(wjmaclean): The next two properties of the params don't seem to be
1104 params->cert_verifier = globals.cert_verifier.get(); 995 // elements of URLRequestContext, so they must be set here.
996 // Is it OK that they are shared?
1105 params->cert_policy_enforcer = globals.cert_policy_enforcer.get(); 997 params->cert_policy_enforcer = globals.cert_policy_enforcer.get();
1106 params->channel_id_service = globals.system_channel_id_service.get();
1107 params->transport_security_state = globals.transport_security_state.get();
1108 params->ssl_config_service = globals.ssl_config_service.get();
1109 params->http_auth_handler_factory = globals.http_auth_handler_factory.get();
1110 params->http_server_properties =
1111 globals.http_server_properties->GetWeakPtr();
1112 params->network_delegate = globals.system_network_delegate.get();
1113 params->host_mapping_rules = globals.host_mapping_rules.get(); 998 params->host_mapping_rules = globals.host_mapping_rules.get();
999
1114 params->ignore_certificate_errors = globals.ignore_certificate_errors; 1000 params->ignore_certificate_errors = globals.ignore_certificate_errors;
1115 params->testing_fixed_http_port = globals.testing_fixed_http_port; 1001 params->testing_fixed_http_port = globals.testing_fixed_http_port;
1116 params->testing_fixed_https_port = globals.testing_fixed_https_port; 1002 params->testing_fixed_https_port = globals.testing_fixed_https_port;
1117 globals.enable_tcp_fast_open_for_ssl.CopyToIfSet( 1003 globals.enable_tcp_fast_open_for_ssl.CopyToIfSet(
1118 &params->enable_tcp_fast_open_for_ssl); 1004 &params->enable_tcp_fast_open_for_ssl);
1119 1005
1120 globals.initial_max_spdy_concurrent_streams.CopyToIfSet( 1006 globals.initial_max_spdy_concurrent_streams.CopyToIfSet(
1121 &params->spdy_initial_max_concurrent_streams); 1007 &params->spdy_initial_max_concurrent_streams);
1122 globals.enable_spdy_compression.CopyToIfSet( 1008 globals.enable_spdy_compression.CopyToIfSet(
1123 &params->enable_spdy_compression); 1009 &params->enable_spdy_compression);
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
1214 *base::CommandLine::ForCurrentProcess(); 1100 *base::CommandLine::ForCurrentProcess();
1215 globals_->system_proxy_service.reset( 1101 globals_->system_proxy_service.reset(
1216 ProxyServiceFactory::CreateProxyService( 1102 ProxyServiceFactory::CreateProxyService(
1217 net_log_, 1103 net_log_,
1218 globals_->proxy_script_fetcher_context.get(), 1104 globals_->proxy_script_fetcher_context.get(),
1219 globals_->system_network_delegate.get(), 1105 globals_->system_network_delegate.get(),
1220 system_proxy_config_service_.release(), 1106 system_proxy_config_service_.release(),
1221 command_line, 1107 command_line,
1222 quick_check_enabled_.GetValue())); 1108 quick_check_enabled_.GetValue()));
1223 1109
1224 net::HttpNetworkSession::Params system_params;
1225 InitializeNetworkSessionParams(&system_params);
1226 system_params.net_log = net_log_;
1227 system_params.proxy_service = globals_->system_proxy_service.get();
1228
1229 globals_->system_http_transaction_factory.reset(
1230 new net::HttpNetworkLayer(
1231 new net::HttpNetworkSession(system_params)));
1232 globals_->system_url_request_job_factory.reset(
1233 new net::URLRequestJobFactoryImpl());
1234 globals_->system_request_context.reset( 1110 globals_->system_request_context.reset(
1235 ConstructSystemRequestContext(globals_, net_log_)); 1111 ConstructSystemRequestContext(globals_, net_log_));
1236 globals_->system_request_context->set_ssl_config_service(
1237 globals_->ssl_config_service.get());
1238 globals_->system_request_context->set_http_server_properties(
1239 globals_->http_server_properties->GetWeakPtr());
1240 } 1112 }
1241 1113
1242 void IOThread::UpdateDnsClientEnabled() { 1114 void IOThread::UpdateDnsClientEnabled() {
1243 globals()->host_resolver->SetDnsClientEnabled(*dns_client_enabled_); 1115 globals()->host_resolver->SetDnsClientEnabled(*dns_client_enabled_);
1244 } 1116 }
1245 1117
1246 void IOThread::ConfigureQuic(const base::CommandLine& command_line) { 1118 void IOThread::ConfigureQuic(const base::CommandLine& command_line) {
1247 // Always fetch the field trial group to ensure it is reported correctly. 1119 // Always fetch the field trial group to ensure it is reported correctly.
1248 // The command line flags will be associated with a group that is reported 1120 // The command line flags will be associated with a group that is reported
1249 // so long as trial is actually queried. 1121 // so long as trial is actually queried.
(...skipping 343 matching lines...) Expand 10 before | Expand all | Expand 10 after
1593 net::QuicVersionVector supported_versions = net::QuicSupportedVersions(); 1465 net::QuicVersionVector supported_versions = net::QuicSupportedVersions();
1594 for (size_t i = 0; i < supported_versions.size(); ++i) { 1466 for (size_t i = 0; i < supported_versions.size(); ++i) {
1595 net::QuicVersion version = supported_versions[i]; 1467 net::QuicVersion version = supported_versions[i];
1596 if (net::QuicVersionToString(version) == quic_version) { 1468 if (net::QuicVersionToString(version) == quic_version) {
1597 return version; 1469 return version;
1598 } 1470 }
1599 } 1471 }
1600 1472
1601 return net::QUIC_VERSION_UNSUPPORTED; 1473 return net::QUIC_VERSION_UNSUPPORTED;
1602 } 1474 }
1475
1476 // static
1477 net::URLRequestContext*
1478 IOThread::ConstructSystemRequestContext(IOThread::Globals* globals,
1479 net::NetLog* net_log) {
1480 net::URLRequestContext* context = new SystemURLRequestContext;
1481 context->set_net_log(net_log);
1482 context->set_host_resolver(globals->host_resolver.get());
1483 context->set_cert_verifier(globals->cert_verifier.get());
1484 context->set_transport_security_state(
1485 globals->transport_security_state.get());
1486 context->set_cert_transparency_verifier(
1487 globals->cert_transparency_verifier.get());
1488 context->set_ssl_config_service(globals->ssl_config_service.get());
1489 context->set_http_auth_handler_factory(
1490 globals->http_auth_handler_factory.get());
1491 context->set_proxy_service(globals->system_proxy_service.get());
1492
1493 globals->system_url_request_job_factory.reset(
1494 new net::URLRequestJobFactoryImpl());
1495 context->set_job_factory(globals->system_url_request_job_factory.get());
1496
1497 context->set_cookie_store(globals->system_cookie_store.get());
1498 context->set_channel_id_service(
1499 globals->system_channel_id_service.get());
1500 context->set_network_delegate(globals->system_network_delegate.get());
1501 context->set_http_user_agent_settings(
1502 globals->http_user_agent_settings.get());
1503 context->set_network_quality_estimator(
1504 globals->network_quality_estimator.get());
1505 context->set_backoff_manager(globals->url_request_backoff_manager.get());
1506
1507 context->set_ssl_config_service(
1508 globals->ssl_config_service.get());
1509 context->set_http_server_properties(
1510 globals->http_server_properties->GetWeakPtr());
1511
1512 net::HttpNetworkSession::Params system_params;
1513 InitializeNetworkSessionParamsFromGlobals(*globals, &system_params);
1514 net::URLRequestContextBuilder::SetHttpNetworkSessionComponents(&system_params,
1515 context);
1516
1517 globals->system_http_transaction_factory.reset(
1518 new net::HttpNetworkLayer(new net::HttpNetworkSession(system_params)));
1519 context->set_http_transaction_factory(
1520 globals->system_http_transaction_factory.get());
1521
1522 return context;
1523 }
1524
1525 // TODO(willchan): Remove proxy script fetcher context since it's not necessary
1526 // now that I got rid of refcounting URLRequestContexts.
mmenke 2015/08/17 20:13:04 Hrm...Wonder how doable this is. Not suggesting y
wjmaclean 2015/08/18 14:17:23 Acknowledged.
1527 // See IOThread::Globals for details.
1528 // static
1529 net::URLRequestContext* IOThread::ConstructProxyScriptFetcherContext(
1530 IOThread::Globals* globals,
1531 net::NetLog* net_log) {
1532 net::URLRequestContext* context = new net::URLRequestContext;
1533 context->set_net_log(net_log);
1534 context->set_host_resolver(globals->host_resolver.get());
1535 context->set_cert_verifier(globals->cert_verifier.get());
1536 context->set_transport_security_state(
1537 globals->transport_security_state.get());
1538 context->set_cert_transparency_verifier(
1539 globals->cert_transparency_verifier.get());
1540 context->set_ssl_config_service(globals->ssl_config_service.get());
1541 context->set_http_auth_handler_factory(
1542 globals->http_auth_handler_factory.get());
1543 context->set_proxy_service(globals->proxy_script_fetcher_proxy_service.get());
1544
1545 scoped_ptr<net::URLRequestJobFactoryImpl> job_factory(
1546 new net::URLRequestJobFactoryImpl());
1547
1548 // TODO(erikchen): Remove ScopedTracker below once http://crbug.com/466432
1549 // is fixed.
1550 tracked_objects::ScopedTracker tracking_profile16(
1551 FROM_HERE_WITH_EXPLICIT_FUNCTION(
1552 "466432 IOThread::InitAsync::SetProtocolHandler"));
mmenke 2015/08/17 20:13:04 This should be renamed "466432 IOThread::Construct
wjmaclean 2015/08/18 14:17:22 Done.
1553 job_factory->SetProtocolHandler(url::kDataScheme,
1554 new net::DataProtocolHandler());
1555 job_factory->SetProtocolHandler(
1556 url::kFileScheme,
1557 new net::FileProtocolHandler(
1558 content::BrowserThread::GetBlockingPool()->
1559 GetTaskRunnerWithShutdownBehavior(
1560 base::SequencedWorkerPool::SKIP_ON_SHUTDOWN)));
1561 #if !defined(DISABLE_FTP_SUPPORT)
1562 globals->proxy_script_fetcher_ftp_transaction_factory.reset(
1563 new net::FtpNetworkLayer(globals->host_resolver.get()));
1564 job_factory->SetProtocolHandler(
1565 url::kFtpScheme,
1566 new net::FtpProtocolHandler(
1567 globals->proxy_script_fetcher_ftp_transaction_factory.get()));
1568 #endif
1569 globals->proxy_script_fetcher_url_request_job_factory = job_factory.Pass();
1570
1571 context->set_job_factory(
1572 globals->proxy_script_fetcher_url_request_job_factory.get());
mmenke 2015/08/17 20:13:03 Suggest we put job factory initialization last, si
wjmaclean 2015/08/18 14:17:22 Done.
1573
1574 context->set_cookie_store(globals->system_cookie_store.get());
1575 context->set_channel_id_service(
1576 globals->system_channel_id_service.get());
1577 context->set_network_delegate(globals->system_network_delegate.get());
1578 context->set_http_user_agent_settings(
1579 globals->http_user_agent_settings.get());
1580 context->set_http_server_properties(
1581 globals->http_server_properties->GetWeakPtr());
mmenke 2015/08/17 20:13:04 This last one wasn't being done on the proxy conte
wjmaclean 2015/08/18 14:17:22 Adding this was necessary because we need the http
mmenke 2015/08/18 18:30:32 Ahh...It was being set on the session, but not the
1582
1583 net::HttpNetworkSession::Params session_params;
1584 InitializeNetworkSessionParamsFromGlobals(*globals, &session_params);
1585 net::URLRequestContextBuilder::SetHttpNetworkSessionComponents(
1586 &session_params, context);
1587
1588 // TODO(erikchen): Remove ScopedTracker below once http://crbug.com/466432
1589 // is fixed.
1590 tracked_objects::ScopedTracker tracking_profile14(
1591 FROM_HERE_WITH_EXPLICIT_FUNCTION(
1592 "466432 IOThread::InitAsync::HttpNetorkSession::Start"));
mmenke 2015/08/17 20:13:04 "466432 IOThread::ConstructProxyScriptFetcherConte
wjmaclean 2015/08/18 14:17:23 Done.
1593 TRACE_EVENT_BEGIN0("startup", "IOThread::InitAsync:HttpNetworkSession");
mmenke 2015/08/17 20:13:04 These two TRACE_EVENTS are weird. Suggest moving
wjmaclean 2015/08/18 14:17:22 Done.
1594 scoped_refptr<net::HttpNetworkSession> network_session(
1595 new net::HttpNetworkSession(session_params));
1596 // TODO(erikchen): Remove ScopedTracker below once http://crbug.com/466432
1597 // is fixed.
1598 tracked_objects::ScopedTracker tracking_profile15(
1599 FROM_HERE_WITH_EXPLICIT_FUNCTION(
1600 "466432 IOThread::InitAsync::HttpNetorkSession::End"));
1601 globals->proxy_script_fetcher_http_transaction_factory
1602 .reset(new net::HttpNetworkLayer(network_session.get()));
1603 context->set_http_transaction_factory(
1604 globals->proxy_script_fetcher_http_transaction_factory.get());
1605 TRACE_EVENT_END0("startup", "IOThread::InitAsync:HttpNetworkSession");
1606
1607 // TODO(rtenneti): We should probably use HttpServerPropertiesManager for the
1608 // system URLRequestContext too. There's no reason this should be tied to a
1609 // profile.
1610 return context;
1611 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698