| Index: chrome/browser/io_thread.cc
|
| diff --git a/chrome/browser/io_thread.cc b/chrome/browser/io_thread.cc
|
| index a8be562eed41749215eea52175cdf0b7f97c4b17..b8dda317216bb3cb71926fac76f54c22622c89bc 100644
|
| --- a/chrome/browser/io_thread.cc
|
| +++ b/chrome/browser/io_thread.cc
|
| @@ -1102,6 +1102,8 @@
|
| ¶ms->parse_alternative_services);
|
| globals.enable_alternative_service_with_different_host.CopyToIfSet(
|
| ¶ms->enable_alternative_service_with_different_host);
|
| + globals.alternative_service_probability_threshold.CopyToIfSet(
|
| + ¶ms->alternative_service_probability_threshold);
|
|
|
| globals.enable_npn.CopyToIfSet(¶ms->enable_npn);
|
|
|
| @@ -1328,6 +1330,14 @@
|
| globals->quic_supported_versions.set(supported_versions);
|
| }
|
|
|
| + double threshold = GetAlternativeProtocolProbabilityThreshold(
|
| + command_line, quic_trial_params);
|
| + if (threshold >=0 && threshold <= 1) {
|
| + globals->alternative_service_probability_threshold.set(threshold);
|
| + globals->http_server_properties->SetAlternativeServiceProbabilityThreshold(
|
| + threshold);
|
| + }
|
| +
|
| if (command_line.HasSwitch(switches::kOriginToForceQuicOn)) {
|
| net::HostPortPair quic_origin =
|
| net::HostPortPair::FromString(
|
| @@ -1403,6 +1413,39 @@
|
| }
|
|
|
| return net::QuicUtils::ParseQuicConnectionOptions(it->second);
|
| +}
|
| +
|
| +double IOThread::GetAlternativeProtocolProbabilityThreshold(
|
| + const base::CommandLine& command_line,
|
| + const VariationParameters& quic_trial_params) {
|
| + double value;
|
| + if (command_line.HasSwitch(
|
| + switches::kAlternativeServiceProbabilityThreshold)) {
|
| + if (base::StringToDouble(
|
| + command_line.GetSwitchValueASCII(
|
| + switches::kAlternativeServiceProbabilityThreshold),
|
| + &value)) {
|
| + return value;
|
| + }
|
| + }
|
| + if (command_line.HasSwitch(switches::kEnableQuic)) {
|
| + return 0;
|
| + }
|
| + // TODO(bnc): Remove when new parameter name rolls out and server
|
| + // configuration is changed.
|
| + if (base::StringToDouble(
|
| + GetVariationParam(quic_trial_params,
|
| + "alternate_protocol_probability_threshold"),
|
| + &value)) {
|
| + return value;
|
| + }
|
| + if (base::StringToDouble(
|
| + GetVariationParam(quic_trial_params,
|
| + "alternative_service_probability_threshold"),
|
| + &value)) {
|
| + return value;
|
| + }
|
| + return -1;
|
| }
|
|
|
| bool IOThread::ShouldQuicAlwaysRequireHandshakeConfirmation(
|
|
|