| Index: chrome/browser/io_thread.cc
|
| diff --git a/chrome/browser/io_thread.cc b/chrome/browser/io_thread.cc
|
| index 150a758270be19cc738ea239c88449c46dbd9ef5..fd438c0da1e52336418127ce2831c970b325aaea 100644
|
| --- a/chrome/browser/io_thread.cc
|
| +++ b/chrome/browser/io_thread.cc
|
| @@ -1178,6 +1178,8 @@ void IOThread::InitializeNetworkSessionParamsFromGlobals(
|
| ¶ms->quic_idle_connection_timeout_seconds);
|
| globals.quic_disable_preconnect_if_0rtt.CopyToIfSet(
|
| ¶ms->quic_disable_preconnect_if_0rtt);
|
| + if (!globals.quic_host_whitelist.empty())
|
| + params->quic_host_whitelist = globals.quic_host_whitelist;
|
|
|
| globals.origin_to_force_quic_on.CopyToIfSet(
|
| ¶ms->origin_to_force_quic_on);
|
| @@ -1317,6 +1319,8 @@ void IOThread::ConfigureQuicGlobals(
|
| }
|
| globals->quic_disable_preconnect_if_0rtt.set(
|
| ShouldQuicDisablePreConnectIfZeroRtt(quic_trial_params));
|
| + globals->quic_host_whitelist =
|
| + GetQuicHostWhitelist(command_line, quic_trial_params);
|
| }
|
|
|
| size_t max_packet_length = GetQuicMaxPacketLength(command_line,
|
| @@ -1576,6 +1580,24 @@ bool IOThread::ShouldQuicDisablePreConnectIfZeroRtt(
|
| "true");
|
| }
|
|
|
| +std::unordered_set<std::string> IOThread::GetQuicHostWhitelist(
|
| + const base::CommandLine& command_line,
|
| + const VariationParameters& quic_trial_params) {
|
| + std::string whitelist;
|
| + if (command_line.HasSwitch(switches::kQuicHostWhitelist)) {
|
| + whitelist = command_line.GetSwitchValueASCII(switches::kQuicHostWhitelist);
|
| + } else {
|
| + whitelist = GetVariationParam(quic_trial_params, "quic_host_whitelist");
|
| + }
|
| + std::unordered_set<std::string> hosts;
|
| + for (const std::string& host :base::SplitString(whitelist, ",",
|
| + base::TRIM_WHITESPACE,
|
| + base::SPLIT_WANT_ALL)) {
|
| + hosts.insert(host);
|
| + }
|
| + return hosts;
|
| +}
|
| +
|
| size_t IOThread::GetQuicMaxPacketLength(
|
| const base::CommandLine& command_line,
|
| const VariationParameters& quic_trial_params) {
|
|
|