summaryrefslogtreecommitdiffstats
path: root/chrome/browser/net/chrome_network_delegate.cc
diff options
context:
space:
mode:
authorbolian@chromium.org <bolian@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-12-10 22:42:38 +0000
committerbolian@chromium.org <bolian@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-12-10 22:42:38 +0000
commit828eab2216a765dea92575c290421c115b8ad028 (patch)
treea6f5a858c9d814895101395b11737e32c62ba6ed /chrome/browser/net/chrome_network_delegate.cc
parentbdba991c95e4fbd364a83112fe6ebbe8640b51be (diff)
downloadchromium_src-828eab2216a765dea92575c290421c115b8ad028.zip
chromium_src-828eab2216a765dea92575c290421c115b8ad028.tar.gz
chromium_src-828eab2216a765dea92575c290421c115b8ad028.tar.bz2
Added daily UMA for non-data-reduction-proxy data usage when the proxy is enabled.
BUG=325325 Review URL: https://codereview.chromium.org/106113002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@239897 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/net/chrome_network_delegate.cc')
-rw-r--r--chrome/browser/net/chrome_network_delegate.cc41
1 files changed, 21 insertions, 20 deletions
diff --git a/chrome/browser/net/chrome_network_delegate.cc b/chrome/browser/net/chrome_network_delegate.cc
index e021791..240c127 100644
--- a/chrome/browser/net/chrome_network_delegate.cc
+++ b/chrome/browser/net/chrome_network_delegate.cc
@@ -215,9 +215,10 @@ void ForwardRequestStatus(
}
}
-void UpdateContentLengthPrefs(int received_content_length,
- int original_content_length,
- bool via_data_reduction_proxy) {
+void UpdateContentLengthPrefs(
+ int received_content_length,
+ int original_content_length,
+ chrome_browser_net::DataReductionRequestType data_reduction_type) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
DCHECK_GE(received_content_length, 0);
DCHECK_GE(original_content_length, 0);
@@ -242,16 +243,17 @@ void UpdateContentLengthPrefs(int received_content_length,
received_content_length,
original_content_length,
with_data_reduction_proxy_enabled,
- via_data_reduction_proxy, prefs);
+ data_reduction_type, prefs);
}
-void StoreAccumulatedContentLength(int received_content_length,
- int original_content_length,
- bool data_reduction_proxy_was_used) {
+void StoreAccumulatedContentLength(
+ int received_content_length,
+ int original_content_length,
+ chrome_browser_net::DataReductionRequestType data_reduction_type) {
BrowserThread::PostTask(BrowserThread::UI, FROM_HERE,
base::Bind(&UpdateContentLengthPrefs,
received_content_length, original_content_length,
- data_reduction_proxy_was_used));
+ data_reduction_type));
}
void RecordContentLengthHistograms(
@@ -525,21 +527,20 @@ void ChromeNetworkDelegate::OnCompleted(net::URLRequest* request,
int64 original_content_length =
request->response_info().headers->GetInt64HeaderValue(
"x-original-content-length");
- bool via_data_reduction_proxy =
- request->response_info().headers->HasHeaderValue(
- "via", "1.1 Chrome Compression Proxy");
-
- // Since there was no indication of the original content length, presume
- // it is no different from the number of bytes read.
- int64 adjusted_original_content_length = original_content_length;
- if (adjusted_original_content_length == -1)
- adjusted_original_content_length = received_content_length;
+ chrome_browser_net::DataReductionRequestType data_reduction_type =
+ chrome_browser_net::GetDataReductionRequestType(
+ reinterpret_cast<Profile*>(profile_), request);
+
base::TimeDelta freshness_lifetime =
request->response_info().headers->GetFreshnessLifetime(
request->response_info().response_time);
+ int64 adjusted_original_content_length =
+ chrome_browser_net::GetAdjustedOriginalContentLength(
+ data_reduction_type, original_content_length,
+ received_content_length);
AccumulateContentLength(received_content_length,
adjusted_original_content_length,
- via_data_reduction_proxy);
+ data_reduction_type);
RecordContentLengthHistograms(received_content_length,
original_content_length,
freshness_lifetime);
@@ -759,12 +760,12 @@ void ChromeNetworkDelegate::OnRequestWaitStateChange(
void ChromeNetworkDelegate::AccumulateContentLength(
int64 received_content_length, int64 original_content_length,
- bool via_data_reduction_proxy) {
+ chrome_browser_net::DataReductionRequestType data_reduction_type) {
DCHECK_GE(received_content_length, 0);
DCHECK_GE(original_content_length, 0);
StoreAccumulatedContentLength(received_content_length,
original_content_length,
- via_data_reduction_proxy);
+ data_reduction_type);
received_content_length_ += received_content_length;
original_content_length_ += original_content_length;
}