Commit 81ff1d01 authored by Ryan Hamilton's avatar Ryan Hamilton Committed by Commit Bot

Allow QUIC versions to be specified via ALPN strings in both finch and --quic_version.

Change-Id: I67f7388eb33ae55ff527f31d9c0eb73dd4f2eb19
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1778965
Auto-Submit: Ryan Hamilton <rch@chromium.org>
Reviewed-by: default avatarBrad Lassey <lassey@chromium.org>
Commit-Queue: Ryan Hamilton <rch@chromium.org>
Cr-Commit-Position: refs/heads/master@{#692334}
parent 0790bb00
...@@ -634,6 +634,12 @@ quic::ParsedQuicVersionVector ParseQuicVersions( ...@@ -634,6 +634,12 @@ quic::ParsedQuicVersionVector ParseQuicVersions(
} }
it++; it++;
} }
for (const auto& supported_version : quic::AllSupportedVersions()) {
if (quic::AlpnForVersion(supported_version) == version) {
supported_versions.push_back(supported_version);
break;
}
}
} }
return supported_versions; return supported_versions;
} }
......
...@@ -508,6 +508,19 @@ TEST_F(NetworkSessionConfiguratorTest, QuicVersionFromFieldTrialParams) { ...@@ -508,6 +508,19 @@ TEST_F(NetworkSessionConfiguratorTest, QuicVersionFromFieldTrialParams) {
EXPECT_EQ(supported_versions, params_.quic_params.supported_versions); EXPECT_EQ(supported_versions, params_.quic_params.supported_versions);
} }
TEST_F(NetworkSessionConfiguratorTest, QuicVersionFromFieldTrialParamsAlpn) {
std::map<std::string, std::string> field_trial_params;
field_trial_params["quic_version"] = "h3-T048";
variations::AssociateVariationParams("QUIC", "Enabled", field_trial_params);
base::FieldTrialList::CreateFieldTrial("QUIC", "Enabled");
ParseFieldTrials();
quic::ParsedQuicVersionVector supported_versions = {
{quic::PROTOCOL_TLS1_3, quic::QUIC_VERSION_48}};
EXPECT_EQ(supported_versions, params_.quic_params.supported_versions);
}
TEST_F(NetworkSessionConfiguratorTest, TEST_F(NetworkSessionConfiguratorTest,
MultipleQuicVersionFromFieldTrialParams) { MultipleQuicVersionFromFieldTrialParams) {
std::map<std::string, std::string> field_trial_params; std::map<std::string, std::string> field_trial_params;
...@@ -703,6 +716,18 @@ TEST_F(NetworkSessionConfiguratorTest, QuicVersion) { ...@@ -703,6 +716,18 @@ TEST_F(NetworkSessionConfiguratorTest, QuicVersion) {
} }
} }
TEST_F(NetworkSessionConfiguratorTest, QuicVersionAlpn) {
base::CommandLine command_line(base::CommandLine::NO_PROGRAM);
command_line.AppendSwitch(switches::kEnableQuic);
command_line.AppendSwitchASCII(switches::kQuicVersion, "h3-T048");
ParseCommandLineAndFieldTrials(command_line);
quic::ParsedQuicVersionVector supported_versions = {
{quic::PROTOCOL_TLS1_3, quic::QUIC_VERSION_48}};
EXPECT_EQ(supported_versions, params_.quic_params.supported_versions);
}
TEST_F(NetworkSessionConfiguratorTest, OriginToForceQuicOn) { TEST_F(NetworkSessionConfiguratorTest, OriginToForceQuicOn) {
base::CommandLine command_line(base::CommandLine::NO_PROGRAM); base::CommandLine command_line(base::CommandLine::NO_PROGRAM);
command_line.AppendSwitch(switches::kEnableQuic); command_line.AppendSwitch(switches::kEnableQuic);
......
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