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

Unified Diff: chrome/browser/io_thread.cc

Issue 903213003: Enable QUIC for proxies based on Finch config and command line switch. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressed Ben's comments Created 5 years, 10 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/io_thread.cc
diff --git a/chrome/browser/io_thread.cc b/chrome/browser/io_thread.cc
index 9ef53eeac4556f6865d2b244199b8d94a453161e..0e73658e9782c3ea674148feb9c3d6d79eee2d8f 100644
--- a/chrome/browser/io_thread.cc
+++ b/chrome/browser/io_thread.cc
@@ -41,6 +41,7 @@
#include "chrome/common/chrome_version_info.h"
#include "chrome/common/pref_names.h"
#include "components/data_reduction_proxy/core/browser/data_reduction_proxy_prefs.h"
+#include "components/data_reduction_proxy/core/common/data_reduction_proxy_params.h"
#include "components/policy/core/common/policy_service.h"
#include "components/variations/variations_associated_data.h"
#include "content/public/browser/browser_thread.h"
@@ -1030,6 +1031,7 @@ void IOThread::InitializeNetworkSessionParamsFromGlobals(
&params->alternate_protocol_probability_threshold);
globals.enable_quic.CopyToIfSet(&params->enable_quic);
+ globals.enable_quic_for_proxies.CopyToIfSet(&params->enable_quic_for_proxies);
globals.quic_always_require_handshake_confirmation.CopyToIfSet(
&params->quic_always_require_handshake_confirmation);
globals.quic_disable_connection_pooling.CopyToIfSet(
@@ -1150,6 +1152,9 @@ void IOThread::ConfigureQuicGlobals(
IOThread::Globals* globals) {
bool enable_quic = ShouldEnableQuic(command_line, quic_trial_group);
globals->enable_quic.set(enable_quic);
+ bool enable_quic_for_proxies = ShouldEnableQuicForProxies(command_line,
+ quic_trial_group);
+ globals->enable_quic_for_proxies.set(enable_quic_for_proxies);
if (enable_quic) {
mmenke 2015/02/12 18:10:45 Having quic disabled but enabled for proxies seems
tbansal1 2015/02/13 17:10:40 Acknowledged.
globals->quic_always_require_handshake_confirmation.set(
ShouldQuicAlwaysRequireHandshakeConfirmation(quic_trial_params));
@@ -1229,6 +1234,25 @@ bool IOThread::ShouldEnableQuic(const base::CommandLine& command_line,
quic_trial_group.starts_with(kQuicFieldTrialHttpsEnabledGroupName);
}
+// static
+std::string IOThread::QuicTrialGroup() {
+ std::string group =
+ base::FieldTrialList::FindFullName(kQuicFieldTrialName);
+ return group;
+}
+
+// static
+bool IOThread::ShouldEnableQuicForProxies(
+ const base::CommandLine& command_line,
+ base::StringPiece quic_trial_group) {
mmenke 2015/02/12 18:10:45 Why does this need to take the command line, or th
bengr 2015/02/12 18:15:02 Agreed. I left the same comment.
tbansal1 2015/02/13 17:10:40 Done.
+ if (command_line.HasSwitch(switches::kDisableQuic))
+ return false;
+
+ return ShouldEnableQuic(command_line, quic_trial_group) ||
+ data_reduction_proxy::DataReductionProxyParams::
+ IsIncludedInQuicFieldTrial();
+}
+
bool IOThread::ShouldEnableQuicPortSelection(
const base::CommandLine& command_line) {
if (command_line.HasSwitch(switches::kDisableQuicPortSelection))

Powered by Google App Engine
This is Rietveld 408576698