Index: ios/crnet/crnet_environment.mm |
diff --git a/ios/crnet/crnet_environment.mm b/ios/crnet/crnet_environment.mm |
index 6d5e987e03a05e5e8a39f68a1a725d69120389d9..f0711637894e50cc9c497bbf82b074775880c551 100644 |
--- a/ios/crnet/crnet_environment.mm |
+++ b/ios/crnet/crnet_environment.mm |
@@ -440,35 +440,40 @@ void CrNetEnvironment::InitializeOnNetworkThread() { |
0, // Default cache size. |
network_cache_thread_->task_runner())); |
- net::HttpNetworkSession::Params params; |
- params.host_resolver = main_context_->host_resolver(); |
- params.cert_verifier = main_context_->cert_verifier(); |
- params.cert_transparency_verifier = |
+ net::HttpNetworkSession::Params session_params; |
+ session_params.enable_http2 = spdy_enabled(); |
+ session_params.enable_quic = quic_enabled(); |
+ |
+ net::HttpNetworkSession::Context session_context; |
+ session_context.host_resolver = main_context_->host_resolver(); |
+ session_context.cert_verifier = main_context_->cert_verifier(); |
+ session_context.cert_transparency_verifier = |
main_context_->cert_transparency_verifier(); |
- params.ct_policy_enforcer = main_context_->ct_policy_enforcer(); |
- params.channel_id_service = main_context_->channel_id_service(); |
- params.transport_security_state = main_context_->transport_security_state(); |
- params.proxy_service = main_context_->proxy_service(); |
- params.ssl_config_service = main_context_->ssl_config_service(); |
- params.http_auth_handler_factory = main_context_->http_auth_handler_factory(); |
- params.http_server_properties = main_context_->http_server_properties(); |
- params.net_log = main_context_->net_log(); |
- params.enable_http2 = spdy_enabled(); |
- params.enable_quic = quic_enabled(); |
- |
- if (!params.channel_id_service) { |
+ session_context.ct_policy_enforcer = main_context_->ct_policy_enforcer(); |
+ session_context.channel_id_service = main_context_->channel_id_service(); |
+ session_context.transport_security_state = |
+ main_context_->transport_security_state(); |
+ session_context.proxy_service = main_context_->proxy_service(); |
+ session_context.ssl_config_service = main_context_->ssl_config_service(); |
+ session_context.http_auth_handler_factory = |
+ main_context_->http_auth_handler_factory(); |
+ session_context.http_server_properties = |
+ main_context_->http_server_properties(); |
+ session_context.net_log = main_context_->net_log(); |
+ |
+ if (!session_context.channel_id_service) { |
// The main context may not have a ChannelIDService, since it is lazily |
// constructed. If not, build an ephemeral ChannelIDService with no backing |
// disk store. |
// TODO(ellyjones): support persisting ChannelID. |
- params.channel_id_service = |
+ session_context.channel_id_service = |
new net::ChannelIDService(new net::DefaultChannelIDStore(NULL)); |
} |
// TODO(mmenke): These really shouldn't be leaked. |
// See https://crbug.com/523858. |
net::HttpNetworkSession* http_network_session = |
- new net::HttpNetworkSession(params); |
+ new net::HttpNetworkSession(session_params, session_context); |
net::HttpCache* main_cache = |
new net::HttpCache(http_network_session, std::move(main_backend), |
true /* set_up_quic_server_info */); |