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..c58e7fed42c82f196af4d202691d266fc058ea59 100644 |
--- a/chrome/browser/net/chrome_network_delegate.h |
+++ b/chrome/browser/net/chrome_network_delegate.h |
@@ -142,6 +142,16 @@ class ChromeNetworkDelegate : public net::NetworkDelegate { |
data_reduction_proxy_auth_request_handler_ = handler; |
} |
+ // 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, |
+ net::ProxyInfo* result)> OnResolveProxyHandler; |
+ |
+ 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 +188,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 +292,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); |
}; |