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

Unified Diff: chrome/browser/data_use_measurement/chrome_data_use_ascriber.cc

Issue 2947973002: Support moving pending requests from one DataUseRecorder to another (Closed)
Patch Set: rebase Created 3 years, 6 months 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 side-by-side diff with in-line comments
Download patch
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 8b72efa4c866c358bb6b8d1fc5dd1b52a4a6257d..11e589071965c0938dd78d089c447d19b16a0823 100644
--- a/chrome/browser/data_use_measurement/chrome_data_use_ascriber.cc
+++ b/chrome/browser/data_use_measurement/chrome_data_use_ascriber.cc
@@ -379,12 +379,10 @@ void ChromeDataUseAscriber::DidFinishMainFrameNavigation(
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()) {
@@ -434,11 +432,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,

Powered by Google App Engine
This is Rietveld 408576698