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 |