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

Unified Diff: components/data_reduction_proxy/core/common/data_reduction_proxy_params.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: Fixed formatting 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: components/data_reduction_proxy/core/common/data_reduction_proxy_params.cc
diff --git a/components/data_reduction_proxy/core/common/data_reduction_proxy_params.cc b/components/data_reduction_proxy/core/common/data_reduction_proxy_params.cc
index 4f0ca9a060c10bd51ab4567e1bbf06e50d52d701..65026e88f3e706c2957b18a64a9e87632784e139 100644
--- a/components/data_reduction_proxy/core/common/data_reduction_proxy_params.cc
+++ b/components/data_reduction_proxy/core/common/data_reduction_proxy_params.cc
@@ -30,7 +30,8 @@ using base::FieldTrialList;
namespace {
const char kEnabled[] = "Enabled";
-const char kDefaultOrigin[] = "https://proxy.googlezip.net:443";
+const char kDefaultSpdyOrigin[] = "https://proxy.googlezip.net:443";
+const char kDefaultQuicOrigin[] = "quic://proxy.googlezip.net:443";
const char kDevOrigin[] = "https://proxy-dev.googlezip.net:443";
const char kDevFallbackOrigin[] = "proxy-dev.googlezip.net:80";
const char kDefaultFallbackOrigin[] = "compress.googlezip.net:80";
@@ -44,6 +45,8 @@ const char kDefaultProbeUrl[] = "http://check.googlezip.net/connect";
const char kDefaultWarmupUrl[] = "http://www.gstatic.com/generate_204";
const char kAndroidOneIdentifier[] = "sprout";
+
+const char kUseQuicFieldTrial[] = "DataReductionProxyUseQuic";
} // namespace
namespace data_reduction_proxy {
@@ -98,6 +101,24 @@ bool DataReductionProxyParams::IsIncludedInAndroidOnePromoFieldTrial(
return (fingerprint.find(kAndroidOneIdentifier) != std::string::npos);
}
+// static
+bool DataReductionProxyParams::IsIncludedInUseQUICFieldTrial() {
+ return FieldTrialList::FindFullName(kUseQuicFieldTrial) == kEnabled;
+}
+
+// static
+std::string DataReductionProxyParams::GetFieldTrialName() {
+ return kUseQuicFieldTrial;
+}
+
+void DataReductionProxyParams::EnableQUIC(bool quic_enabled_for_proxies) {
+ quic_enabled_for_proxies_ = quic_enabled_for_proxies;
+ if (command_line_origin_.empty() && IsIncludedInUseQUICFieldTrial() &&
+ quic_enabled_for_proxies_)
+ origin_ = net::ProxyServer::FromURI(kDefaultQuicOrigin,
+ net::ProxyServer::SCHEME_HTTP);
+}
+
DataReductionProxyTypeInfo::DataReductionProxyTypeInfo()
: proxy_servers(),
is_fallback(false),
@@ -292,6 +313,7 @@ void DataReductionProxyParams::InitWithoutChecks() {
// command line.
if (origin.empty())
origin = GetDefaultDevOrigin();
+ command_line_origin_ = origin;
if (origin.empty())
origin = GetDefaultOrigin();
if (fallback_origin.empty())
@@ -520,7 +542,9 @@ bool DataReductionProxyParams::IsProxyBypassed(
// TODO(kundaji): Remove tests for macro definitions.
std::string DataReductionProxyParams::GetDefaultOrigin() const {
- return kDefaultOrigin;
+ return IsIncludedInUseQUICFieldTrial() && quic_enabled_for_proxies_
+ ? kDefaultQuicOrigin
+ : kDefaultSpdyOrigin;
}
std::string DataReductionProxyParams::GetDefaultFallbackOrigin() const {

Powered by Google App Engine
This is Rietveld 408576698