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

Side by Side 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: Addressed comments and removed code duplication. 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "components/data_reduction_proxy/core/common/data_reduction_proxy_param s.h" 5 #include "components/data_reduction_proxy/core/common/data_reduction_proxy_param s.h"
6 6
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 12 matching lines...) Expand all
23 #include "net/proxy/proxy_service.h" 23 #include "net/proxy/proxy_service.h"
24 #include "net/url_request/url_request.h" 24 #include "net/url_request/url_request.h"
25 #include "net/url_request/url_request_context.h" 25 #include "net/url_request/url_request_context.h"
26 #include "url/url_constants.h" 26 #include "url/url_constants.h"
27 27
28 using base::FieldTrialList; 28 using base::FieldTrialList;
29 29
30 namespace { 30 namespace {
31 31
32 const char kEnabled[] = "Enabled"; 32 const char kEnabled[] = "Enabled";
33 const char kDefaultOrigin[] = "https://proxy.googlezip.net:443"; 33 const char kDefaultSpdyOrigin[] = "https://proxy.googlezip.net:443";
34 const char kDefaultQuicOrigin[] = "quic://proxy.googlezip.net:443";
34 const char kDevOrigin[] = "https://proxy-dev.googlezip.net:443"; 35 const char kDevOrigin[] = "https://proxy-dev.googlezip.net:443";
35 const char kDevFallbackOrigin[] = "proxy-dev.googlezip.net:80"; 36 const char kDevFallbackOrigin[] = "proxy-dev.googlezip.net:80";
36 const char kDefaultFallbackOrigin[] = "compress.googlezip.net:80"; 37 const char kDefaultFallbackOrigin[] = "compress.googlezip.net:80";
37 // This is for a proxy that supports HTTP CONNECT to tunnel SSL traffic. 38 // This is for a proxy that supports HTTP CONNECT to tunnel SSL traffic.
38 // The proxy listens on port 443, but uses the HTTP protocol to set up 39 // The proxy listens on port 443, but uses the HTTP protocol to set up
39 // the tunnel, not HTTPS. 40 // the tunnel, not HTTPS.
40 const char kDefaultSslOrigin[] = "ssl.googlezip.net:443"; 41 const char kDefaultSslOrigin[] = "ssl.googlezip.net:443";
41 const char kDefaultAltOrigin[] = "ssl.googlezip.net:80"; 42 const char kDefaultAltOrigin[] = "ssl.googlezip.net:80";
42 const char kDefaultAltFallbackOrigin[] = "ssl.googlezip.net:80"; 43 const char kDefaultAltFallbackOrigin[] = "ssl.googlezip.net:80";
43 const char kDefaultProbeUrl[] = "http://check.googlezip.net/connect"; 44 const char kDefaultProbeUrl[] = "http://check.googlezip.net/connect";
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
91 "DataReductionProxyRemoveMissingViaHeaderOtherBypass") == "Relaxed"; 92 "DataReductionProxyRemoveMissingViaHeaderOtherBypass") == "Relaxed";
92 } 93 }
93 94
94 // static 95 // static
95 bool DataReductionProxyParams::IsIncludedInAndroidOnePromoFieldTrial( 96 bool DataReductionProxyParams::IsIncludedInAndroidOnePromoFieldTrial(
96 const char* build_fingerprint) { 97 const char* build_fingerprint) {
97 base::StringPiece fingerprint(build_fingerprint); 98 base::StringPiece fingerprint(build_fingerprint);
98 return (fingerprint.find(kAndroidOneIdentifier) != std::string::npos); 99 return (fingerprint.find(kAndroidOneIdentifier) != std::string::npos);
99 } 100 }
100 101
102 // static
103 bool DataReductionProxyParams::IsIncludedInUseQUICFieldTrial() {
104 return FieldTrialList::FindFullName("DataReductionProxyUseQuic") == kEnabled;
105 }
106
107 void DataReductionProxyParams::SetIsQuicEnabledForProxies(
108 bool quic_enabled_for_proxies) {
109 quic_enabled_for_proxies_ = quic_enabled_for_proxies;
110 if (command_line_origin_.empty() && IsIncludedInUseQUICFieldTrial() &&
bengr 2015/02/10 20:18:31 I don't think you want to check if you're in the f
tbansal1 2015/02/10 22:24:38 I need to: quic_enabled_for_proxies_ can be true i
111 quic_enabled_for_proxies_)
112 origin_ = net::ProxyServer::FromURI(kDefaultQuicOrigin,
113 net::ProxyServer::SCHEME_HTTP);
114 }
115
101 DataReductionProxyTypeInfo::DataReductionProxyTypeInfo() 116 DataReductionProxyTypeInfo::DataReductionProxyTypeInfo()
102 : proxy_servers(), 117 : proxy_servers(),
103 is_fallback(false), 118 is_fallback(false),
104 is_alternative(false), 119 is_alternative(false),
105 is_ssl(false) { 120 is_ssl(false) {
106 } 121 }
107 122
108 DataReductionProxyTypeInfo::~DataReductionProxyTypeInfo(){ 123 DataReductionProxyTypeInfo::~DataReductionProxyTypeInfo(){
109 } 124 }
110 125
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after
267 command_line.GetSwitchValueASCII(switches::kDataReductionSSLProxy); 282 command_line.GetSwitchValueASCII(switches::kDataReductionSSLProxy);
268 std::string alt_origin = 283 std::string alt_origin =
269 command_line.GetSwitchValueASCII(switches::kDataReductionProxyAlt); 284 command_line.GetSwitchValueASCII(switches::kDataReductionProxyAlt);
270 std::string alt_fallback_origin = command_line.GetSwitchValueASCII( 285 std::string alt_fallback_origin = command_line.GetSwitchValueASCII(
271 switches::kDataReductionProxyAltFallback); 286 switches::kDataReductionProxyAltFallback);
272 287
273 configured_on_command_line_ = 288 configured_on_command_line_ =
274 !(origin.empty() && fallback_origin.empty() && ssl_origin.empty() && 289 !(origin.empty() && fallback_origin.empty() && ssl_origin.empty() &&
275 alt_origin.empty() && alt_fallback_origin.empty()); 290 alt_origin.empty() && alt_fallback_origin.empty());
276 291
292 // quic_globally_disabled_ = command_line.HasSwitch(switches::kDisableQuic);
bengr 2015/02/10 20:18:31 Remove dead code.
tbansal1 2015/02/10 22:24:38 Done.
277 293
278 // Configuring the proxy on the command line overrides the values of 294 // Configuring the proxy on the command line overrides the values of
279 // |allowed_| and |alt_allowed_|. 295 // |allowed_| and |alt_allowed_|.
280 if (configured_on_command_line_) 296 if (configured_on_command_line_)
281 allowed_ = true; 297 allowed_ = true;
282 if (!(ssl_origin.empty() && 298 if (!(ssl_origin.empty() &&
283 alt_origin.empty())) 299 alt_origin.empty()))
284 alt_allowed_ = true; 300 alt_allowed_ = true;
285 301
286 std::string probe_url = command_line.GetSwitchValueASCII( 302 std::string probe_url = command_line.GetSwitchValueASCII(
287 switches::kDataReductionProxyProbeURL); 303 switches::kDataReductionProxyProbeURL);
288 std::string warmup_url = command_line.GetSwitchValueASCII( 304 std::string warmup_url = command_line.GetSwitchValueASCII(
289 switches::kDataReductionProxyWarmupURL); 305 switches::kDataReductionProxyWarmupURL);
290 306
291 // Set from preprocessor constants those params that are not specified on the 307 // Set from preprocessor constants those params that are not specified on the
292 // command line. 308 // command line.
309 LOG(WARNING) << "InitWithoutChecks origin.empty()=" << origin.empty()
bengr 2015/02/10 20:18:31 Remove this logging. If you need it, don't use WAR
tbansal1 2015/02/10 22:24:38 Done.
310 << " GetDefaultDevOrigin()=" << GetDefaultDevOrigin();
311
293 if (origin.empty()) 312 if (origin.empty())
294 origin = GetDefaultDevOrigin(); 313 origin = GetDefaultDevOrigin();
314 command_line_origin_ = origin;
295 if (origin.empty()) 315 if (origin.empty())
296 origin = GetDefaultOrigin(); 316 origin = GetDefaultOrigin();
297 if (fallback_origin.empty()) 317 if (fallback_origin.empty())
298 fallback_origin = GetDefaultDevFallbackOrigin(); 318 fallback_origin = GetDefaultDevFallbackOrigin();
299 if (fallback_origin.empty()) 319 if (fallback_origin.empty())
300 fallback_origin = GetDefaultFallbackOrigin(); 320 fallback_origin = GetDefaultFallbackOrigin();
301 if (ssl_origin.empty()) 321 if (ssl_origin.empty())
302 ssl_origin = GetDefaultSSLOrigin(); 322 ssl_origin = GetDefaultSSLOrigin();
303 if (alt_origin.empty()) 323 if (alt_origin.empty())
304 alt_origin = GetDefaultAltOrigin(); 324 alt_origin = GetDefaultAltOrigin();
(...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after
513 } 533 }
514 534
515 if (retry_delay) 535 if (retry_delay)
516 *retry_delay = found->second.current_delay; 536 *retry_delay = found->second.current_delay;
517 537
518 return true; 538 return true;
519 } 539 }
520 540
521 // TODO(kundaji): Remove tests for macro definitions. 541 // TODO(kundaji): Remove tests for macro definitions.
522 std::string DataReductionProxyParams::GetDefaultOrigin() const { 542 std::string DataReductionProxyParams::GetDefaultOrigin() const {
523 return kDefaultOrigin; 543 return IsIncludedInUseQUICFieldTrial() && quic_enabled_for_proxies_
bengr 2015/02/10 20:18:31 Don't check the field trial here.
tbansal1 2015/02/10 22:24:38 see above.
544 ? kDefaultQuicOrigin
545 : kDefaultSpdyOrigin;
524 } 546 }
525 547
526 std::string DataReductionProxyParams::GetDefaultFallbackOrigin() const { 548 std::string DataReductionProxyParams::GetDefaultFallbackOrigin() const {
527 return kDefaultFallbackOrigin; 549 return kDefaultFallbackOrigin;
528 } 550 }
529 551
530 std::string DataReductionProxyParams::GetDefaultSSLOrigin() const { 552 std::string DataReductionProxyParams::GetDefaultSSLOrigin() const {
531 return kDefaultSslOrigin; 553 return kDefaultSslOrigin;
532 } 554 }
533 555
534 std::string DataReductionProxyParams::GetDefaultAltOrigin() const { 556 std::string DataReductionProxyParams::GetDefaultAltOrigin() const {
535 return kDefaultAltOrigin; 557 return kDefaultAltOrigin;
536 } 558 }
537 559
538 std::string DataReductionProxyParams::GetDefaultAltFallbackOrigin() const { 560 std::string DataReductionProxyParams::GetDefaultAltFallbackOrigin() const {
539 return kDefaultAltFallbackOrigin; 561 return kDefaultAltFallbackOrigin;
540 } 562 }
541 563
542 std::string DataReductionProxyParams::GetDefaultProbeURL() const { 564 std::string DataReductionProxyParams::GetDefaultProbeURL() const {
543 return kDefaultProbeUrl; 565 return kDefaultProbeUrl;
544 } 566 }
545 567
546 std::string DataReductionProxyParams::GetDefaultWarmupURL() const { 568 std::string DataReductionProxyParams::GetDefaultWarmupURL() const {
547 return kDefaultWarmupUrl; 569 return kDefaultWarmupUrl;
548 } 570 }
549 571
550 } // namespace data_reduction_proxy 572 } // namespace data_reduction_proxy
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698