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..e67138bd3c388c1db8dcafabf3b4064c58adbe6e 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 |
@@ -347,6 +349,7 @@ void ChromeNetworkDelegate::InitializePrefsOnUIThread( |
BooleanPrefMember* enable_referrers, |
BooleanPrefMember* enable_do_not_track, |
BooleanPrefMember* force_google_safe_search, |
+ BooleanPrefMember* data_reduction_proxy_enabled, |
bengr
2014/07/16 01:40:09
How did you resolve the problem of this being init
|
PrefService* pref_service) { |
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
enable_referrers->Init(prefs::kEnableReferrers, pref_service); |
@@ -362,6 +365,13 @@ void ChromeNetworkDelegate::InitializePrefsOnUIThread( |
force_google_safe_search->MoveToThread( |
BrowserThread::GetMessageLoopProxyForThread(BrowserThread::IO)); |
} |
+ if (data_reduction_proxy_enabled) { |
+ data_reduction_proxy_enabled->Init( |
+ data_reduction_proxy::prefs::kDataReductionProxyEnabled, |
+ pref_service); |
+ data_reduction_proxy_enabled->MoveToThread( |
+ BrowserThread::GetMessageLoopProxyForThread(BrowserThread::IO)); |
+ } |
} |
// static |
@@ -513,11 +523,14 @@ 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( |
+ &bypass_type, |
data_reduction_proxy_params_, |
request, |
original_response_headers, |
override_response_headers)) { |
+ data_reduction_proxy_usage_stats_->SetBypassType(bypass_type); |
return net::OK; |
} |
@@ -607,6 +620,8 @@ void ChromeNetworkDelegate::OnCompleted(net::URLRequest* request, |
RecordContentLengthHistograms(received_content_length, |
original_content_length, |
freshness_lifetime); |
+ data_reduction_proxy_usage_stats_->RecordBypassedBytesHistograms( |
bengr
2014/07/16 01:40:09
Please file a bug to add tests to verify that the
megjablon
2014/07/16 23:07:13
Done.
|
+ received_content_length, *request, data_reduction_proxy_enabled_); |
DVLOG(2) << __FUNCTION__ |
<< " received content length: " << received_content_length |
<< " original content length: " << original_content_length |