Index: chrome/browser/prerender/prerender_browsertest.cc |
diff --git a/chrome/browser/prerender/prerender_browsertest.cc b/chrome/browser/prerender/prerender_browsertest.cc |
index 2c85c34017dc8b942079e478033d8fbde1f0f1fc..2d93501df964951d14b4ec62f2dd3c9035fe8633 100644 |
--- a/chrome/browser/prerender/prerender_browsertest.cc |
+++ b/chrome/browser/prerender/prerender_browsertest.cc |
@@ -1365,14 +1365,23 @@ IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderVisibility) { |
NavigateToDestURL(); |
} |
-// Checks that the visibility API works when the prerender is quickly opened |
-// in a new tab before it stops loading. |
-IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderVisibilityQuickSwitch) { |
- PrerenderTestURL("files/prerender/prerender_visibility_quick.html", |
- FINAL_STATUS_USED, 0); |
- NavigateToDestURL(); |
+// Checks that the prerendering of a page is canceled correctly when it is |
+// quickly opened in a new tab before it stops loading. |
+IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderQuickSwitch) { |
+ PrerenderTestURL("files/prerender/prerender_page.html", |
+ FINAL_STATUS_CANCELLED, 0); |
+ // Post a task to cancel all the prerenders. |
+ MessageLoop::current()->PostTask( |
+ FROM_HERE, base::Bind(&CancelAllPrerenders, GetPrerenderManager())); |
+ content::RunMessageLoop(); |
+ EXPECT_TRUE(GetPrerenderContents() == NULL); |
} |
+// TODO(creis): Test for 234809, perhaps as a unittest. Commit one URL in |
+// prerender WebContents, then start a pending navigation. Swap it in, then |
+// commit the pending navigation. Crashes before this CL, should work now. |
+// Not sure how to write the test, though. |
+ |
// Checks that the prerendering of a page is canceled correctly when a |
// Javascript alert is called. |
IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderAlertBeforeOnload) { |