diff options
Diffstat (limited to 'chrome')
-rw-r--r-- | chrome/browser/io_thread.cc | 10 | ||||
-rw-r--r-- | chrome/browser/io_thread.h | 4 | ||||
-rw-r--r-- | chrome/browser/io_thread_unittest.cc | 10 |
3 files changed, 24 insertions, 0 deletions
diff --git a/chrome/browser/io_thread.cc b/chrome/browser/io_thread.cc index 42bbf7c..67f2619 100644 --- a/chrome/browser/io_thread.cc +++ b/chrome/browser/io_thread.cc @@ -1174,6 +1174,7 @@ void IOThread::InitializeNetworkSessionParamsFromGlobals( ¶ms->quic_enable_connection_racing); globals.quic_enable_non_blocking_io.CopyToIfSet( ¶ms->quic_enable_non_blocking_io); + globals.quic_prefer_aes.CopyToIfSet(¶ms->quic_prefer_aes); globals.quic_disable_disk_cache.CopyToIfSet( ¶ms->quic_disable_disk_cache); globals.quic_max_number_of_lossy_connections.CopyToIfSet( @@ -1321,6 +1322,8 @@ void IOThread::ConfigureQuicGlobals( ShouldQuicEnableNonBlockingIO(quic_trial_params)); globals->quic_disable_disk_cache.set( ShouldQuicDisableDiskCache(quic_trial_params)); + globals->quic_prefer_aes.set( + ShouldQuicPreferAes(quic_trial_params)); int max_number_of_lossy_connections = GetQuicMaxNumberOfLossyConnections( quic_trial_params); if (max_number_of_lossy_connections != 0) { @@ -1532,6 +1535,13 @@ bool IOThread::ShouldQuicDisableDiskCache( } // static +bool IOThread::ShouldQuicPreferAes( + const VariationParameters& quic_trial_params) { + return base::LowerCaseEqualsASCII( + GetVariationParam(quic_trial_params, "prefer_aes"), "true"); +} + +// static int IOThread::GetQuicMaxNumberOfLossyConnections( const VariationParameters& quic_trial_params) { int value; diff --git a/chrome/browser/io_thread.h b/chrome/browser/io_thread.h index 7a02c5b..aefdc97 100644 --- a/chrome/browser/io_thread.h +++ b/chrome/browser/io_thread.h @@ -189,6 +189,7 @@ class IOThread : public content::BrowserThreadDelegate { Optional<bool> quic_enable_connection_racing; Optional<bool> quic_enable_non_blocking_io; Optional<bool> quic_disable_disk_cache; + Optional<bool> quic_prefer_aes; Optional<int> quic_max_number_of_lossy_connections; Optional<float> quic_packet_loss_threshold; Optional<int> quic_socket_receive_buffer_size; @@ -375,6 +376,9 @@ class IOThread : public content::BrowserThreadDelegate { static bool ShouldQuicDisableDiskCache( const VariationParameters& quic_trial_params); + // Returns true if QUIC should prefer AES-GCN even without hardware support. + static bool ShouldQuicPreferAes(const VariationParameters& quic_trial_params); + // Returns the maximum number of QUIC connections with high packet loss in a // row after which QUIC should be disabled. Returns 0 if the default value // should be used. diff --git a/chrome/browser/io_thread_unittest.cc b/chrome/browser/io_thread_unittest.cc index 03e3dc4..6f460bd 100644 --- a/chrome/browser/io_thread_unittest.cc +++ b/chrome/browser/io_thread_unittest.cc @@ -188,6 +188,7 @@ TEST_F(IOThreadTest, EnableQuicFromFieldTrialGroup) { EXPECT_FALSE(params.quic_enable_connection_racing); EXPECT_FALSE(params.quic_enable_non_blocking_io); EXPECT_FALSE(params.quic_disable_disk_cache); + EXPECT_FALSE(params.quic_prefer_aes); EXPECT_EQ(0, params.quic_max_number_of_lossy_connections); EXPECT_EQ(1.0f, params.quic_packet_loss_threshold); EXPECT_FALSE(IOThread::ShouldEnableQuicForDataReductionProxy()); @@ -363,6 +364,15 @@ TEST_F(IOThreadTest, QuicDisableDiskCache) { EXPECT_TRUE(params.quic_disable_disk_cache); } +TEST_F(IOThreadTest, QuicPreferAes) { + field_trial_group_ = "Enabled"; + field_trial_params_["prefer_aes"] = "true"; + ConfigureQuicGlobals(); + net::HttpNetworkSession::Params params; + InitializeNetworkSessionParams(¶ms); + EXPECT_TRUE(params.quic_prefer_aes); +} + TEST_F(IOThreadTest, QuicMaxNumberOfLossyConnectionsFieldTrialParams) { field_trial_group_ = "Enabled"; field_trial_params_["max_number_of_lossy_connections"] = "5"; |