Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(11)

Side by Side Diff: chrome/browser/io_thread.cc

Issue 1137073003: Add a new disable_insecure_quic finch parameter to disable insecure QUIC. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix comments Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « chrome/browser/io_thread.h ('k') | chrome/browser/io_thread_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/io_thread.h" 5 #include "chrome/browser/io_thread.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/base64.h" 9 #include "base/base64.h"
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 1164 matching lines...) Expand 10 before | Expand all | Expand 10 after
1175 &params->spdy_default_protocol); 1175 &params->spdy_default_protocol);
1176 params->next_protos = globals.next_protos; 1176 params->next_protos = globals.next_protos;
1177 globals.trusted_spdy_proxy.CopyToIfSet(&params->trusted_spdy_proxy); 1177 globals.trusted_spdy_proxy.CopyToIfSet(&params->trusted_spdy_proxy);
1178 params->forced_spdy_exclusions = globals.forced_spdy_exclusions; 1178 params->forced_spdy_exclusions = globals.forced_spdy_exclusions;
1179 globals.use_alternate_protocols.CopyToIfSet( 1179 globals.use_alternate_protocols.CopyToIfSet(
1180 &params->use_alternate_protocols); 1180 &params->use_alternate_protocols);
1181 globals.alternative_service_probability_threshold.CopyToIfSet( 1181 globals.alternative_service_probability_threshold.CopyToIfSet(
1182 &params->alternative_service_probability_threshold); 1182 &params->alternative_service_probability_threshold);
1183 1183
1184 globals.enable_quic.CopyToIfSet(&params->enable_quic); 1184 globals.enable_quic.CopyToIfSet(&params->enable_quic);
1185 globals.disable_insecure_quic.CopyToIfSet(&params->disable_insecure_quic);
1185 globals.enable_quic_for_proxies.CopyToIfSet(&params->enable_quic_for_proxies); 1186 globals.enable_quic_for_proxies.CopyToIfSet(&params->enable_quic_for_proxies);
1186 globals.quic_always_require_handshake_confirmation.CopyToIfSet( 1187 globals.quic_always_require_handshake_confirmation.CopyToIfSet(
1187 &params->quic_always_require_handshake_confirmation); 1188 &params->quic_always_require_handshake_confirmation);
1188 globals.quic_disable_connection_pooling.CopyToIfSet( 1189 globals.quic_disable_connection_pooling.CopyToIfSet(
1189 &params->quic_disable_connection_pooling); 1190 &params->quic_disable_connection_pooling);
1190 globals.quic_load_server_info_timeout_srtt_multiplier.CopyToIfSet( 1191 globals.quic_load_server_info_timeout_srtt_multiplier.CopyToIfSet(
1191 &params->quic_load_server_info_timeout_srtt_multiplier); 1192 &params->quic_load_server_info_timeout_srtt_multiplier);
1192 globals.quic_enable_connection_racing.CopyToIfSet( 1193 globals.quic_enable_connection_racing.CopyToIfSet(
1193 &params->quic_enable_connection_racing); 1194 &params->quic_enable_connection_racing);
1194 globals.quic_enable_non_blocking_io.CopyToIfSet( 1195 globals.quic_enable_non_blocking_io.CopyToIfSet(
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
1311 const VariationParameters& quic_trial_params, 1312 const VariationParameters& quic_trial_params,
1312 bool quic_allowed_by_policy, 1313 bool quic_allowed_by_policy,
1313 IOThread::Globals* globals) { 1314 IOThread::Globals* globals) {
1314 bool enable_quic = ShouldEnableQuic(command_line, quic_trial_group, 1315 bool enable_quic = ShouldEnableQuic(command_line, quic_trial_group,
1315 quic_allowed_by_policy); 1316 quic_allowed_by_policy);
1316 globals->enable_quic.set(enable_quic); 1317 globals->enable_quic.set(enable_quic);
1317 bool enable_quic_for_proxies = ShouldEnableQuicForProxies( 1318 bool enable_quic_for_proxies = ShouldEnableQuicForProxies(
1318 command_line, quic_trial_group, quic_allowed_by_policy); 1319 command_line, quic_trial_group, quic_allowed_by_policy);
1319 globals->enable_quic_for_proxies.set(enable_quic_for_proxies); 1320 globals->enable_quic_for_proxies.set(enable_quic_for_proxies);
1320 if (enable_quic) { 1321 if (enable_quic) {
1322 globals->disable_insecure_quic.set(
1323 ShouldDisableInsecureQuic(quic_trial_params));
1321 globals->quic_always_require_handshake_confirmation.set( 1324 globals->quic_always_require_handshake_confirmation.set(
1322 ShouldQuicAlwaysRequireHandshakeConfirmation(quic_trial_params)); 1325 ShouldQuicAlwaysRequireHandshakeConfirmation(quic_trial_params));
1323 globals->quic_disable_connection_pooling.set( 1326 globals->quic_disable_connection_pooling.set(
1324 ShouldQuicDisableConnectionPooling(quic_trial_params)); 1327 ShouldQuicDisableConnectionPooling(quic_trial_params));
1325 int receive_buffer_size = GetQuicSocketReceiveBufferSize(quic_trial_params); 1328 int receive_buffer_size = GetQuicSocketReceiveBufferSize(quic_trial_params);
1326 if (receive_buffer_size != 0) { 1329 if (receive_buffer_size != 0) {
1327 globals->quic_socket_receive_buffer_size.set(receive_buffer_size); 1330 globals->quic_socket_receive_buffer_size.set(receive_buffer_size);
1328 } 1331 }
1329 float load_server_info_timeout_srtt_multiplier = 1332 float load_server_info_timeout_srtt_multiplier =
1330 GetQuicLoadServerInfoTimeoutSrttMultiplier(quic_trial_params); 1333 GetQuicLoadServerInfoTimeoutSrttMultiplier(quic_trial_params);
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
1422 const base::CommandLine& command_line = 1425 const base::CommandLine& command_line =
1423 *base::CommandLine::ForCurrentProcess(); 1426 *base::CommandLine::ForCurrentProcess();
1424 1427
1425 if (command_line.HasSwitch(switches::kDisableQuic)) 1428 if (command_line.HasSwitch(switches::kDisableQuic))
1426 return false; 1429 return false;
1427 1430
1428 return data_reduction_proxy::DataReductionProxyParams:: 1431 return data_reduction_proxy::DataReductionProxyParams::
1429 IsIncludedInQuicFieldTrial(); 1432 IsIncludedInQuicFieldTrial();
1430 } 1433 }
1431 1434
1435 // static
1436 bool IOThread::ShouldDisableInsecureQuic(
1437 const VariationParameters& quic_trial_params) {
1438 return LowerCaseEqualsASCII(
1439 GetVariationParam(quic_trial_params, "disable_insecure_quic"),
1440 "true");
1441 }
1442
1432 bool IOThread::ShouldEnableQuicPortSelection( 1443 bool IOThread::ShouldEnableQuicPortSelection(
1433 const base::CommandLine& command_line) { 1444 const base::CommandLine& command_line) {
1434 if (command_line.HasSwitch(switches::kDisableQuicPortSelection)) 1445 if (command_line.HasSwitch(switches::kDisableQuicPortSelection))
1435 return false; 1446 return false;
1436 1447
1437 if (command_line.HasSwitch(switches::kEnableQuicPortSelection)) 1448 if (command_line.HasSwitch(switches::kEnableQuicPortSelection))
1438 return true; 1449 return true;
1439 1450
1440 return false; // Default to disabling port selection on all channels. 1451 return false; // Default to disabling port selection on all channels.
1441 } 1452 }
(...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after
1633 net::QuicVersionVector supported_versions = net::QuicSupportedVersions(); 1644 net::QuicVersionVector supported_versions = net::QuicSupportedVersions();
1634 for (size_t i = 0; i < supported_versions.size(); ++i) { 1645 for (size_t i = 0; i < supported_versions.size(); ++i) {
1635 net::QuicVersion version = supported_versions[i]; 1646 net::QuicVersion version = supported_versions[i];
1636 if (net::QuicVersionToString(version) == quic_version) { 1647 if (net::QuicVersionToString(version) == quic_version) {
1637 return version; 1648 return version;
1638 } 1649 }
1639 } 1650 }
1640 1651
1641 return net::QUIC_VERSION_UNSUPPORTED; 1652 return net::QUIC_VERSION_UNSUPPORTED;
1642 } 1653 }
OLDNEW
« no previous file with comments | « chrome/browser/io_thread.h ('k') | chrome/browser/io_thread_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698