Index: components/data_use_measurement/core/data_use_measurement.cc |
diff --git a/components/data_use_measurement/core/data_use_measurement.cc b/components/data_use_measurement/core/data_use_measurement.cc |
index 2c7b0b3f0e66b83d3de1b752519916a8a4d74f45..4e57df49eac547f0b0e9521ab605e15389195f60 100644 |
--- a/components/data_use_measurement/core/data_use_measurement.cc |
+++ b/components/data_use_measurement/core/data_use_measurement.cc |
@@ -17,6 +17,7 @@ |
#include "net/base/network_change_notifier.h" |
#include "net/base/upload_data_stream.h" |
#include "net/http/http_response_headers.h" |
+#include "net/http/http_status_code.h" |
#include "net/url_request/url_request.h" |
#if defined(OS_ANDROID) |
@@ -65,6 +66,16 @@ void IncrementLatencyHistogramByCount(const std::string& name, |
} |
#endif |
+void RecordFavIconDataUse(const net::URLRequest& request) { |
+ UMA_HISTOGRAM_COUNTS_100000( |
+ "DataUse.FavIcon.Downstream", |
+ request.was_cached() ? 0 : request.GetTotalReceivedBytes()); |
+ if (request.GetResponseCode() != net::HTTP_OK) { |
+ UMA_HISTOGRAM_COUNTS_100000("DataUse.FavIcon.Downstream.Non200Response", |
+ request.GetTotalReceivedBytes()); |
+ } |
+} |
+ |
} // namespace |
DataUseMeasurement::DataUseMeasurement( |
@@ -132,6 +143,8 @@ void DataUseMeasurement::OnBeforeRedirect(const net::URLRequest& request, |
// TODO(rajendrant): May not be needed when http://crbug/651957 is fixed. |
UpdateDataUsePrefs(request); |
ReportServicesMessageSizeUMA(request); |
+ if (url_request_classifier_->IsFavIconRequest(request)) |
+ RecordFavIconDataUse(request); |
} |
void DataUseMeasurement::OnHeadersReceived( |
@@ -172,6 +185,8 @@ void DataUseMeasurement::OnCompleted(const net::URLRequest& request, |
#if defined(OS_ANDROID) |
MaybeRecordNetworkBytesOS(); |
#endif |
+ if (url_request_classifier_->IsFavIconRequest(request)) |
+ RecordFavIconDataUse(request); |
} |
void DataUseMeasurement::ReportDataUseUMA(const net::URLRequest& request, |