Commit fec56ab8 authored by Mark Mentovai's avatar Mark Mentovai Committed by Commit Bot

Revert "Change NetworkSessionConfigurator to process multiple versions from quic_version field"

This reverts commit 4721652f.

Reason for revert: https://crbug.com/689762#c12

Original change's description:
> Change NetworkSessionConfigurator to process multiple versions from quic_version field
> 
> Bug: 689762
> Change-Id: Ic0de2dacd01158d85318794d05f8f763659d9228
> Reviewed-on: https://chromium-review.googlesource.com/565784
> Commit-Queue: Zhongyi Shi <zhongyi@chromium.org>
> Reviewed-by: Ryan Hamilton <rch@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#485678}

TBR=rch@chromium.org,zhongyi@chromium.org

Change-Id: If18efa529febe19aa543eb2b6947434daeed7374
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 689762
Reviewed-on: https://chromium-review.googlesource.com/567283Reviewed-by: default avatarMark Mentovai <mark@chromium.org>
Commit-Queue: Mark Mentovai <mark@chromium.org>
Cr-Commit-Position: refs/heads/master@{#485940}
parent 88e247a6
...@@ -233,9 +233,8 @@ size_t GetQuicMaxPacketLength(const VariationParameters& quic_trial_params) { ...@@ -233,9 +233,8 @@ size_t GetQuicMaxPacketLength(const VariationParameters& quic_trial_params) {
return 0; return 0;
} }
net::QuicVersionVector GetQuicVersions( net::QuicVersion GetQuicVersion(const VariationParameters& quic_trial_params) {
const VariationParameters& quic_trial_params) { return network_session_configurator::ParseQuicVersion(
return network_session_configurator::ParseQuicVersions(
GetVariationParam(quic_trial_params, "quic_version")); GetVariationParam(quic_trial_params, "quic_version"));
} }
...@@ -307,35 +306,28 @@ void ConfigureQuicParams(base::StringPiece quic_trial_group, ...@@ -307,35 +306,28 @@ void ConfigureQuicParams(base::StringPiece quic_trial_group,
params->quic_user_agent_id = quic_user_agent_id; params->quic_user_agent_id = quic_user_agent_id;
net::QuicVersionVector supported_versions = net::QuicVersion version = GetQuicVersion(quic_trial_params);
GetQuicVersions(quic_trial_params); if (version != net::QUIC_VERSION_UNSUPPORTED) {
if (!supported_versions.empty()) net::QuicVersionVector supported_versions;
supported_versions.push_back(version);
params->quic_supported_versions = supported_versions; params->quic_supported_versions = supported_versions;
}
} }
} // anonymous namespace } // anonymous namespace
namespace network_session_configurator { namespace network_session_configurator {
net::QuicVersionVector ParseQuicVersions(const std::string& quic_versions) { net::QuicVersion ParseQuicVersion(const std::string& quic_version) {
net::QuicVersionVector supported_versions; net::QuicVersionVector supported_versions = net::AllSupportedVersions();
net::QuicVersionVector all_supported_versions = net::AllSupportedVersions(); for (size_t i = 0; i < supported_versions.size(); ++i) {
net::QuicVersion version = supported_versions[i];
for (const base::StringPiece& version : base::SplitStringPiece( if (net::QuicVersionToString(version) == quic_version) {
quic_versions, ",", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL)) { return version;
auto it = all_supported_versions.begin();
while (it != all_supported_versions.end()) {
if (net::QuicVersionToString(*it) == version) {
supported_versions.push_back(*it);
// Remove the supported version to deduplicate versions extracted from
// |quic_versions|.
all_supported_versions.erase(it);
continue;
}
it++;
} }
} }
return supported_versions;
return net::QUIC_VERSION_UNSUPPORTED;
} }
void ParseCommandLineAndFieldTrials(const base::CommandLine& command_line, void ParseCommandLineAndFieldTrials(const base::CommandLine& command_line,
...@@ -386,11 +378,13 @@ void ParseCommandLineAndFieldTrials(const base::CommandLine& command_line, ...@@ -386,11 +378,13 @@ void ParseCommandLineAndFieldTrials(const base::CommandLine& command_line,
} }
if (command_line.HasSwitch(switches::kQuicVersion)) { if (command_line.HasSwitch(switches::kQuicVersion)) {
net::QuicVersionVector supported_versions = net::QuicVersion version = network_session_configurator::ParseQuicVersion(
network_session_configurator::ParseQuicVersions( command_line.GetSwitchValueASCII(switches::kQuicVersion));
command_line.GetSwitchValueASCII(switches::kQuicVersion)); if (version != net::QUIC_VERSION_UNSUPPORTED) {
if (!supported_versions.empty()) net::QuicVersionVector supported_versions;
supported_versions.push_back(version);
params->quic_supported_versions = supported_versions; params->quic_supported_versions = supported_versions;
}
} }
if (command_line.HasSwitch(switches::kOriginToForceQuicOn)) { if (command_line.HasSwitch(switches::kOriginToForceQuicOn)) {
......
...@@ -18,8 +18,9 @@ namespace network_session_configurator { ...@@ -18,8 +18,9 @@ namespace network_session_configurator {
// Helper functions to configure HttpNetworkSession::Params based on field // Helper functions to configure HttpNetworkSession::Params based on field
// trials and command line. // trials and command line.
// Parse serialized QUIC versions string. // Parse serialized QUIC version string.
net::QuicVersionVector ParseQuicVersions(const std::string& quic_versions); // Return QUIC_VERSION_UNSUPPORTED on failure.
net::QuicVersion ParseQuicVersion(const std::string& quic_version);
// Configure |params| based on field trials and command line, // Configure |params| based on field trials and command line,
// and forcing (policy or other command line) arguments. // and forcing (policy or other command line) arguments.
......
...@@ -305,42 +305,6 @@ TEST_F(NetworkSessionConfiguratorTest, QuicVersionFromFieldTrialParams) { ...@@ -305,42 +305,6 @@ TEST_F(NetworkSessionConfiguratorTest, QuicVersionFromFieldTrialParams) {
EXPECT_EQ(supported_versions, params_.quic_supported_versions); EXPECT_EQ(supported_versions, params_.quic_supported_versions);
} }
TEST_F(NetworkSessionConfiguratorTest,
MultipleQuicVersionFromFieldTrialParams) {
std::map<std::string, std::string> field_trial_params;
std::string quic_versions =
net::QuicVersionToString(net::AllSupportedVersions().front()) + "," +
net::QuicVersionToString(net::AllSupportedVersions().back());
field_trial_params["quic_version"] = quic_versions;
variations::AssociateVariationParams("QUIC", "Enabled", field_trial_params);
base::FieldTrialList::CreateFieldTrial("QUIC", "Enabled");
ParseFieldTrials();
net::QuicVersionVector supported_versions;
supported_versions.push_back(net::AllSupportedVersions().front());
supported_versions.push_back(net::AllSupportedVersions().back());
EXPECT_EQ(supported_versions, params_.quic_supported_versions);
}
TEST_F(NetworkSessionConfiguratorTest, SameQuicVersionsFromFieldTrialParams) {
std::map<std::string, std::string> field_trial_params;
std::string quic_versions =
net::QuicVersionToString(net::AllSupportedVersions().front()) + "," +
net::QuicVersionToString(net::AllSupportedVersions().front());
field_trial_params["quic_version"] = quic_versions;
variations::AssociateVariationParams("QUIC", "Enabled", field_trial_params);
base::FieldTrialList::CreateFieldTrial("QUIC", "Enabled");
ParseFieldTrials();
net::QuicVersionVector supported_versions;
supported_versions.push_back(net::AllSupportedVersions().front());
EXPECT_EQ(supported_versions, params_.quic_supported_versions);
}
TEST_F(NetworkSessionConfiguratorTest, TEST_F(NetworkSessionConfiguratorTest,
QuicConnectionOptionsFromFieldTrialParams) { QuicConnectionOptionsFromFieldTrialParams) {
std::map<std::string, std::string> field_trial_params; std::map<std::string, std::string> field_trial_params;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment