summaryrefslogtreecommitdiffstats
path: root/components
diff options
context:
space:
mode:
authorjri <jri@chromium.org>2016-02-12 14:01:42 -0800
committerCommit bot <commit-bot@chromium.org>2016-02-12 22:02:27 +0000
commite68df0e1f511fc5de5b22c2361e029a4464db41e (patch)
tree9d5f6705387bf870413c688b0f873abe1aaa0fe1 /components
parent3987cb2e02a6ac0378a8387fbb26059bfe781147 (diff)
downloadchromium_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')
-rw-r--r--components/cronet/android/test/javatests/src/org/chromium/net/QuicTest.java5
-rw-r--r--components/cronet/url_request_context_config.cc8
-rw-r--r--components/cronet/url_request_context_config_unittest.cc4
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