Add finch config param for cronet and Chrome to retry QUIC connection on the alternate network before handshake.

The feature will be controlled by "retry_on_alternate_network_before_handshake".

Bug: 790547
Cq-Include-Trybots: luci.chromium.try:ios-simulator-cronet;master.tryserver.chromium.android:android_cronet_tester
Change-Id: I5812083fe317f996313adce49f9bbd1d14b22f37
Reviewed-on: https://chromium-review.googlesource.com/1242038
Reviewed-by: Misha Efimov <[email protected]>
Reviewed-by: Ryan Hamilton <[email protected]>
Commit-Queue: Misha Efimov <[email protected]>
Cr-Commit-Position: refs/heads/master@{#594386}
diff --git a/components/cronet/url_request_context_config_unittest.cc b/components/cronet/url_request_context_config_unittest.cc
index 05bb0e5..53c7de1c 100644
--- a/components/cronet/url_request_context_config_unittest.cc
+++ b/components/cronet/url_request_context_config_unittest.cc
@@ -203,6 +203,7 @@
   EXPECT_FALSE(params->quic_allow_server_migration);
   EXPECT_FALSE(params->quic_migrate_sessions_on_network_change_v2);
   EXPECT_FALSE(params->quic_migrate_sessions_early_v2);
+  EXPECT_FALSE(params->quic_retry_on_alternate_network_before_handshake);
 
   // Check race_cert_verification.
   EXPECT_TRUE(params->quic_race_cert_verification);
@@ -545,6 +546,7 @@
       // JSON encoded experimental options.
       "{\"QUIC\":{\"migrate_sessions_on_network_change_v2\":true,"
       "\"migrate_sessions_early_v2\":true,"
+      "\"retry_on_alternate_network_before_handshake\":true,"
       "\"max_time_on_non_default_network_seconds\":10,"
       "\"max_migrations_to_non_default_network_on_write_error\":3,"
       "\"max_migrations_to_non_default_network_on_path_degrading\":4}}",
@@ -570,6 +572,7 @@
 
   EXPECT_TRUE(params->quic_migrate_sessions_on_network_change_v2);
   EXPECT_TRUE(params->quic_migrate_sessions_early_v2);
+  EXPECT_TRUE(params->quic_retry_on_alternate_network_before_handshake);
   EXPECT_EQ(base::TimeDelta::FromSeconds(10),
             params->quic_max_time_on_non_default_network);
   EXPECT_EQ(3,