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

Unified Diff: chrome/browser/net/chrome_network_delegate.h

Issue 332313003: Add Finch experiment for selectively bypassing proxies. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: bengr's nit Created 6 years, 5 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: 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..436c69d3a16f6378a2b22aebcb08947bda7f44cd 100644
--- a/chrome/browser/net/chrome_network_delegate.h
+++ b/chrome/browser/net/chrome_network_delegate.h
@@ -142,6 +142,19 @@ 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,
+ const data_reduction_proxy::DataReductionProxyParams* params,
+ net::ProxyInfo* result)> OnResolveProxyHandler;
mmenke 2014/07/07 20:21:59 nit: Per Google style guide, typedefs (and enums)
rcs 2014/07/07 22:08:49 Done.
+
+ 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_;
mmenke 2014/07/07 20:21:59 Suggest not making this a pointer. Callbacks have
rcs 2014/07/07 22:08:49 Done.
+
DISALLOW_COPY_AND_ASSIGN(ChromeNetworkDelegate);
};

Powered by Google App Engine
This is Rietveld 408576698