Index: net/proxy/proxy_service.h |
diff --git a/net/proxy/proxy_service.h b/net/proxy/proxy_service.h |
index 36b4589f55be4a6ed0d21a899e6745596c5a2272..5663d95385df57af9acea3e2e261b30c2245f8e1 100644 |
--- a/net/proxy/proxy_service.h |
+++ b/net/proxy/proxy_service.h |
@@ -142,6 +142,7 @@ class NET_EXPORT ProxyService : public NetworkChangeNotifier::IPAddressObserver, |
// |
// Profiling information for the request is saved to |net_log| if non-NULL. |
int ReconsiderProxyAfterError(const GURL& url, |
+ int net_error, |
ProxyInfo* results, |
const CompletionCallback& callback, |
PacRequest** pac_request, |
@@ -286,6 +287,9 @@ class NET_EXPORT ProxyService : public NetworkChangeNotifier::IPAddressObserver, |
// Bypass the proxy because responses appear not to be coming via it. |
MISSING_VIA_HEADER, |
+ // Bypass the proxy because the proxy, not the origin, sent a 4xx response. |
Matt Welsh
2014/05/23 23:56:30
I don't understand why this is a different case. C
bengr
2014/05/24 01:22:02
4xx's are commonly called client errors. I agree i
|
+ CLIENT_ERROR_BYPASS, |
+ |
// This must always be last. |
BYPASS_EVENT_TYPE_MAX |
}; |
@@ -296,6 +300,13 @@ class NET_EXPORT ProxyService : public NetworkChangeNotifier::IPAddressObserver, |
bool is_primary, |
const ProxyServer& proxy_server, |
DataReductionProxyBypassEventType bypass_type) const; |
+ |
+ // Records a net error code that resulted in bypassing the data reduction |
+ // proxy (|is_primary| is true) or the dta reduction proxy fallback. |
Matt Welsh
2014/05/23 23:56:30
typo: data
bengr
2014/05/24 01:22:02
Done.
|
+ void RecordDataReductionProxyBypassOnNetworkError( |
+ bool is_primary, |
+ const ProxyServer& proxy_server, |
+ int net_error); |
#endif |
private: |
@@ -458,6 +469,7 @@ class NET_EXPORT SyncProxyServiceHelper |
ProxyInfo* proxy_info, |
const BoundNetLog& net_log); |
int ReconsiderProxyAfterError(const GURL& url, |
+ int net_error, |
ProxyInfo* proxy_info, |
const BoundNetLog& net_log); |
@@ -467,7 +479,9 @@ class NET_EXPORT SyncProxyServiceHelper |
virtual ~SyncProxyServiceHelper(); |
void StartAsyncResolve(const GURL& url, const BoundNetLog& net_log); |
- void StartAsyncReconsider(const GURL& url, const BoundNetLog& net_log); |
+ void StartAsyncReconsider(const GURL& url, |
+ int net_error, |
+ const BoundNetLog& net_log); |
void OnCompletion(int result); |