Chromium Code Reviews| Index: chrome/browser/prerender/prerender_browsertest.cc |
| diff --git a/chrome/browser/prerender/prerender_browsertest.cc b/chrome/browser/prerender/prerender_browsertest.cc |
| index 97f7be961289c398b93fe7edfa6ae2875b05b596..3b0f871d96861c8a9bbe998b969bf14880f4fddf 100644 |
| --- a/chrome/browser/prerender/prerender_browsertest.cc |
| +++ b/chrome/browser/prerender/prerender_browsertest.cc |
| @@ -2276,12 +2276,44 @@ IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderCancelAll) { |
| 1); |
| // Post a task to cancel all the prerenders. |
| MessageLoop::current()->PostTask( |
| - FROM_HERE, |
| - base::Bind(&CancelAllPrerenders, GetPrerenderManager())); |
| + FROM_HERE, base::Bind(&CancelAllPrerenders, GetPrerenderManager())); |
| content::RunMessageLoop(); |
| EXPECT_TRUE(GetPrerenderContents() == NULL); |
| } |
| +IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderEvents) { |
|
mmenke
2012/12/07 17:11:48
Suggest a test where the page itself cancels the p
mmenke
2012/12/07 19:12:47
That test could actually just be added to the corr
gavinp
2012/12/14 21:48:52
Done.
|
| + PrerenderTestURL("files/prerender/prerender_page.html", |
| + FINAL_STATUS_CANCELLED, 1); |
| + WebContents* web_contents = chrome::GetActiveWebContents(browser()); |
| + bool received_prerender_started = false; |
| + bool received_prerender_stopped = false; |
| + ASSERT_TRUE(content::ExecuteJavaScriptAndExtractBool( |
| + web_contents->GetRenderViewHost(), L"", |
| + L"window.domAutomationController.send(receivedPrerenderStartEvent)", |
| + &received_prerender_started)); |
| + ASSERT_TRUE(content::ExecuteJavaScriptAndExtractBool( |
| + web_contents->GetRenderViewHost(), L"", |
| + L"window.domAutomationController.send(receivedPrerenderStopEvent)", |
| + &received_prerender_stopped)); |
| + ASSERT_TRUE(received_prerender_started); |
| + ASSERT_FALSE(received_prerender_stopped); |
| + |
| + MessageLoop::current()->PostTask( |
| + FROM_HERE, base::Bind(&CancelAllPrerenders, GetPrerenderManager())); |
| + content::RunMessageLoop(); |
| + |
| + ASSERT_TRUE(content::ExecuteJavaScriptAndExtractBool( |
| + web_contents->GetRenderViewHost(), L"", |
| + L"window.domAutomationController.send(receivedPrerenderStartEvent)", |
| + &received_prerender_started)); |
|
mmenke
2012/12/07 17:11:48
Is there a reason for this? I don't object to it,
gavinp
2012/12/14 21:48:52
Nope, none. I think some of these ASSERTs should b
|
| + ASSERT_TRUE(content::ExecuteJavaScriptAndExtractBool( |
| + web_contents->GetRenderViewHost(), L"", |
| + L"window.domAutomationController.send(receivedPrerenderStopEvent)", |
| + &received_prerender_stopped)); |
| + ASSERT_TRUE(received_prerender_started); |
| + ASSERT_TRUE(received_prerender_stopped); |
| +} |
| + |
| // Prerendering and history tests. |
| // The prerendered page is navigated to in several ways [navigate via |
| // omnibox, click on link, key-modified click to open in background tab, etc], |