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

Unified Diff: chrome/browser/page_load_metrics/metrics_web_contents_observer.cc

Issue 2354703002: Instantiate PageLoadTrackers for prerenders (Closed)
Patch Set: fix test Created 4 years, 3 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/page_load_metrics/metrics_web_contents_observer.cc
diff --git a/chrome/browser/page_load_metrics/metrics_web_contents_observer.cc b/chrome/browser/page_load_metrics/metrics_web_contents_observer.cc
index b3454624fef18d7fea059784ccc04c1bc812c671..f42b5746261ee1414d68dafa02b13bb5fcbbe57f 100644
--- a/chrome/browser/page_load_metrics/metrics_web_contents_observer.cc
+++ b/chrome/browser/page_load_metrics/metrics_web_contents_observer.cc
@@ -301,6 +301,15 @@ PageLoadTracker::PageLoadTracker(
aborted_chain_size_same_url_(aborted_chain_size_same_url),
embedder_interface_(embedder_interface) {
DCHECK(!navigation_handle->HasCommitted());
+ if (embedder_interface_->IsPrerendering(
+ navigation_handle->GetWebContents())) {
+ DCHECK(!started_in_foreground_);
+ // For the time being, we do not track prerenders. See crbug.com/648338 for
+ // details.
+ StopTracking();
+ return;
+ }
+
embedder_interface_->RegisterObservers(this);
for (const auto& observer : observers_) {
observer->OnStart(navigation_handle, currently_committed_url,
@@ -756,11 +765,6 @@ void MetricsWebContentsObserver::WillStartNavigationRequest(
if (!ShouldTrackNavigation(navigation_handle))
return;
- // TODO(bmcquade): add support for tracking prerendered pages when they become
- // visible.
- if (embedder_interface_->IsPrerendering(web_contents()))
- return;
-
// Pass in the last committed url to the PageLoadTracker. If the MWCO has
// never observed a committed load, use the last committed url from this
// WebContent's opener. This is more accurate than using referrers due to

Powered by Google App Engine
This is Rietveld 408576698