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

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

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
Patch Set: Addressed comment and nit Created 6 years, 4 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 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);
};

Powered by Google App Engine
This is Rietveld 408576698