Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(77)

Side by Side Diff: components/data_use_measurement/core/data_use_measurement.cc

Issue 2538313002: Fix data usage tracking for domain reliability service (Closed)
Patch Set: Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « components/data_use_measurement/core/DEPS ('k') | components/domain_reliability/BUILD.gn » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "components/data_use_measurement/core/data_use_measurement.h" 5 #include "components/data_use_measurement/core/data_use_measurement.h"
6 6
7 #include "base/metrics/histogram_macros.h" 7 #include "base/metrics/histogram_macros.h"
8 #include "base/metrics/sparse_histogram.h" 8 #include "base/metrics/sparse_histogram.h"
9 #include "base/strings/stringprintf.h" 9 #include "base/strings/stringprintf.h"
10 #include "build/build_config.h" 10 #include "build/build_config.h"
11 #include "components/data_use_measurement/core/data_use_user_data.h" 11 #include "components/data_use_measurement/core/data_use_user_data.h"
12 #include "components/data_use_measurement/core/url_request_classifier.h" 12 #include "components/data_use_measurement/core/url_request_classifier.h"
13 #include "components/domain_reliability/uploader.h"
13 #include "net/base/network_change_notifier.h" 14 #include "net/base/network_change_notifier.h"
14 #include "net/base/upload_data_stream.h" 15 #include "net/base/upload_data_stream.h"
15 #include "net/http/http_response_headers.h" 16 #include "net/http/http_response_headers.h"
16 #include "net/url_request/url_request.h" 17 #include "net/url_request/url_request.h"
17 18
18 #if defined(OS_ANDROID) 19 #if defined(OS_ANDROID)
19 #include "net/android/traffic_stats.h" 20 #include "net/android/traffic_stats.h"
20 #endif 21 #endif
21 22
22 namespace data_use_measurement { 23 namespace data_use_measurement {
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
85 86
86 DataUseMeasurement::~DataUseMeasurement(){}; 87 DataUseMeasurement::~DataUseMeasurement(){};
87 88
88 void DataUseMeasurement::OnBeforeURLRequest(net::URLRequest* request) { 89 void DataUseMeasurement::OnBeforeURLRequest(net::URLRequest* request) {
89 DataUseUserData* data_use_user_data = reinterpret_cast<DataUseUserData*>( 90 DataUseUserData* data_use_user_data = reinterpret_cast<DataUseUserData*>(
90 request->GetUserData(DataUseUserData::kUserDataKey)); 91 request->GetUserData(DataUseUserData::kUserDataKey));
91 if (!data_use_user_data) { 92 if (!data_use_user_data) {
92 data_use_user_data = new DataUseUserData( 93 data_use_user_data = new DataUseUserData(
93 DataUseUserData::ServiceName::NOT_TAGGED, CurrentAppState()); 94 DataUseUserData::ServiceName::NOT_TAGGED, CurrentAppState());
94 request->SetUserData(DataUseUserData::kUserDataKey, data_use_user_data); 95 request->SetUserData(DataUseUserData::kUserDataKey, data_use_user_data);
96 } else if (domain_reliability::DomainReliabilityUploader::
RyanSturm 2016/12/01 01:45:20 If domain_reliability isn't adding DataUseUserData
97 OriginatedFromDomainReliability(*request)) {
98 // Detect if the request originated from DomainReliability.
99 // DataUseUserData::AttachToFetcher() cannot be called from domain
100 // reliability, since it sets userdata on URLFetcher for its purposes.
101 data_use_user_data = new DataUseUserData(
102 DataUseUserData::ServiceName::DOMAIN_RELIABILITY, CurrentAppState());
103 request->SetUserData(DataUseUserData::kUserDataKey, data_use_user_data);
95 } 104 }
96 } 105 }
97 106
98 void DataUseMeasurement::OnBeforeRedirect(const net::URLRequest& request, 107 void DataUseMeasurement::OnBeforeRedirect(const net::URLRequest& request,
99 const GURL& new_location) { 108 const GURL& new_location) {
100 // Recording data use of request on redirects. 109 // Recording data use of request on redirects.
101 // TODO(rajendrant): May not be needed when http://crbug/651957 is fixed. 110 // TODO(rajendrant): May not be needed when http://crbug/651957 is fixed.
102 UpdateDataUsePrefs(request); 111 UpdateDataUsePrefs(request);
103 ReportServicesMessageSizeUMA(request); 112 ReportServicesMessageSizeUMA(request);
104 } 113 }
(...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after
313 message_size); 322 message_size);
314 if (message_size > 0) { 323 if (message_size > 0) {
315 IncreaseSparseHistogramByValue( 324 IncreaseSparseHistogramByValue(
316 GetHistogramName("DataUse.MessageSize.AllServices", dir, app_state, 325 GetHistogramName("DataUse.MessageSize.AllServices", dir, app_state,
317 is_connection_cellular), 326 is_connection_cellular),
318 service, message_size); 327 service, message_size);
319 } 328 }
320 } 329 }
321 330
322 } // namespace data_use_measurement 331 } // namespace data_use_measurement
OLDNEW
« no previous file with comments | « components/data_use_measurement/core/DEPS ('k') | components/domain_reliability/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698