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 3dec687dfb3b6b9ba4ab85c17758fa00796f799e..164c6a92c3d4293de6ccb4ba7a0257045423fe78 100644 |
--- a/chrome/browser/data_use_measurement/chrome_data_use_ascriber.cc |
+++ b/chrome/browser/data_use_measurement/chrome_data_use_ascriber.cc |
@@ -370,12 +370,10 @@ void ChromeDataUseAscriber::DidFinishNavigation(int render_process_id, |
NotifyPageLoadCommit(old_frame_entry); |
if (is_same_page_navigation) { |
- old_frame_entry->MergeFrom(&(*entry)); |
- |
- for (auto* request : entry->pending_url_requests()) |
- AscribeRecorderWithRequest(request, old_frame_entry); |
- |
- entry->RemoveAllPendingURLRequests(); |
+ for (auto& request : entry->pending_url_requests()) { |
+ AscribeRecorderWithRequest(request.first, old_frame_entry); |
+ old_frame_entry->MovePendingURLRequest(&(*entry), request.first); |
+ } |
data_use_recorders_.erase(entry); |
} else { |
if (old_frame_entry->IsDataUseComplete()) { |
@@ -431,11 +429,10 @@ ChromeDataUseAscriber::CreateNewDataUseRecorder( |
void ChromeDataUseAscriber::AscribeRecorderWithRequest( |
net::URLRequest* request, |
- DataUseRecorderEntry recorder) { |
- recorder->AddPendingURLRequest(request); |
- request->SetUserData( |
- DataUseRecorderEntryAsUserData::kUserDataKey, |
- base::MakeUnique<DataUseRecorderEntryAsUserData>(recorder)); |
+ DataUseRecorderEntry entry) { |
+ entry->AddPendingURLRequest(request); |
+ request->SetUserData(DataUseRecorderEntryAsUserData::kUserDataKey, |
+ base::MakeUnique<DataUseRecorderEntryAsUserData>(entry)); |
} |
void ChromeDataUseAscriber::WasShownOrHidden(int main_render_process_id, |