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

Unified Diff: chrome/browser/prerender/prerender_browsertest.cc

Issue 1896403002: Prerender: Remove MatchComplete (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: added TODO for MatchCompleteStatus Created 4 years, 7 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/prerender/prerender_browsertest.cc
diff --git a/chrome/browser/prerender/prerender_browsertest.cc b/chrome/browser/prerender/prerender_browsertest.cc
index 9eec60fa294f02a3d36490018784ad8e1cc5b9c2..f418c096bcb0fd79dd7f57cc6114873d7d2816ab 100644
--- a/chrome/browser/prerender/prerender_browsertest.cc
+++ b/chrome/browser/prerender/prerender_browsertest.cc
@@ -667,10 +667,6 @@ class TestPrerender : public PrerenderContents::Observer,
load_waiter_->Quit();
}
- void OnPrerenderCreatedMatchCompleteReplacement(
- PrerenderContents* contents,
- PrerenderContents* replacement) override {}
-
private:
TestPrerenderContents* contents_;
int number_of_loads_;
@@ -3300,35 +3296,6 @@ IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, ControlGroupRendererInitiated) {
OpenDestURLViaClick();
}
-// Make sure that the MatchComplete dummy works in the normal case. Once
-// a prerender is cancelled because of a script, a dummy must be created to
-// account for the MatchComplete case, and it must have a final status of
-// FINAL_STATUS_WOULD_HAVE_BEEN_USED.
-IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, MatchCompleteDummy) {
- RestorePrerenderMode restore_prerender_mode;
- PrerenderManager::SetMode(
- PrerenderManager::PRERENDER_MODE_EXPERIMENT_MATCH_COMPLETE_GROUP);
-
- std::vector<FinalStatus> expected_final_status_queue;
- expected_final_status_queue.push_back(FINAL_STATUS_INVALID_HTTP_METHOD);
- expected_final_status_queue.push_back(FINAL_STATUS_WOULD_HAVE_BEEN_USED);
- PrerenderTestURL("/prerender/prerender_xhr_put.html",
- expected_final_status_queue, 1);
- histogram_tester().ExpectTotalCount("Prerender.none_PerceivedPLT", 1);
- histogram_tester().ExpectTotalCount("Prerender.none_PerceivedPLTMatched", 0);
- histogram_tester().ExpectTotalCount(
- "Prerender.none_PerceivedPLTMatchedComplete", 0);
- histogram_tester().ExpectTotalCount(
- "Prerender.websame_PrerenderNotSwappedInPLT", 1);
-
- NavigateToDestURL();
- histogram_tester().ExpectTotalCount("Prerender.websame_PerceivedPLT", 1);
- histogram_tester().ExpectTotalCount("Prerender.websame_PerceivedPLTMatched",
- 0);
- histogram_tester().ExpectTotalCount(
- "Prerender.websame_PerceivedPLTMatchedComplete", 1);
-}
-
// Checks that the referrer policy is used when prerendering.
IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderReferrerPolicy) {
set_loader_path("/prerender/prerender_loader_with_referrer_policy.html");
@@ -3453,10 +3420,6 @@ IN_PROC_BROWSER_TEST_F(PrerenderBrowserTestWithExtensions, TabsApi) {
// Test that prerenders abort when navigating to a stream.
// See chrome/browser/extensions/api/streams_private/streams_private_apitest.cc
IN_PROC_BROWSER_TEST_F(PrerenderBrowserTestWithExtensions, StreamsTest) {
- RestorePrerenderMode restore_prerender_mode;
- PrerenderManager::SetMode(
- PrerenderManager::PRERENDER_MODE_EXPERIMENT_MATCH_COMPLETE_GROUP);
-
ASSERT_TRUE(StartEmbeddedTestServer());
const extensions::Extension* extension = LoadExtension(
@@ -3472,10 +3435,14 @@ IN_PROC_BROWSER_TEST_F(PrerenderBrowserTestWithExtensions, StreamsTest) {
// Sanity-check that the extension would have picked up the stream in a normal
// navigation had prerender not intercepted it.
- // streams_private/handle_mime_type reports success if it has handled the
- // application/msword type.
+ // The extension streams_private/handle_mime_type reports success if it has
+ // handled the application/msword type.
+ // Note: NavigateToDestURL() cannot be used because of the assertion shecking
+ // for non-null PrerenderContents.
+ content::OpenURLParams params(dest_url(), Referrer(), CURRENT_TAB,
+ ui::PAGE_TRANSITION_TYPED, false);
extensions::ResultCatcher catcher;
- NavigateToDestURL();
+ current_browser()->OpenURL(params);
mmenke 2016/05/04 19:21:52 Can you just use NavigateToURL(browser(), dest_url
pasko 2016/05/09 16:07:51 Done. Thank you, I did not know about the existenc
mmenke 2016/05/09 20:04:38 OpenURL is the production code method to start a n
pasko 2016/05/10 13:52:26 Acknowledged. Thank you.
EXPECT_TRUE(catcher.GetNextResult());
}
@@ -3646,28 +3613,6 @@ IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest,
FINAL_STATUS_OPEN_URL, 1);
}
-// Checks that canceling a MatchComplete dummy doesn't result in two
-// stop events.
-IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, CancelMatchCompleteDummy) {
- RestorePrerenderMode restore_prerender_mode;
- PrerenderManager::SetMode(
- PrerenderManager::PRERENDER_MODE_EXPERIMENT_MATCH_COMPLETE_GROUP);
-
- std::vector<FinalStatus> expected_final_status_queue;
- expected_final_status_queue.push_back(FINAL_STATUS_JAVASCRIPT_ALERT);
- expected_final_status_queue.push_back(FINAL_STATUS_CANCELLED);
- ScopedVector<TestPrerender> prerenders =
- PrerenderTestURL("/prerender/prerender_alert_before_onload.html",
- expected_final_status_queue, 0);
-
- // Cancel the MatchComplete dummy.
- GetPrerenderManager()->CancelAllPrerenders();
- prerenders[1]->WaitForStop();
-
- // Check the referring page only got one copy of the event.
- EXPECT_FALSE(HadPrerenderEventErrors());
-}
-
// Checks that a deferred redirect to an image is not loaded until the page is
// visible. Also test the right histogram events are emitted in this case.
IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderDeferredImage) {
@@ -3757,17 +3702,6 @@ IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest,
NavigateToDestURL();
}
-// Checks that deferred redirects in a synchronous XHR abort the
-// prerender.
-IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderDeferredSynchronousXHR) {
- RestorePrerenderMode restore_prerender_mode;
- PrerenderManager::SetMode(
- PrerenderManager::PRERENDER_MODE_EXPERIMENT_MATCH_COMPLETE_GROUP);
mmenke 2016/05/04 19:21:52 Why does this test require this call? Seems like
pasko 2016/05/09 16:07:51 As in the StreamsTest, we cannot use NavigateToDes
mmenke 2016/05/09 20:04:38 I want to try and get some idea what's going on th
pasko 2016/05/10 13:52:26 The argument for more integration-kind of tests is
- PrerenderTestURL("/prerender/prerender_deferred_sync_xhr.html",
- FINAL_STATUS_BAD_DEFERRED_REDIRECT, 0);
- NavigateToDestURL();
-}
-
// Checks that prerenders are not swapped for navigations with extra headers.
IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderExtraHeadersNoSwap) {
PrerenderTestURL("/prerender/prerender_page.html",
« no previous file with comments | « no previous file | chrome/browser/prerender/prerender_contents.h » ('j') | chrome/browser/prerender/prerender_contents.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698