OLD | NEW |
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/memory/ptr_util.h" |
7 #include "base/metrics/histogram_macros.h" | 8 #include "base/metrics/histogram_macros.h" |
8 #include "base/metrics/sparse_histogram.h" | 9 #include "base/metrics/sparse_histogram.h" |
9 #include "base/strings/stringprintf.h" | 10 #include "base/strings/stringprintf.h" |
10 #include "build/build_config.h" | 11 #include "build/build_config.h" |
11 #include "components/data_use_measurement/core/data_use_ascriber.h" | 12 #include "components/data_use_measurement/core/data_use_ascriber.h" |
12 #include "components/data_use_measurement/core/data_use_recorder.h" | 13 #include "components/data_use_measurement/core/data_use_recorder.h" |
13 #include "components/data_use_measurement/core/data_use_user_data.h" | 14 #include "components/data_use_measurement/core/data_use_user_data.h" |
14 #include "components/data_use_measurement/core/url_request_classifier.h" | 15 #include "components/data_use_measurement/core/url_request_classifier.h" |
15 #include "components/domain_reliability/uploader.h" | 16 #include "components/domain_reliability/uploader.h" |
16 #include "google_apis/gaia/gaia_auth_util.h" | 17 #include "google_apis/gaia/gaia_auth_util.h" |
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
125 OriginatedFromDomainReliability(*request)) { | 126 OriginatedFromDomainReliability(*request)) { |
126 // Detect if the request originated from DomainReliability. | 127 // Detect if the request originated from DomainReliability. |
127 // DataUseUserData::AttachToFetcher() cannot be called from domain | 128 // DataUseUserData::AttachToFetcher() cannot be called from domain |
128 // reliability, since it sets userdata on URLFetcher for its purposes. | 129 // reliability, since it sets userdata on URLFetcher for its purposes. |
129 service_name = DataUseUserData::ServiceName::DOMAIN_RELIABILITY; | 130 service_name = DataUseUserData::ServiceName::DOMAIN_RELIABILITY; |
130 } else if (gaia::RequestOriginatedFromGaia(*request)) { | 131 } else if (gaia::RequestOriginatedFromGaia(*request)) { |
131 service_name = DataUseUserData::ServiceName::GAIA; | 132 service_name = DataUseUserData::ServiceName::GAIA; |
132 } | 133 } |
133 | 134 |
134 data_use_user_data = new DataUseUserData(service_name, CurrentAppState()); | 135 data_use_user_data = new DataUseUserData(service_name, CurrentAppState()); |
135 request->SetUserData(DataUseUserData::kUserDataKey, data_use_user_data); | 136 request->SetUserData(DataUseUserData::kUserDataKey, |
| 137 base::WrapUnique(data_use_user_data)); |
136 } else { | 138 } else { |
137 data_use_user_data->set_app_state(CurrentAppState()); | 139 data_use_user_data->set_app_state(CurrentAppState()); |
138 } | 140 } |
139 } | 141 } |
140 | 142 |
141 void DataUseMeasurement::OnBeforeRedirect(const net::URLRequest& request, | 143 void DataUseMeasurement::OnBeforeRedirect(const net::URLRequest& request, |
142 const GURL& new_location) { | 144 const GURL& new_location) { |
143 // Recording data use of request on redirects. | 145 // Recording data use of request on redirects. |
144 // TODO(rajendrant): May not be needed when http://crbug/651957 is fixed. | 146 // TODO(rajendrant): May not be needed when http://crbug/651957 is fixed. |
145 UpdateDataUsePrefs(request); | 147 UpdateDataUsePrefs(request); |
(...skipping 321 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
467 return; | 469 return; |
468 | 470 |
469 const DataUseRecorder* recorder = ascriber_->GetDataUseRecorder(request); | 471 const DataUseRecorder* recorder = ascriber_->GetDataUseRecorder(request); |
470 if (recorder) { | 472 if (recorder) { |
471 url_request_classifier_->RecordPageTransitionUMA( | 473 url_request_classifier_->RecordPageTransitionUMA( |
472 recorder->page_transition(), request.GetTotalReceivedBytes()); | 474 recorder->page_transition(), request.GetTotalReceivedBytes()); |
473 } | 475 } |
474 } | 476 } |
475 | 477 |
476 } // namespace data_use_measurement | 478 } // namespace data_use_measurement |
OLD | NEW |