diff options
author | jri <jri@chromium.org> | 2016-02-12 14:01:42 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-02-12 22:02:27 +0000 |
commit | e68df0e1f511fc5de5b22c2361e029a4464db41e (patch) | |
tree | 9d5f6705387bf870413c688b0f873abe1aaa0fe1 /components | |
parent | 3987cb2e02a6ac0378a8387fbb26059bfe781147 (diff) | |
download | chromium_src-e68df0e1f511fc5de5b22c2361e029a4464db41e.zip chromium_src-e68df0e1f511fc5de5b22c2361e029a4464db41e.tar.gz chromium_src-e68df0e1f511fc5de5b22c2361e029a4464db41e.tar.bz2 |
Exposes QUIC's migrate_sessions_early flag to cronet users.
R=mef@chromium.org, pauljensen@chromium.org
BUG=576998
Review URL: https://codereview.chromium.org/1685473002
Cr-Commit-Position: refs/heads/master@{#375268}
Diffstat (limited to 'components')
3 files changed, 14 insertions, 3 deletions
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/QuicTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/QuicTest.java index 45369d3..a727dbc 100644 --- a/components/cronet/android/test/javatests/src/org/chromium/net/QuicTest.java +++ b/components/cronet/android/test/javatests/src/org/chromium/net/QuicTest.java @@ -47,8 +47,9 @@ public class QuicTest extends CronetTestBase { .put("max_number_of_lossy_connections", 10) .put("packet_loss_threshold", 0.5) .put("idle_connection_timeout_seconds", 300) - .put("close_sessions_on_ip_change", true) - .put("migrate_sessions_on_network_change", false); + .put("close_sessions_on_ip_change", false) + .put("migrate_sessions_on_network_change", true) + .put("migrate_sessions_early", true); JSONObject experimentalOptions = new JSONObject().put("QUIC", quicParams); mBuilder.setExperimentalOptions(experimentalOptions.toString()); diff --git a/components/cronet/url_request_context_config.cc b/components/cronet/url_request_context_config.cc index 49af1af..329d9a0 100644 --- a/components/cronet/url_request_context_config.cc +++ b/components/cronet/url_request_context_config.cc @@ -43,6 +43,7 @@ const char kQuicMigrateSessionsOnNetworkChange[] = "migrate_sessions_on_network_change"; const char kQuicPreferAes[] = "prefer_aes"; const char kQuicUserAgentId[] = "user_agent_id"; +const char kQuicMigrateSessionsEarly[] = "migrate_sessions_early"; // AsyncDNS experiment dictionary name. const char kAsyncDnsFieldTrialName[] = "AsyncDNS"; @@ -160,6 +161,13 @@ void ParseAndSetExperimentalOptions( if (quic_args->GetString(kQuicUserAgentId, &quic_user_agent_id)) { context_builder->set_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); + } } const base::DictionaryValue* async_dns_args = nullptr; diff --git a/components/cronet/url_request_context_config_unittest.cc b/components/cronet/url_request_context_config_unittest.cc index 11cead6..d78cdc6 100644 --- a/components/cronet/url_request_context_config_unittest.cc +++ b/components/cronet/url_request_context_config_unittest.cc @@ -122,7 +122,8 @@ TEST(URLRequestContextConfigTest, SetQuicConnectionMigrationOptions) { // User-Agent request header field. "fake agent", // JSON encoded experimental options. - "{\"QUIC\":{\"migrate_sessions_on_network_change\":true}}", + "{\"QUIC\":{\"migrate_sessions_on_network_change\":true," + "\"migrate_sessions_early\":true}}", // Data reduction proxy key. "", // Data reduction proxy. @@ -146,6 +147,7 @@ TEST(URLRequestContextConfigTest, SetQuicConnectionMigrationOptions) { EXPECT_FALSE(params->quic_close_sessions_on_ip_change); EXPECT_TRUE(params->quic_migrate_sessions_on_network_change); + EXPECT_TRUE(params->quic_migrate_sessions_early); } } // namespace cronet |