| 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 4e81a7bd4a102768eda9b363b662cf17e70c37b6..c068a3551c6e0d6e1b205552a4c10cbb4ba1014b 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"
|
| @@ -293,6 +294,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
|
| @@ -513,11 +515,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;
|
| }
|
|
|
| @@ -607,6 +613,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(
|
| + received_content_length, *request, *data_reduction_proxy_enabled_);
|
| + }
|
| DVLOG(2) << __FUNCTION__
|
| << " received content length: " << received_content_length
|
| << " original content length: " << original_content_length
|
|
|