| Index: chrome/browser/net/chrome_network_delegate.cc
|
| diff --git a/chrome/browser/net/chrome_network_delegate.cc b/chrome/browser/net/chrome_network_delegate.cc
|
| index a7d81e5a9cece514d0f14bc5e25364972e4ec9ad..bcf2bc44360ef032f4c21431af1229c272335762 100644
|
| --- a/chrome/browser/net/chrome_network_delegate.cc
|
| +++ b/chrome/browser/net/chrome_network_delegate.cc
|
| @@ -36,6 +36,7 @@
|
| #include "components/data_reduction_proxy/browser/data_reduction_proxy_params.h"
|
| #include "components/data_reduction_proxy/browser/data_reduction_proxy_protocol.h"
|
| #include "components/data_reduction_proxy/browser/data_reduction_proxy_usage_stats.h"
|
| +#include "components/data_reduction_proxy/common/data_reduction_proxy_pref_names.h"
|
| #include "components/domain_reliability/monitor.h"
|
| #include "components/google/core/browser/google_util.h"
|
| #include "content/public/browser/browser_thread.h"
|
| @@ -298,6 +299,7 @@ ChromeNetworkDelegate::ChromeNetworkDelegate(
|
| enable_referrers_(enable_referrers),
|
| enable_do_not_track_(NULL),
|
| force_google_safe_search_(NULL),
|
| + data_reduction_proxy_enabled_(NULL),
|
| #if defined(ENABLE_CONFIGURATION_POLICY)
|
| url_blacklist_manager_(NULL),
|
| #endif
|
| @@ -520,11 +522,15 @@ int ChromeNetworkDelegate::OnHeadersReceived(
|
| const net::HttpResponseHeaders* original_response_headers,
|
| scoped_refptr<net::HttpResponseHeaders>* override_response_headers,
|
| GURL* allowed_unsafe_redirect_url) {
|
| + net::ProxyService::DataReductionProxyBypassType bypass_type;
|
| if (data_reduction_proxy::MaybeBypassProxyAndPrepareToRetry(
|
| data_reduction_proxy_params_,
|
| request,
|
| original_response_headers,
|
| - override_response_headers)) {
|
| + override_response_headers,
|
| + &bypass_type)) {
|
| + if (data_reduction_proxy_usage_stats_)
|
| + data_reduction_proxy_usage_stats_->SetBypassType(bypass_type);
|
| return net::OK;
|
| }
|
|
|
| @@ -614,6 +620,10 @@ void ChromeNetworkDelegate::OnCompleted(net::URLRequest* request,
|
| RecordContentLengthHistograms(received_content_length,
|
| original_content_length,
|
| freshness_lifetime);
|
| + if (data_reduction_proxy_enabled_ && data_reduction_proxy_usage_stats_) {
|
| + data_reduction_proxy_usage_stats_->RecordBypassedBytesHistograms(
|
| + *request, *data_reduction_proxy_enabled_);
|
| + }
|
| DVLOG(2) << __FUNCTION__
|
| << " received content length: " << received_content_length
|
| << " original content length: " << original_content_length
|
|
|