Skip to content

Commit

Permalink
MPArch: Prerendering doesn't record metrics in PageLoadMetricsWebCont…
Browse files Browse the repository at this point in the history
…entsObserver

We have to ensure that PageLoadMetricsWebContentsObserver
only records metrics only for primary pages. So this CL
adds a new test to check if prerendering doesn't record
page load metrics.

Bug: 1238809
Change-Id: Ic0a33e97bbf121685184d16ff2794730dc68b876
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3088680
Reviewed-by: Kevin McNee <mcnee@chromium.org>
Reviewed-by: Ryan Sturm <ryansturm@chromium.org>
Reviewed-by: Kunihiko Sakamoto <ksakamoto@chromium.org>
Commit-Queue: Gyuyoung Kim <gyuyoung@igalia.com>
Cr-Commit-Position: refs/heads/master@{#912451}
  • Loading branch information
Gyuyoung authored and Chromium LUCI CQ committed Aug 17, 2021
1 parent 6497b6c commit 4c09aab
Showing 1 changed file with 24 additions and 0 deletions.
24 changes: 24 additions & 0 deletions chrome/browser/page_load_metrics/page_load_metrics_browsertest.cc
Original file line number Diff line number Diff line change
Expand Up @@ -3746,6 +3746,30 @@ IN_PROC_BROWSER_TEST_F(PrerenderPageLoadMetricsBrowserTest, PrerenderEvent) {
page_load_metrics::internal::kPageLoadStartedInForeground, false, 1);
}

IN_PROC_BROWSER_TEST_F(PrerenderPageLoadMetricsBrowserTest,
PrerenderingDoNotRecordUKM) {
ASSERT_TRUE(embedded_test_server()->Start());

// Navigate to an initial page.
auto initial_url = embedded_test_server()->GetURL("/empty.html");
ui_test_utils::NavigateToURL(browser(), initial_url);

// Load a page in the prerender.
GURL prerender_url = embedded_test_server()->GetURL("/title2.html");
int host_id = prerender_helper_.AddPrerender(prerender_url);
content::test::PrerenderHostObserver host_observer(*web_contents(), host_id);
EXPECT_FALSE(host_observer.was_activated());
auto entries =
test_ukm_recorder_->GetMergedEntriesByName(PageLoad::kEntryName);
EXPECT_EQ(0u, entries.size());

// Activate.
prerender_helper_.NavigatePrimaryPage(prerender_url);
EXPECT_TRUE(host_observer.was_activated());
entries = test_ukm_recorder_->GetMergedEntriesByName(PageLoad::kEntryName);
EXPECT_EQ(1u, entries.size());
}

enum BackForwardCacheStatus { kDisabled = 0, kEnabled = 1 };

class PageLoadMetricsBackForwardCacheBrowserTest
Expand Down

0 comments on commit 4c09aab

Please sign in to comment.