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 601fa246882357c2f0e268847334926bd7f58ae5..b6d5c07e18ec239a3683d75d20fdf1eb5ed815f9 100644 |
| --- a/chrome/browser/prerender/prerender_browsertest.cc |
| +++ b/chrome/browser/prerender/prerender_browsertest.cc |
| @@ -2597,7 +2597,7 @@ IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderSSLReferrerPolicy) { |
| NavigateToDestURL(); |
| } |
| -// Test interaction of the webNavigation API with prerender. |
| +// Test interaction of the webNavigation and tabs API with prerender. |
| class PrerenderBrowserTestWithExtensions : public PrerenderBrowserTest, |
| public ExtensionApiTest { |
| public: |
| @@ -2652,4 +2652,29 @@ IN_PROC_BROWSER_TEST_F(PrerenderBrowserTestWithExtensions, WebNavigation) { |
| ASSERT_TRUE(catcher.GetNextResult()) << catcher.message(); |
| } |
| +IN_PROC_BROWSER_TEST_F(PrerenderBrowserTestWithExtensions, TabsApi) { |
| + // PrerenderBrowserTest automatically started a test server. Restart it, so |
| + // ExtensionApiTest can register its test parameters. |
| + test_server()->Stop(); |
|
Matt Perry
2013/01/04 00:21:07
This is a little janky. Can you make it an option
justinlin
2013/01/04 12:43:50
Done.
|
| + ASSERT_TRUE(StartTestServer()); |
| + extensions::FrameNavigationState::set_allow_extension_scheme(true); |
| + |
| + // Wait for the extension to set itself up and return control to us. |
| + ASSERT_TRUE(RunExtensionSubtest("tabs/on_replaced", "on_replaced.html")) |
| + << message_; |
| + |
| + ResultCatcher catcher; |
| + |
| + PrerenderTestURL("files/prerender/prerender_page.html", FINAL_STATUS_USED, 1); |
| + |
| + ChannelDestructionWatcher channel_close_watcher; |
| + channel_close_watcher.WatchChannel( |
| + chrome::GetActiveWebContents(browser())->GetRenderProcessHost()); |
| + NavigateToDestURL(); |
| + channel_close_watcher.WaitForChannelClose(); |
| + |
| + ASSERT_TRUE(IsEmptyPrerenderLinkManager()); |
| + ASSERT_TRUE(catcher.GetNextResult()) << catcher.message(); |
| +} |
| + |
| } // namespace prerender |