| 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 976e1bbbb5256eb10bef925dd50b8279cb3178d1..f16c44351d912957b1d0a65c284a518038bf9e84 100644
|
| --- a/chrome/browser/net/chrome_network_delegate.h
|
| +++ b/chrome/browser/net/chrome_network_delegate.h
|
| @@ -66,6 +66,15 @@ class PrerenderTracker;
|
| // add hooks into the network stack.
|
| class ChromeNetworkDelegate : public net::NetworkDelegate {
|
| public:
|
| + // Provides an opportunity to interpose on proxy resolution. Called before
|
| + // ProxyService.ResolveProxy() returns. |proxy_info| contains information
|
| + // about the proxy being used, and may be modified by this callback.
|
| + typedef base::Callback<void(
|
| + const GURL& url,
|
| + int load_flags,
|
| + const data_reduction_proxy::DataReductionProxyParams* params,
|
| + net::ProxyInfo* result)> OnResolveProxyHandler;
|
| +
|
| // |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.
|
| @@ -142,6 +151,10 @@ class ChromeNetworkDelegate : public net::NetworkDelegate {
|
| data_reduction_proxy_auth_request_handler_ = handler;
|
| }
|
|
|
| + void set_on_resolve_proxy_handler(OnResolveProxyHandler handler) {
|
| + on_resolve_proxy_handler_ = handler;
|
| + }
|
| +
|
| // Adds the Client Hints header to HTTP requests.
|
| void SetEnableClientHints();
|
|
|
| @@ -178,6 +191,8 @@ class ChromeNetworkDelegate : public net::NetworkDelegate {
|
| virtual int OnBeforeURLRequest(net::URLRequest* request,
|
| const net::CompletionCallback& callback,
|
| GURL* new_url) OVERRIDE;
|
| + virtual void OnResolveProxy(
|
| + const GURL& url, int load_flags, net::ProxyInfo* result) OVERRIDE;
|
| virtual int OnBeforeSendHeaders(net::URLRequest* request,
|
| const net::CompletionCallback& callback,
|
| net::HttpRequestHeaders* headers) OVERRIDE;
|
| @@ -280,6 +295,8 @@ class ChromeNetworkDelegate : public net::NetworkDelegate {
|
| data_reduction_proxy::DataReductionProxyAuthRequestHandler*
|
| data_reduction_proxy_auth_request_handler_;
|
|
|
| + OnResolveProxyHandler on_resolve_proxy_handler_;
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(ChromeNetworkDelegate);
|
| };
|
|
|
|
|