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..f24d39a848d4c7b3dce9cf25cf18dd2e5f25ccbe 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,16 @@ 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. |
+ typedef base::Callback<void(net::ProxyConfig* proxy_config)> |
+ 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 +171,11 @@ class ChromeNetworkDelegate : public net::NetworkDelegate { |
on_resolve_proxy_handler_ = handler; |
} |
+ void set_proxy_config_getter(ProxyConfigGetter getter) { |
mef
2014/08/11 19:44:40
const &?
bengr
2014/08/11 23:03:19
Done.
|
+ proxy_config_getter_ = getter; |
+ } |
+ |
+ |
marq (ping after 24h)
2014/08/11 16:11:33
Extra line.
bengr
2014/08/11 23:03:19
Done.
|
// Adds the Client Hints header to HTTP requests. |
void SetEnableClientHints(); |
@@ -198,7 +213,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 +324,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); |
}; |