Index: components/cronet/url_request_context_config.cc |
diff --git a/components/cronet/url_request_context_config.cc b/components/cronet/url_request_context_config.cc |
index 93820d83575a570af1948d56a881157fd6b16225..0c9daafc4f0fa7315bedb9e3735f117938cdd938 100644 |
--- a/components/cronet/url_request_context_config.cc |
+++ b/components/cronet/url_request_context_config.cc |
@@ -22,6 +22,7 @@ |
#include "net/cert/multi_threaded_cert_verifier.h" |
#include "net/dns/host_resolver.h" |
#include "net/dns/mapped_host_resolver.h" |
+#include "net/http/http_network_session.h" |
#include "net/http/http_server_properties.h" |
#include "net/nqe/network_quality_estimator_params.h" |
#include "net/quic/chromium/quic_utils_chromium.h" |
@@ -155,6 +156,7 @@ URLRequestContextConfig::~URLRequestContextConfig() {} |
void URLRequestContextConfig::ParseAndSetExperimentalOptions( |
net::URLRequestContextBuilder* context_builder, |
+ net::HttpNetworkSession::Params* session_params, |
net::NetLog* net_log, |
const scoped_refptr<base::SequencedTaskRunner>& file_task_runner) { |
if (experimental_options.empty()) |
@@ -189,6 +191,7 @@ void URLRequestContextConfig::ParseAndSetExperimentalOptions( |
effective_experimental_options = dict->CreateDeepCopy(); |
StaleHostResolver::StaleOptions stale_dns_options; |
std::string host_resolver_rules_string; |
+ |
for (base::DictionaryValue::Iterator it(*dict.get()); !it.IsAtEnd(); |
it.Advance()) { |
if (it.key() == kQuicFieldTrialName) { |
@@ -202,8 +205,8 @@ void URLRequestContextConfig::ParseAndSetExperimentalOptions( |
std::string quic_connection_options; |
if (quic_args->GetString(kQuicConnectionOptions, |
&quic_connection_options)) { |
- context_builder->set_quic_connection_options( |
- net::ParseQuicConnectionOptions(quic_connection_options)); |
+ session_params->quic_connection_options = |
+ net::ParseQuicConnectionOptions(quic_connection_options); |
} |
// TODO(rtenneti): Delete this option after apps stop using it. |
@@ -211,63 +214,63 @@ void URLRequestContextConfig::ParseAndSetExperimentalOptions( |
bool quic_store_server_configs_in_properties = false; |
if (quic_args->GetBoolean(kQuicStoreServerConfigsInProperties, |
&quic_store_server_configs_in_properties)) { |
- context_builder->set_quic_max_server_configs_stored_in_properties( |
- net::kMaxQuicServersToPersist); |
+ session_params->quic_max_server_configs_stored_in_properties = |
+ net::kMaxQuicServersToPersist; |
} |
int quic_max_server_configs_stored_in_properties = 0; |
if (quic_args->GetInteger( |
kQuicMaxServerConfigsStoredInProperties, |
&quic_max_server_configs_stored_in_properties)) { |
- context_builder->set_quic_max_server_configs_stored_in_properties( |
- static_cast<size_t>(quic_max_server_configs_stored_in_properties)); |
+ session_params->quic_max_server_configs_stored_in_properties = |
+ static_cast<size_t>(quic_max_server_configs_stored_in_properties); |
} |
int quic_idle_connection_timeout_seconds = 0; |
if (quic_args->GetInteger(kQuicIdleConnectionTimeoutSeconds, |
&quic_idle_connection_timeout_seconds)) { |
- context_builder->set_quic_idle_connection_timeout_seconds( |
- quic_idle_connection_timeout_seconds); |
+ session_params->quic_idle_connection_timeout_seconds = |
+ quic_idle_connection_timeout_seconds; |
} |
bool quic_close_sessions_on_ip_change = false; |
if (quic_args->GetBoolean(kQuicCloseSessionsOnIpChange, |
&quic_close_sessions_on_ip_change)) { |
- context_builder->set_quic_close_sessions_on_ip_change( |
- quic_close_sessions_on_ip_change); |
+ session_params->quic_close_sessions_on_ip_change = |
+ quic_close_sessions_on_ip_change; |
} |
bool quic_migrate_sessions_on_network_change = false; |
if (quic_args->GetBoolean(kQuicMigrateSessionsOnNetworkChange, |
&quic_migrate_sessions_on_network_change)) { |
- context_builder->set_quic_migrate_sessions_on_network_change( |
- quic_migrate_sessions_on_network_change); |
+ session_params->quic_migrate_sessions_on_network_change = |
+ quic_migrate_sessions_on_network_change; |
} |
std::string quic_user_agent_id; |
if (quic_args->GetString(kQuicUserAgentId, &quic_user_agent_id)) { |
- context_builder->set_quic_user_agent_id(quic_user_agent_id); |
+ session_params->quic_user_agent_id = quic_user_agent_id; |
} |
bool quic_migrate_sessions_early = false; |
if (quic_args->GetBoolean(kQuicMigrateSessionsEarly, |
&quic_migrate_sessions_early)) { |
- context_builder->set_quic_migrate_sessions_early( |
- quic_migrate_sessions_early); |
+ session_params->quic_migrate_sessions_early = |
+ quic_migrate_sessions_early; |
} |
bool quic_disable_bidirectional_streams = false; |
if (quic_args->GetBoolean(kQuicDisableBidirectionalStreams, |
&quic_disable_bidirectional_streams)) { |
- context_builder->set_quic_disable_bidirectional_streams( |
- quic_disable_bidirectional_streams); |
+ session_params->quic_disable_bidirectional_streams = |
+ quic_disable_bidirectional_streams; |
} |
bool quic_race_cert_verification = false; |
if (quic_args->GetBoolean(kQuicRaceCertVerification, |
&quic_race_cert_verification)) { |
- context_builder->set_quic_race_cert_verification( |
- quic_race_cert_verification); |
+ session_params->quic_race_cert_verification = |
+ quic_race_cert_verification; |
} |
} else if (it.key() == kAsyncDnsFieldTrialName) { |
@@ -434,12 +437,16 @@ void URLRequestContextConfig::ConfigureURLRequestContextBuilder( |
context_builder->DisableHttpCache(); |
} |
context_builder->set_user_agent(user_agent); |
- context_builder->SetSpdyAndQuicEnabled(enable_spdy, enable_quic); |
mmenke
2017/07/07 20:00:02
I'm leaving this method on the builder for now, si
|
context_builder->set_sdch_enabled(enable_sdch); |
+ net::HttpNetworkSession::Params session_params; |
+ session_params.enable_http2 = enable_spdy; |
+ session_params.enable_quic = enable_quic; |
if (enable_quic) |
- context_builder->set_quic_user_agent_id(quic_user_agent_id); |
+ session_params.quic_user_agent_id = quic_user_agent_id; |
- ParseAndSetExperimentalOptions(context_builder, net_log, file_task_runner); |
+ ParseAndSetExperimentalOptions(context_builder, &session_params, net_log, |
+ file_task_runner); |
+ context_builder->set_http_network_session_params(session_params); |
std::unique_ptr<net::CertVerifier> cert_verifier; |
if (mock_cert_verifier) { |