Index: chrome/browser/io_thread_unittest.cc |
diff --git a/chrome/browser/io_thread_unittest.cc b/chrome/browser/io_thread_unittest.cc |
index 5b60d6024d5bc37dc464f643ed69bcf551aeb07d..c9a1d783a8a828d17f335a3c035897a9ffadb2e8 100644 |
--- a/chrome/browser/io_thread_unittest.cc |
+++ b/chrome/browser/io_thread_unittest.cc |
@@ -3,7 +3,9 @@ |
// found in the LICENSE file. |
#include "base/command_line.h" |
+#include "base/metrics/field_trial.h" |
#include "chrome/browser/io_thread.h" |
+#include "components/data_reduction_proxy/core/common/data_reduction_proxy_params.h" |
#include "net/http/http_network_session.h" |
#include "net/http/http_server_properties_impl.h" |
#include "net/quic/quic_protocol.h" |
@@ -14,6 +16,16 @@ namespace test { |
using ::testing::ElementsAre; |
+class BadEntropyProvider : public base::FieldTrial::EntropyProvider { |
+ public: |
+ ~BadEntropyProvider() override {} |
+ |
+ double GetEntropyForTrial(const std::string& trial_name, |
+ uint32 randomization_seed) const override { |
+ return 0.5; |
+ } |
+}; |
+ |
class IOThreadPeer { |
public: |
static void ConfigureQuicGlobals( |
@@ -114,6 +126,11 @@ TEST_F(IOThreadTest, DisableQuicByDefault) { |
net::HttpNetworkSession::Params params; |
InitializeNetworkSessionParams(¶ms); |
EXPECT_FALSE(params.enable_quic); |
+ EXPECT_FALSE(params.enable_quic_for_proxies); |
+ bool enable_quic_for_data_reduction_proxy = true; |
+ globals_.enable_quic_for_data_reduction_proxy.CopyToIfSet( |
+ &enable_quic_for_data_reduction_proxy); |
+ EXPECT_FALSE(enable_quic_for_data_reduction_proxy); |
} |
TEST_F(IOThreadTest, EnableQuicFromFieldTrialGroup) { |
@@ -124,6 +141,11 @@ TEST_F(IOThreadTest, EnableQuicFromFieldTrialGroup) { |
net::HttpNetworkSession::Params params; |
InitializeNetworkSessionParams(¶ms); |
EXPECT_TRUE(params.enable_quic); |
+ EXPECT_TRUE(params.enable_quic_for_proxies); |
+ bool enable_quic_for_data_reduction_proxy = true; |
+ globals_.enable_quic_for_data_reduction_proxy.CopyToIfSet( |
+ &enable_quic_for_data_reduction_proxy); |
+ EXPECT_FALSE(enable_quic_for_data_reduction_proxy); |
EXPECT_EQ(1350u, params.quic_max_packet_length); |
EXPECT_EQ(1.0, params.alternate_protocol_probability_threshold); |
EXPECT_EQ(default_params.quic_supported_versions, |
@@ -137,6 +159,23 @@ TEST_F(IOThreadTest, EnableQuicFromFieldTrialGroup) { |
EXPECT_FALSE(params.quic_enable_connection_racing); |
} |
+TEST_F(IOThreadTest, EnableQuicFromQuicProxyFieldTrialGroup) { |
+ base::FieldTrialList field_trial_list(new BadEntropyProvider()); |
+ base::FieldTrialList::CreateFieldTrial( |
+ data_reduction_proxy::DataReductionProxyParams::GetQuicFieldTrialName(), |
+ "Enabled"); |
+ |
+ ConfigureQuicGlobals(); |
+ net::HttpNetworkSession::Params params; |
+ InitializeNetworkSessionParams(¶ms); |
+ EXPECT_FALSE(params.enable_quic); |
+ EXPECT_TRUE(params.enable_quic_for_proxies); |
+ bool enable_quic_for_data_reduction_proxy = false; |
+ globals_.enable_quic_for_data_reduction_proxy.CopyToIfSet( |
+ &enable_quic_for_data_reduction_proxy); |
+ EXPECT_TRUE(enable_quic_for_data_reduction_proxy); |
+} |
+ |
TEST_F(IOThreadTest, EnableQuicFromCommandLine) { |
command_line_.AppendSwitch("enable-quic"); |
@@ -144,6 +183,11 @@ TEST_F(IOThreadTest, EnableQuicFromCommandLine) { |
net::HttpNetworkSession::Params params; |
InitializeNetworkSessionParams(¶ms); |
EXPECT_TRUE(params.enable_quic); |
+ EXPECT_TRUE(params.enable_quic_for_proxies); |
+ bool enable_quic_for_data_reduction_proxy = true; |
+ globals_.enable_quic_for_data_reduction_proxy.CopyToIfSet( |
+ &enable_quic_for_data_reduction_proxy); |
+ EXPECT_FALSE(enable_quic_for_data_reduction_proxy); |
} |
TEST_F(IOThreadTest, EnablePacingFromCommandLine) { |