Index: components/data_reduction_proxy/browser/data_reduction_proxy_protocol.h |
diff --git a/components/data_reduction_proxy/browser/data_reduction_proxy_protocol.h b/components/data_reduction_proxy/browser/data_reduction_proxy_protocol.h |
index 5598c26acc7f34ff35aa7ad5fb8a8bf6fa9da71e..03c2a8f100b8f47f09b75faea15d7cde7a6eca5a 100644 |
--- a/components/data_reduction_proxy/browser/data_reduction_proxy_protocol.h |
+++ b/components/data_reduction_proxy/browser/data_reduction_proxy_protocol.h |
@@ -14,6 +14,7 @@ class TimeDelta; |
namespace net { |
class HttpResponseHeaders; |
+class ProxyInfo; |
class ProxyServer; |
class URLRequest; |
} |
@@ -33,6 +34,17 @@ bool MaybeBypassProxyAndPrepareToRetry( |
const net::HttpResponseHeaders* original_response_headers, |
scoped_refptr<net::HttpResponseHeaders>* override_response_headers); |
+// Configure |result| to proceed directly to the origin if |result|'s current |
+// proxy is the data reduction proxy, the |
+// |net::LOAD_BYPASS_DATA_REDUCTION_PROXY| |load_flag| is set, and the |
+// DataCompressionProxyCriticalBypass Finch trial is set. |
+// This handler is intended to be invoked only by |
+// |ChromeNetworkDelegate.NotifyResolveProxy|. |
+void OnResolveProxyHandler(const GURL& url, |
+ int load_flags, |
+ const DataReductionProxyParams* params, |
+ net::ProxyInfo* result); |
+ |
// Returns true if the request method is idempotent. Only idempotent requests |
// are retried on a bypass. Visible as part of the public API for testing. |
bool IsRequestIdempotent(const net::URLRequest* request); |