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

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

Issue 2498433002: Revert of Expose GlobalRequestID in NavigationHandle and ResourceRequestInfo. (Closed)
Patch Set: Created 4 years, 1 month 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_service.cc
diff --git a/chrome/browser/data_use_measurement/chrome_data_use_ascriber_service.cc b/chrome/browser/data_use_measurement/chrome_data_use_ascriber_service.cc
index 069e999c4b955e9b3728daf216be5a481e69262b..ebd021d6fff295eb1c2f30dd5a65d48df15ad9b8 100644
--- a/chrome/browser/data_use_measurement/chrome_data_use_ascriber_service.cc
+++ b/chrome/browser/data_use_measurement/chrome_data_use_ascriber_service.cc
@@ -119,6 +119,11 @@
if (!navigation_handle->IsInMainFrame())
return;
+ if (!is_initialized_) {
+ pending_navigations_queue_.push_back(navigation_handle);
+ return;
+ }
+
if (!ascriber_)
return;
@@ -132,13 +137,21 @@
navigation_handle));
}
-void ChromeDataUseAscriberService::ReadyToCommitNavigation(
+void ChromeDataUseAscriberService::DidFinishNavigation(
content::NavigationHandle* navigation_handle) {
DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
if (!navigation_handle->IsInMainFrame())
return;
+ if (!is_initialized_) {
+ // While remove() is a O(n) operation, the pending queue is not expected
+ // to have a significant number of elements.
+ DCHECK_GE(50u, pending_navigations_queue_.size());
+ pending_navigations_queue_.remove(navigation_handle);
+ return;
+ }
+
if (!ascriber_)
return;
@@ -146,9 +159,8 @@
content::BrowserThread::PostTask(
content::BrowserThread::IO, FROM_HERE,
base::Bind(
- &ChromeDataUseAscriber::ReadyToCommitMainFrameNavigation,
+ &ChromeDataUseAscriber::DidFinishMainFrameNavigation,
base::Unretained(ascriber_), navigation_handle->GetURL(),
- navigation_handle->GetGlobalRequestID(),
web_contents->GetRenderProcessHost()->GetID(),
web_contents->GetMainFrame()->GetRoutingID(),
!navigation_handle->HasCommitted() || navigation_handle->IsSamePage(),
@@ -187,6 +199,11 @@
RenderFrameCreated(it);
}
pending_frames_queue_.clear();
+
+ for (auto& it : pending_navigations_queue_) {
+ DidStartNavigation(it);
+ }
+ pending_navigations_queue_.clear();
}
} // namespace data_use_measurement

Powered by Google App Engine
This is Rietveld 408576698