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

Unified Diff: components/data_reduction_proxy/core/browser/data_reduction_proxy_bypass_protocol.cc

Issue 863203009: Store Proxy Servers as proxy servers and not GURLs. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed failing test code. 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/browser/data_reduction_proxy_bypass_protocol.cc
diff --git a/components/data_reduction_proxy/core/browser/data_reduction_proxy_bypass_protocol.cc b/components/data_reduction_proxy/core/browser/data_reduction_proxy_bypass_protocol.cc
index 81aeceae0b07f7cb25d62e20eef72448d7001a62..66dcd9c75a6ff78375ec264cb77febfcd51a96ac 100644
--- a/components/data_reduction_proxy/core/browser/data_reduction_proxy_bypass_protocol.cc
+++ b/components/data_reduction_proxy/core/browser/data_reduction_proxy_bypass_protocol.cc
@@ -24,18 +24,6 @@
namespace {
-bool SetProxyServerFromGURL(const GURL& gurl,
- net::ProxyServer* proxy_server) {
- DCHECK(proxy_server);
- if (!gurl.SchemeIsHTTPOrHTTPS())
- return false;
- *proxy_server = net::ProxyServer(gurl.SchemeIs(url::kHttpScheme) ?
- net::ProxyServer::SCHEME_HTTP :
- net::ProxyServer::SCHEME_HTTPS,
- net::HostPortPair::FromURL(gurl));
- return true;
-}
-
// Adds non-empty entries in |data_reduction_proxies| to the retry map
// maintained by the proxy service of the request. Adds
// |data_reduction_proxies.second| to the retry list only if |bypass_all| is
@@ -44,19 +32,21 @@ void MarkProxiesAsBadUntil(
net::URLRequest* request,
const base::TimeDelta& bypass_duration,
bool bypass_all,
- const std::pair<GURL, GURL>& data_reduction_proxies) {
- DCHECK(!data_reduction_proxies.first.is_empty());
+ const std::pair<net::ProxyServer, net::ProxyServer>&
+ data_reduction_proxies) {
+ DCHECK(data_reduction_proxies.first.is_valid());
+ DCHECK(!data_reduction_proxies.first.host_port_pair().IsEmpty());
// Synthesize a suitable |ProxyInfo| to add the proxies to the
// |ProxyRetryInfoMap| of the proxy service.
net::ProxyList proxy_list;
- net::ProxyServer primary;
- SetProxyServerFromGURL(data_reduction_proxies.first, &primary);
+ net::ProxyServer primary = data_reduction_proxies.first;
if (primary.is_valid())
proxy_list.AddProxyServer(primary);
net::ProxyServer fallback;
if (bypass_all) {
- if (!data_reduction_proxies.second.is_empty())
- SetProxyServerFromGURL(data_reduction_proxies.second, &fallback);
+ if (data_reduction_proxies.second.is_valid() &&
+ !data_reduction_proxies.second.host_port_pair().IsEmpty())
+ fallback = data_reduction_proxies.second;
if (fallback.is_valid())
proxy_list.AddProxyServer(fallback);
proxy_list.AddProxyServer(net::ProxyServer::Direct());
@@ -112,13 +102,17 @@ bool DataReductionProxyBypassProtocol::MaybeBypassProxyAndPrepareToRetry(
if (data_reduction_proxy_type_info.is_ssl)
return false;
- if (data_reduction_proxy_type_info.proxy_servers.first.is_empty())
+ const net::ProxyServer& first =
+ data_reduction_proxy_type_info.proxy_servers.first;
+ if (!first.is_valid() || first.host_port_pair().IsEmpty())
return false;
// At this point, the response is expected to have the data reduction proxy
// via header, so detect and report cases where the via header is missing.
+ const net::ProxyServer& second =
+ data_reduction_proxy_type_info.proxy_servers.second;
DataReductionProxyUsageStats::DetectAndRecordMissingViaHeaderResponseCode(
- !data_reduction_proxy_type_info.proxy_servers.second.is_empty(),
+ second.is_valid() && !second.host_port_pair().IsEmpty(),
response_headers);
if (DataReductionProxyParams::
@@ -166,9 +160,8 @@ bool DataReductionProxyBypassProtocol::MaybeBypassProxyAndPrepareToRetry(
DCHECK(request->context());
DCHECK(request->context()->proxy_service());
- net::ProxyServer proxy_server;
- SetProxyServerFromGURL(
- data_reduction_proxy_type_info.proxy_servers.first, &proxy_server);
+ net::ProxyServer proxy_server =
+ data_reduction_proxy_type_info.proxy_servers.first;
// Only record UMA if the proxy isn't already on the retry list.
if (!params_->IsProxyBypassed(
@@ -176,7 +169,7 @@ bool DataReductionProxyBypassProtocol::MaybeBypassProxyAndPrepareToRetry(
proxy_server,
NULL)) {
DataReductionProxyUsageStats::RecordDataReductionProxyBypassInfo(
- !data_reduction_proxy_type_info.proxy_servers.second.is_empty(),
+ second.is_valid() && !second.host_port_pair().IsEmpty(),
data_reduction_proxy_info.bypass_all,
proxy_server,
bypass_type);

Powered by Google App Engine
This is Rietveld 408576698