| Index: chrome/browser/data_use_measurement/chrome_data_use_ascriber.cc
|
| diff --git a/chrome/browser/data_use_measurement/chrome_data_use_ascriber.cc b/chrome/browser/data_use_measurement/chrome_data_use_ascriber.cc
|
| index c67b8de820268891065211f71a6b5e9e1f5d010f..20f1b8e795577c763a986ac4805aa68886c7bd30 100644
|
| --- a/chrome/browser/data_use_measurement/chrome_data_use_ascriber.cc
|
| +++ b/chrome/browser/data_use_measurement/chrome_data_use_ascriber.cc
|
| @@ -44,16 +44,29 @@ ChromeDataUseAscriber::~ChromeDataUseAscriber() {
|
| DCHECK(data_use_recorders_.empty());
|
| }
|
|
|
| -ChromeDataUseRecorder* ChromeDataUseAscriber::GetDataUseRecorder(
|
| - net::URLRequest* request,
|
| - bool can_create_new) {
|
| - DataUseRecorderEntry entry = GetDataUseRecorderEntry(request, can_create_new);
|
| +ChromeDataUseRecorder* ChromeDataUseAscriber::GetOrCreateDataUseRecorder(
|
| + net::URLRequest* request) {
|
| + DataUseRecorderEntry entry = GetOrCreateDataUseRecorderEntry(request);
|
| return entry == data_use_recorders_.end() ? nullptr : &(*entry);
|
| }
|
|
|
| +ChromeDataUseRecorder* ChromeDataUseAscriber::GetDataUseRecorder(
|
| + const net::URLRequest& request) {
|
| + DCHECK_CURRENTLY_ON(content::BrowserThread::IO);
|
| +
|
| + // TODO(ryansturm): Handle PlzNavigate (http://crbug/664233).
|
| + if (content::IsBrowserSideNavigationEnabled())
|
| + return nullptr;
|
| +
|
| + // If a DataUseRecorder has already been set as user data, then return that.
|
| + auto user_data = static_cast<DataUseRecorderEntryAsUserData*>(
|
| + request.GetUserData(DataUseRecorderEntryAsUserData::kUserDataKey));
|
| + return user_data ? &(*user_data->recorder_entry()) : nullptr;
|
| +}
|
| +
|
| ChromeDataUseAscriber::DataUseRecorderEntry
|
| -ChromeDataUseAscriber::GetDataUseRecorderEntry(net::URLRequest* request,
|
| - bool can_create_new) {
|
| +ChromeDataUseAscriber::GetOrCreateDataUseRecorderEntry(
|
| + net::URLRequest* request) {
|
| DCHECK_CURRENTLY_ON(content::BrowserThread::IO);
|
|
|
| // TODO(ryansturm): Handle PlzNavigate (http://crbug/664233).
|
| @@ -66,9 +79,6 @@ ChromeDataUseAscriber::GetDataUseRecorderEntry(net::URLRequest* request,
|
| if (user_data)
|
| return user_data->recorder_entry();
|
|
|
| - if (!can_create_new)
|
| - return data_use_recorders_.end();
|
| -
|
| // If request is associated with a ChromeService, create a new
|
| // DataUseRecorder for it. There is no reason to aggregate URLRequests
|
| // from ChromeServices into the same DataUseRecorder instance.
|
| @@ -143,7 +153,7 @@ ChromeDataUseAscriber::GetDataUseRecorderEntry(net::URLRequest* request,
|
| void ChromeDataUseAscriber::OnUrlRequestDestroyed(net::URLRequest* request) {
|
| DCHECK_CURRENTLY_ON(content::BrowserThread::IO);
|
|
|
| - DataUseRecorderEntry entry = GetDataUseRecorderEntry(request, true);
|
| + DataUseRecorderEntry entry = GetOrCreateDataUseRecorderEntry(request);
|
|
|
| if (entry == data_use_recorders_.end())
|
| return;
|
|
|