OLD | NEW |
---|---|
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 24 matching lines...) Expand all Loading... | |
35 #include "chrome/browser/net/chrome_network_delegate.h" | 35 #include "chrome/browser/net/chrome_network_delegate.h" |
36 #include "chrome/browser/net/connect_interceptor.h" | 36 #include "chrome/browser/net/connect_interceptor.h" |
37 #include "chrome/browser/net/dns_probe_service.h" | 37 #include "chrome/browser/net/dns_probe_service.h" |
38 #include "chrome/browser/net/pref_proxy_config_tracker.h" | 38 #include "chrome/browser/net/pref_proxy_config_tracker.h" |
39 #include "chrome/browser/net/proxy_service_factory.h" | 39 #include "chrome/browser/net/proxy_service_factory.h" |
40 #include "chrome/common/chrome_content_client.h" | 40 #include "chrome/common/chrome_content_client.h" |
41 #include "chrome/common/chrome_switches.h" | 41 #include "chrome/common/chrome_switches.h" |
42 #include "chrome/common/chrome_version_info.h" | 42 #include "chrome/common/chrome_version_info.h" |
43 #include "chrome/common/pref_names.h" | 43 #include "chrome/common/pref_names.h" |
44 #include "components/data_reduction_proxy/core/browser/data_reduction_proxy_pref s.h" | 44 #include "components/data_reduction_proxy/core/browser/data_reduction_proxy_pref s.h" |
45 #include "components/data_reduction_proxy/core/common/data_reduction_proxy_param s.h" | |
45 #include "components/policy/core/common/policy_service.h" | 46 #include "components/policy/core/common/policy_service.h" |
46 #include "components/variations/variations_associated_data.h" | 47 #include "components/variations/variations_associated_data.h" |
47 #include "content/public/browser/browser_thread.h" | 48 #include "content/public/browser/browser_thread.h" |
48 #include "content/public/browser/cookie_store_factory.h" | 49 #include "content/public/browser/cookie_store_factory.h" |
49 #include "net/base/host_mapping_rules.h" | 50 #include "net/base/host_mapping_rules.h" |
50 #include "net/base/net_util.h" | 51 #include "net/base/net_util.h" |
51 #include "net/cert/cert_policy_enforcer.h" | 52 #include "net/cert/cert_policy_enforcer.h" |
52 #include "net/cert/cert_verifier.h" | 53 #include "net/cert/cert_verifier.h" |
53 #include "net/cert/cert_verify_proc.h" | 54 #include "net/cert/cert_verify_proc.h" |
54 #include "net/cert/ct_known_logs.h" | 55 #include "net/cert/ct_known_logs.h" |
(...skipping 977 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1032 globals.trusted_spdy_proxy.CopyToIfSet(¶ms->trusted_spdy_proxy); | 1033 globals.trusted_spdy_proxy.CopyToIfSet(¶ms->trusted_spdy_proxy); |
1033 globals.force_spdy_over_ssl.CopyToIfSet(¶ms->force_spdy_over_ssl); | 1034 globals.force_spdy_over_ssl.CopyToIfSet(¶ms->force_spdy_over_ssl); |
1034 globals.force_spdy_always.CopyToIfSet(¶ms->force_spdy_always); | 1035 globals.force_spdy_always.CopyToIfSet(¶ms->force_spdy_always); |
1035 params->forced_spdy_exclusions = globals.forced_spdy_exclusions; | 1036 params->forced_spdy_exclusions = globals.forced_spdy_exclusions; |
1036 globals.use_alternate_protocols.CopyToIfSet( | 1037 globals.use_alternate_protocols.CopyToIfSet( |
1037 ¶ms->use_alternate_protocols); | 1038 ¶ms->use_alternate_protocols); |
1038 globals.alternate_protocol_probability_threshold.CopyToIfSet( | 1039 globals.alternate_protocol_probability_threshold.CopyToIfSet( |
1039 ¶ms->alternate_protocol_probability_threshold); | 1040 ¶ms->alternate_protocol_probability_threshold); |
1040 | 1041 |
1041 globals.enable_quic.CopyToIfSet(¶ms->enable_quic); | 1042 globals.enable_quic.CopyToIfSet(¶ms->enable_quic); |
1043 globals.enable_quic_for_proxies.CopyToIfSet(¶ms->enable_quic_for_proxies); | |
1042 globals.quic_always_require_handshake_confirmation.CopyToIfSet( | 1044 globals.quic_always_require_handshake_confirmation.CopyToIfSet( |
1043 ¶ms->quic_always_require_handshake_confirmation); | 1045 ¶ms->quic_always_require_handshake_confirmation); |
1044 globals.quic_disable_connection_pooling.CopyToIfSet( | 1046 globals.quic_disable_connection_pooling.CopyToIfSet( |
1045 ¶ms->quic_disable_connection_pooling); | 1047 ¶ms->quic_disable_connection_pooling); |
1046 globals.quic_load_server_info_timeout_ms.CopyToIfSet( | 1048 globals.quic_load_server_info_timeout_ms.CopyToIfSet( |
1047 ¶ms->quic_load_server_info_timeout_ms); | 1049 ¶ms->quic_load_server_info_timeout_ms); |
1048 globals.quic_load_server_info_timeout_srtt_multiplier.CopyToIfSet( | 1050 globals.quic_load_server_info_timeout_srtt_multiplier.CopyToIfSet( |
1049 ¶ms->quic_load_server_info_timeout_srtt_multiplier); | 1051 ¶ms->quic_load_server_info_timeout_srtt_multiplier); |
1050 globals.quic_enable_truncated_connection_ids.CopyToIfSet( | 1052 globals.quic_enable_truncated_connection_ids.CopyToIfSet( |
1051 ¶ms->quic_enable_truncated_connection_ids); | 1053 ¶ms->quic_enable_truncated_connection_ids); |
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1161 } | 1163 } |
1162 | 1164 |
1163 // static | 1165 // static |
1164 void IOThread::ConfigureQuicGlobals( | 1166 void IOThread::ConfigureQuicGlobals( |
1165 const base::CommandLine& command_line, | 1167 const base::CommandLine& command_line, |
1166 base::StringPiece quic_trial_group, | 1168 base::StringPiece quic_trial_group, |
1167 const VariationParameters& quic_trial_params, | 1169 const VariationParameters& quic_trial_params, |
1168 IOThread::Globals* globals) { | 1170 IOThread::Globals* globals) { |
1169 bool enable_quic = ShouldEnableQuic(command_line, quic_trial_group); | 1171 bool enable_quic = ShouldEnableQuic(command_line, quic_trial_group); |
1170 globals->enable_quic.set(enable_quic); | 1172 globals->enable_quic.set(enable_quic); |
1173 bool enable_quic_for_proxies = ShouldEnableQuicForProxies(command_line, | |
1174 quic_trial_group); | |
1175 globals->enable_quic_for_proxies.set(enable_quic_for_proxies); | |
1176 | |
1177 bool enable_quic_for_data_reduction_proxy = | |
1178 ShouldEnableQuicForDataReductionProxy(command_line, quic_trial_group); | |
1179 globals->enable_quic_for_data_reduction_proxy.set( | |
1180 enable_quic_for_data_reduction_proxy); | |
1181 | |
1171 if (enable_quic) { | 1182 if (enable_quic) { |
1172 globals->quic_always_require_handshake_confirmation.set( | 1183 globals->quic_always_require_handshake_confirmation.set( |
1173 ShouldQuicAlwaysRequireHandshakeConfirmation(quic_trial_params)); | 1184 ShouldQuicAlwaysRequireHandshakeConfirmation(quic_trial_params)); |
1174 globals->quic_disable_connection_pooling.set( | 1185 globals->quic_disable_connection_pooling.set( |
1175 ShouldQuicDisableConnectionPooling(quic_trial_params)); | 1186 ShouldQuicDisableConnectionPooling(quic_trial_params)); |
1176 int load_server_info_timeout_ms = | 1187 int load_server_info_timeout_ms = |
1177 GetQuicLoadServerInfoTimeout(quic_trial_params); | 1188 GetQuicLoadServerInfoTimeout(quic_trial_params); |
1178 if (load_server_info_timeout_ms != 0) { | 1189 if (load_server_info_timeout_ms != 0) { |
1179 globals->quic_load_server_info_timeout_ms.set( | 1190 globals->quic_load_server_info_timeout_ms.set( |
1180 load_server_info_timeout_ms); | 1191 load_server_info_timeout_ms); |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1242 if (command_line.HasSwitch(switches::kDisableQuic)) | 1253 if (command_line.HasSwitch(switches::kDisableQuic)) |
1243 return false; | 1254 return false; |
1244 | 1255 |
1245 if (command_line.HasSwitch(switches::kEnableQuic)) | 1256 if (command_line.HasSwitch(switches::kEnableQuic)) |
1246 return true; | 1257 return true; |
1247 | 1258 |
1248 return quic_trial_group.starts_with(kQuicFieldTrialEnabledGroupName) || | 1259 return quic_trial_group.starts_with(kQuicFieldTrialEnabledGroupName) || |
1249 quic_trial_group.starts_with(kQuicFieldTrialHttpsEnabledGroupName); | 1260 quic_trial_group.starts_with(kQuicFieldTrialHttpsEnabledGroupName); |
1250 } | 1261 } |
1251 | 1262 |
1263 // static | |
1264 bool IOThread::ShouldEnableQuicForProxies(const base::CommandLine& command_line, | |
1265 base::StringPiece quic_trial_group) { | |
1266 if (command_line.HasSwitch(switches::kDisableQuic)) | |
1267 return false; | |
1268 | |
1269 return ShouldEnableQuic(command_line, quic_trial_group) || | |
1270 data_reduction_proxy::DataReductionProxyParams:: | |
1271 IsIncludedInQuicFieldTrial(); | |
1272 } | |
1273 | |
1274 // static | |
1275 bool IOThread::ShouldEnableQuicForDataReductionProxy( | |
1276 const base::CommandLine& command_line, | |
1277 base::StringPiece quic_trial_group) { | |
1278 return ShouldEnableQuicForProxies(command_line, quic_trial_group) && | |
1279 data_reduction_proxy::DataReductionProxyParams:: | |
1280 IsIncludedInQuicFieldTrial(); | |
1281 } | |
Ryan Hamilton
2015/02/14 00:09:23
I stared at these two methods for about 10 minutes
tbansal1
2015/02/14 01:06:11
Done.
| |
1282 | |
1252 bool IOThread::ShouldEnableQuicPortSelection( | 1283 bool IOThread::ShouldEnableQuicPortSelection( |
1253 const base::CommandLine& command_line) { | 1284 const base::CommandLine& command_line) { |
1254 if (command_line.HasSwitch(switches::kDisableQuicPortSelection)) | 1285 if (command_line.HasSwitch(switches::kDisableQuicPortSelection)) |
1255 return false; | 1286 return false; |
1256 | 1287 |
1257 if (command_line.HasSwitch(switches::kEnableQuicPortSelection)) | 1288 if (command_line.HasSwitch(switches::kEnableQuicPortSelection)) |
1258 return true; | 1289 return true; |
1259 | 1290 |
1260 return false; // Default to disabling port selection on all channels. | 1291 return false; // Default to disabling port selection on all channels. |
1261 } | 1292 } |
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1414 net::QuicVersionVector supported_versions = net::QuicSupportedVersions(); | 1445 net::QuicVersionVector supported_versions = net::QuicSupportedVersions(); |
1415 for (size_t i = 0; i < supported_versions.size(); ++i) { | 1446 for (size_t i = 0; i < supported_versions.size(); ++i) { |
1416 net::QuicVersion version = supported_versions[i]; | 1447 net::QuicVersion version = supported_versions[i]; |
1417 if (net::QuicVersionToString(version) == quic_version) { | 1448 if (net::QuicVersionToString(version) == quic_version) { |
1418 return version; | 1449 return version; |
1419 } | 1450 } |
1420 } | 1451 } |
1421 | 1452 |
1422 return net::QUIC_VERSION_UNSUPPORTED; | 1453 return net::QUIC_VERSION_UNSUPPORTED; |
1423 } | 1454 } |
OLD | NEW |