| Index: chrome/browser/prerender/prerender_browsertest.cc
|
| diff --git a/chrome/browser/prerender/prerender_browsertest.cc b/chrome/browser/prerender/prerender_browsertest.cc
|
| index ec6f6eadce82fa9b555f3d597d5a2243197127d2..74de8c3ee6019ca2e293df4db2f8b1eb24ac8c1c 100644
|
| --- a/chrome/browser/prerender/prerender_browsertest.cc
|
| +++ b/chrome/browser/prerender/prerender_browsertest.cc
|
| @@ -1034,9 +1034,6 @@ IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderPage) {
|
| GetPrerenderManager());
|
| PrerenderTestURL("/prerender/prerender_page.html", FINAL_STATUS_USED, 1);
|
| EXPECT_EQ(1, GetPrerenderDomContentLoadedEventCountForLinkNumber(0));
|
| - histogram_tester().ExpectTotalCount("Prerender.none_PerceivedPLT", 1);
|
| - histogram_tester().ExpectTotalCount(
|
| - "Prerender.websame_PrerenderNotSwappedInPLT", 1);
|
|
|
| ChannelDestructionWatcher channel_close_watcher;
|
| channel_close_watcher.WatchChannel(
|
| @@ -1045,7 +1042,6 @@ IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderPage) {
|
| channel_close_watcher.WaitForChannelClose();
|
| fcp_waiter->Wait();
|
|
|
| - histogram_tester().ExpectTotalCount("Prerender.websame_PerceivedPLT", 1);
|
| histogram_tester().ExpectTotalCount(
|
| "Prerender.websame_PrefetchTTFCP.Warm.Cacheable.Visible", 1);
|
| histogram_tester().ExpectTotalCount(
|
| @@ -1111,14 +1107,10 @@ IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderPageCrossDomain) {
|
| GetPrerenderManager());
|
| PrerenderTestURL(GetCrossDomainTestUrl("prerender/prerender_page.html"),
|
| FINAL_STATUS_USED, 1);
|
| - histogram_tester().ExpectTotalCount("Prerender.none_PerceivedPLT", 1);
|
| - histogram_tester().ExpectTotalCount(
|
| - "Prerender.webcross_PrerenderNotSwappedInPLT", 1);
|
|
|
| NavigateToDestURL();
|
| fcp_waiter->Wait();
|
|
|
| - histogram_tester().ExpectTotalCount("Prerender.webcross_PerceivedPLT", 1);
|
| histogram_tester().ExpectTotalCount(
|
| "Prerender.webcross_PrefetchTTFCP.Warm.Cacheable.Visible", 1);
|
| }
|
| @@ -1494,8 +1486,8 @@ IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest,
|
| NavigateToURL("/prerender/prerender_page.html");
|
| }
|
|
|
| -// Checks that we get the right PPLT histograms for client redirect prerenders
|
| -// and navigations when the referring page is Google.
|
| +// Checks that the PrefetchTTFCP histogram is recorded across the client
|
| +// redirect when the referring page is Google.
|
| IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest,
|
| PrerenderLocationReplaceGWSHistograms) {
|
| DisableJavascriptCalls();
|
| @@ -1523,35 +1515,25 @@ IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest,
|
| EXPECT_TRUE(DidPrerenderPass(prerender->contents()->prerender_contents()));
|
| EXPECT_EQ(1, prerender->number_of_loads());
|
|
|
| - histogram_tester().ExpectTotalCount("Prerender.none_PerceivedPLT", 1);
|
| - // Although there is a client redirect, it is dropped from histograms because
|
| - // it is a Google URL. The target page itself does not load until after the
|
| - // swap.
|
| - histogram_tester().ExpectTotalCount("Prerender.gws_PrerenderNotSwappedInPLT",
|
| - 0);
|
| -
|
| GURL navigate_url = embedded_test_server()->GetURL(
|
| "/prerender/prerender_location_replace.html?" +
|
| net::EscapeQueryParamValue(dest_url.spec(), false) + "#navigate");
|
| navigate_url = navigate_url.ReplaceComponents(replacements);
|
|
|
| - NavigationOrSwapObserver swap_observer(
|
| - current_browser()->tab_strip_model(),
|
| - GetActiveWebContents(), 2);
|
| + // Open the URL and wait for the FCP.
|
| + test_utils::FirstContentfulPaintManagerWaiter* fcp_waiter =
|
| + test_utils::FirstContentfulPaintManagerWaiter::Create(
|
| + GetPrerenderManager());
|
| current_browser()->OpenURL(OpenURLParams(navigate_url, Referrer(),
|
| WindowOpenDisposition::CURRENT_TAB,
|
| ui::PAGE_TRANSITION_TYPED, false));
|
| - swap_observer.Wait();
|
| -
|
| - EXPECT_TRUE(DidDisplayPass(GetActiveWebContents()));
|
| -
|
| - histogram_tester().ExpectTotalCount("Prerender.gws_PrerenderNotSwappedInPLT",
|
| - 0);
|
| - histogram_tester().ExpectTotalCount("Prerender.gws_PerceivedPLT", 1);
|
| + fcp_waiter->Wait();
|
|
|
| - // The client redirect does /not/ count as a miss because it's a Google URL.
|
| - histogram_tester().ExpectTotalCount("Prerender.PerceivedPLTFirstAfterMiss",
|
| - 0);
|
| + // The client redirect changes the PageLoadExtraInfo.start_url and hence the
|
| + // past navigation cannot be found for the histogram to be recorded as
|
| + // PrefetchTTFCP.Warm.
|
| + histogram_tester().ExpectTotalCount(
|
| + "Prerender.gws_PrefetchTTFCP.Reference.Cacheable.Visible", 1);
|
| }
|
|
|
| // Checks that client-issued redirects work with prerendering.
|
| @@ -3020,9 +3002,6 @@ IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderDeferredImage) {
|
| EXPECT_EQ(1, GetPrerenderDomContentLoadedEventCountForLinkNumber(0));
|
| EXPECT_TRUE(DidPrerenderPass(prerender->contents()->prerender_contents()));
|
| EXPECT_EQ(0, prerender->number_of_loads());
|
| - histogram_tester().ExpectTotalCount("Prerender.none_PerceivedPLT", 1);
|
| - histogram_tester().ExpectTotalCount(
|
| - "Prerender.websame_PrerenderNotSwappedInPLT", 0);
|
|
|
| // Swap.
|
| NavigationOrSwapObserver swap_observer(current_browser()->tab_strip_model(),
|
| @@ -3037,10 +3016,6 @@ IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderDeferredImage) {
|
|
|
| // Now check DidDisplayPass.
|
| EXPECT_TRUE(DidDisplayPass(GetActiveWebContents()));
|
| -
|
| - histogram_tester().ExpectTotalCount(
|
| - "Prerender.websame_PrerenderNotSwappedInPLT", 0);
|
| - histogram_tester().ExpectTotalCount("Prerender.websame_PerceivedPLT", 1);
|
| }
|
|
|
| // Checks that a deferred redirect to an image is not loaded until the
|
| @@ -3210,12 +3185,6 @@ IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderPing) {
|
| ping_counter.WaitForCount(1);
|
| }
|
|
|
| -IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderPPLTNormalNavigation) {
|
| - GURL url = embedded_test_server()->GetURL("/prerender/prerender_page.html");
|
| - ui_test_utils::NavigateToURL(current_browser(), url);
|
| - histogram_tester().ExpectTotalCount("Prerender.none_PerceivedPLT", 1);
|
| -}
|
| -
|
| // Checks that a prerender which calls window.close() on itself is aborted.
|
| IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderWindowClose) {
|
| DisableLoadEventCheck();
|
|
|