 Chromium Code Reviews
 Chromium Code Reviews Issue 449973002:
  Use data reduction proxy when managed proxy config returns direct  (Closed) 
  Base URL: https://chromium.googlesource.com/chromium/src.git@no-uma-in-proxy-service
    
  
    Issue 449973002:
  Use data reduction proxy when managed proxy config returns direct  (Closed) 
  Base URL: https://chromium.googlesource.com/chromium/src.git@no-uma-in-proxy-service| Index: chrome/browser/net/chrome_network_delegate.h | 
| diff --git a/chrome/browser/net/chrome_network_delegate.h b/chrome/browser/net/chrome_network_delegate.h | 
| index f7c03dc2cf5cd00593f4ed452e1a6618ef946c05..07e9af725846c4cc0fb3e43d2969b064017d3bb4 100644 | 
| --- a/chrome/browser/net/chrome_network_delegate.h | 
| +++ b/chrome/browser/net/chrome_network_delegate.h | 
| @@ -15,6 +15,7 @@ | 
| #include "base/values.h" | 
| #include "components/data_reduction_proxy/browser/data_reduction_proxy_metrics.h" | 
| #include "net/base/network_delegate.h" | 
| +#include "net/proxy/proxy_retry_info.h" | 
| class ChromeExtensionsNetworkDelegate; | 
| class ClientHints; | 
| @@ -50,8 +51,10 @@ class InfoMap; | 
| } | 
| namespace net { | 
| +class ProxyConfig; | 
| class ProxyInfo; | 
| class ProxyServer; | 
| +class ProxyService; | 
| class URLRequest; | 
| } | 
| @@ -73,9 +76,15 @@ class ChromeNetworkDelegate : public net::NetworkDelegate { | 
| typedef base::Callback<void( | 
| const GURL& url, | 
| int load_flags, | 
| + const net::ProxyConfig& data_reduction_proxy_config, | 
| + const net::ProxyRetryInfoMap& proxy_retry_info_map, | 
| const data_reduction_proxy::DataReductionProxyParams* params, | 
| net::ProxyInfo* result)> OnResolveProxyHandler; | 
| + // Provides an additional proxy configuration that can be consulted after | 
| + // proxy resolution. | 
| 
Ryan Sleevi
2014/08/14 19:19:50
Having read through this header, and the related c
 | 
| + typedef base::Callback<const net::ProxyConfig&()> ProxyConfigGetter; | 
| + | 
| // |enable_referrers| (and all of the other optional PrefMembers) should be | 
| // initialized on the UI thread (see below) beforehand. This object's owner is | 
| // responsible for cleaning them up at shutdown. | 
| @@ -161,6 +170,10 @@ class ChromeNetworkDelegate : public net::NetworkDelegate { | 
| on_resolve_proxy_handler_ = handler; | 
| } | 
| + void set_proxy_config_getter(const ProxyConfigGetter& getter) { | 
| + proxy_config_getter_ = getter; | 
| + } | 
| + | 
| // Adds the Client Hints header to HTTP requests. | 
| void SetEnableClientHints(); | 
| @@ -198,7 +211,10 @@ class ChromeNetworkDelegate : public net::NetworkDelegate { | 
| const net::CompletionCallback& callback, | 
| GURL* new_url) OVERRIDE; | 
| virtual void OnResolveProxy( | 
| - const GURL& url, int load_flags, net::ProxyInfo* result) OVERRIDE; | 
| + const GURL& url, | 
| + int load_flags, | 
| + const net::ProxyService& proxy_service, | 
| + net::ProxyInfo* result) OVERRIDE; | 
| virtual void OnProxyFallback(const net::ProxyServer& bad_proxy, | 
| int net_error, | 
| bool did_fallback) OVERRIDE; | 
| @@ -306,6 +322,7 @@ class ChromeNetworkDelegate : public net::NetworkDelegate { | 
| data_reduction_proxy_auth_request_handler_; | 
| OnResolveProxyHandler on_resolve_proxy_handler_; | 
| + ProxyConfigGetter proxy_config_getter_; | 
| DISALLOW_COPY_AND_ASSIGN(ChromeNetworkDelegate); | 
| }; |