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 87bd4782b7b146d7d1e1a702d2a1eadd160d602c..9119d7c22a1470453c51396ee37e6a18bcd28748 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 |
@@ -93,7 +93,9 @@ bool DataReductionProxyBypassProtocol::MaybeBypassProxyAndPrepareToRetry( |
// Empty implies either that the request was served from cache or that |
// request was served directly from the origin. |
- if (request->proxy_server().IsEmpty()) { |
+ if (!request->proxy_server().is_valid() || |
+ request->proxy_server().is_direct() || |
+ request->proxy_server().host_port_pair().IsEmpty()) { |
ReportResponseProxyServerStatusHistogram( |
RESPONSE_PROXY_SERVER_STATUS_EMPTY); |
return false; |
@@ -115,10 +117,15 @@ bool DataReductionProxyBypassProtocol::MaybeBypassProxyAndPrepareToRetry( |
// then apply the bypass logic regardless. |
// TODO(sclittle): Remove this workaround once http://crbug.com/476610 is |
// fixed. |
- data_reduction_proxy_type_info.proxy_servers.push_back(net::ProxyServer( |
- net::ProxyServer::SCHEME_HTTPS, request->proxy_server())); |
- data_reduction_proxy_type_info.proxy_servers.push_back(net::ProxyServer( |
- net::ProxyServer::SCHEME_HTTP, request->proxy_server())); |
+ const net::HostPortPair host_port_pair = |
+ !request->proxy_server().is_valid() || |
+ request->proxy_server().is_direct() |
+ ? net::HostPortPair() |
+ : request->proxy_server().host_port_pair(); |
+ data_reduction_proxy_type_info.proxy_servers.push_back( |
+ net::ProxyServer(net::ProxyServer::SCHEME_HTTPS, host_port_pair)); |
+ data_reduction_proxy_type_info.proxy_servers.push_back( |
+ net::ProxyServer(net::ProxyServer::SCHEME_HTTP, host_port_pair)); |
data_reduction_proxy_type_info.proxy_index = 0; |
} else { |
ReportResponseProxyServerStatusHistogram(RESPONSE_PROXY_SERVER_STATUS_DRP); |