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 <utility> | 7 #include <utility> |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/base64.h" | 10 #include "base/base64.h" |
(...skipping 981 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
992 net::HttpStreamFactory::set_spdy_enabled(spdy_enabled); | 992 net::HttpStreamFactory::set_spdy_enabled(spdy_enabled); |
993 return; | 993 return; |
994 } | 994 } |
995 } | 995 } |
996 | 996 |
997 // static | 997 // static |
998 void IOThread::NetworkSessionConfigurator::ConfigureAltSvcParams( | 998 void IOThread::NetworkSessionConfigurator::ConfigureAltSvcParams( |
999 const base::CommandLine& command_line, | 999 const base::CommandLine& command_line, |
1000 base::StringPiece altsvc_trial_group, | 1000 base::StringPiece altsvc_trial_group, |
1001 net::HttpNetworkSession::Params* params) { | 1001 net::HttpNetworkSession::Params* params) { |
1002 if (command_line.HasSwitch(switches::kEnableAlternativeServices) || | 1002 if (altsvc_trial_group.starts_with(kAltSvcFieldTrialEnabledPrefix)) { |
1003 altsvc_trial_group.starts_with(kAltSvcFieldTrialEnabledPrefix)) { | |
1004 params->parse_alternative_services = true; | 1003 params->parse_alternative_services = true; |
1005 return; | 1004 return; |
1006 } | 1005 } |
1007 if (altsvc_trial_group.starts_with(kAltSvcFieldTrialDisabledPrefix)) { | 1006 if (altsvc_trial_group.starts_with(kAltSvcFieldTrialDisabledPrefix)) { |
1008 params->parse_alternative_services = false; | 1007 params->parse_alternative_services = false; |
1009 } | 1008 } |
1010 } | 1009 } |
1011 | 1010 |
1012 // static | 1011 // static |
1013 void IOThread::NetworkSessionConfigurator::ConfigureNPNParams( | 1012 void IOThread::NetworkSessionConfigurator::ConfigureNPNParams( |
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1175 const base::CommandLine& command_line, | 1174 const base::CommandLine& command_line, |
1176 base::StringPiece quic_trial_group, | 1175 base::StringPiece quic_trial_group, |
1177 const VariationParameters& quic_trial_params, | 1176 const VariationParameters& quic_trial_params, |
1178 bool is_quic_allowed_by_policy, | 1177 bool is_quic_allowed_by_policy, |
1179 net::HttpNetworkSession::Params* params) { | 1178 net::HttpNetworkSession::Params* params) { |
1180 params->enable_quic = ShouldEnableQuic(command_line, quic_trial_group, | 1179 params->enable_quic = ShouldEnableQuic(command_line, quic_trial_group, |
1181 is_quic_allowed_by_policy); | 1180 is_quic_allowed_by_policy); |
1182 params->disable_quic_on_timeout_with_open_streams = | 1181 params->disable_quic_on_timeout_with_open_streams = |
1183 ShouldDisableQuicWhenConnectionTimesOutWithOpenStreams(quic_trial_params); | 1182 ShouldDisableQuicWhenConnectionTimesOutWithOpenStreams(quic_trial_params); |
1184 | 1183 |
1185 if (ShouldQuicEnableAlternativeServicesForDifferentHost(command_line, | 1184 params->enable_alternative_service_with_different_host = |
1186 quic_trial_params)) { | 1185 ShouldQuicEnableAlternativeServicesForDifferentHost(command_line, |
1187 params->enable_alternative_service_with_different_host = true; | 1186 quic_trial_params); |
1188 params->parse_alternative_services = true; | |
1189 } else { | |
1190 params->enable_alternative_service_with_different_host = false; | |
1191 } | |
1192 | 1187 |
1193 if (params->enable_quic) { | 1188 if (params->enable_quic) { |
1194 params->quic_always_require_handshake_confirmation = | 1189 params->quic_always_require_handshake_confirmation = |
1195 ShouldQuicAlwaysRequireHandshakeConfirmation(quic_trial_params); | 1190 ShouldQuicAlwaysRequireHandshakeConfirmation(quic_trial_params); |
1196 params->quic_disable_connection_pooling = | 1191 params->quic_disable_connection_pooling = |
1197 ShouldQuicDisableConnectionPooling(quic_trial_params); | 1192 ShouldQuicDisableConnectionPooling(quic_trial_params); |
1198 int receive_buffer_size = GetQuicSocketReceiveBufferSize(quic_trial_params); | 1193 int receive_buffer_size = GetQuicSocketReceiveBufferSize(quic_trial_params); |
1199 if (receive_buffer_size != 0) { | 1194 if (receive_buffer_size != 0) { |
1200 params->quic_socket_receive_buffer_size = receive_buffer_size; | 1195 params->quic_socket_receive_buffer_size = receive_buffer_size; |
1201 } | 1196 } |
(...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1393 const VariationParameters& quic_trial_params) { | 1388 const VariationParameters& quic_trial_params) { |
1394 return base::LowerCaseEqualsASCII( | 1389 return base::LowerCaseEqualsASCII( |
1395 GetVariationParam(quic_trial_params, "prefer_aes"), "true"); | 1390 GetVariationParam(quic_trial_params, "prefer_aes"), "true"); |
1396 } | 1391 } |
1397 | 1392 |
1398 // static | 1393 // static |
1399 bool IOThread::NetworkSessionConfigurator:: | 1394 bool IOThread::NetworkSessionConfigurator:: |
1400 ShouldQuicEnableAlternativeServicesForDifferentHost( | 1395 ShouldQuicEnableAlternativeServicesForDifferentHost( |
1401 const base::CommandLine& command_line, | 1396 const base::CommandLine& command_line, |
1402 const VariationParameters& quic_trial_params) { | 1397 const VariationParameters& quic_trial_params) { |
1403 // TODO(bnc): Remove inaccurately named "use_alternative_services" parameter. | 1398 return !base::LowerCaseEqualsASCII( |
1404 return command_line.HasSwitch(switches::kEnableAlternativeServices) || | 1399 GetVariationParam(quic_trial_params, |
1405 base::LowerCaseEqualsASCII( | 1400 "enable_alternative_service_with_different_host"), |
1406 GetVariationParam(quic_trial_params, "use_alternative_services"), | 1401 "false"); |
1407 "true") || | |
1408 base::LowerCaseEqualsASCII( | |
1409 GetVariationParam( | |
1410 quic_trial_params, | |
1411 "enable_alternative_service_with_different_host"), | |
1412 "true"); | |
1413 } | 1402 } |
1414 | 1403 |
1415 // static | 1404 // static |
1416 int IOThread::NetworkSessionConfigurator::GetQuicMaxNumberOfLossyConnections( | 1405 int IOThread::NetworkSessionConfigurator::GetQuicMaxNumberOfLossyConnections( |
1417 const VariationParameters& quic_trial_params) { | 1406 const VariationParameters& quic_trial_params) { |
1418 int value; | 1407 int value; |
1419 if (base::StringToInt(GetVariationParam(quic_trial_params, | 1408 if (base::StringToInt(GetVariationParam(quic_trial_params, |
1420 "max_number_of_lossy_connections"), | 1409 "max_number_of_lossy_connections"), |
1421 &value)) { | 1410 &value)) { |
1422 return value; | 1411 return value; |
(...skipping 284 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1707 // TODO(rtenneti): We should probably use HttpServerPropertiesManager for the | 1696 // TODO(rtenneti): We should probably use HttpServerPropertiesManager for the |
1708 // system URLRequestContext too. There's no reason this should be tied to a | 1697 // system URLRequestContext too. There's no reason this should be tied to a |
1709 // profile. | 1698 // profile. |
1710 return context; | 1699 return context; |
1711 } | 1700 } |
1712 | 1701 |
1713 const metrics::UpdateUsagePrefCallbackType& | 1702 const metrics::UpdateUsagePrefCallbackType& |
1714 IOThread::GetMetricsDataUseForwarder() { | 1703 IOThread::GetMetricsDataUseForwarder() { |
1715 return metrics_data_use_forwarder_; | 1704 return metrics_data_use_forwarder_; |
1716 } | 1705 } |
OLD | NEW |