| Index: chrome/browser/prerender/prerender_browsertest.cc
|
| diff --git a/chrome/browser/prerender/prerender_browsertest.cc b/chrome/browser/prerender/prerender_browsertest.cc
|
| index 3ace4167f6a351b629906c4c52e6fb5f640ed45a..45d640f91955240e0db8e509af8b666dc2119a9b 100644
|
| --- a/chrome/browser/prerender/prerender_browsertest.cc
|
| +++ b/chrome/browser/prerender/prerender_browsertest.cc
|
| @@ -892,18 +892,6 @@ class PrerenderBrowserTest : virtual public InProcessBrowserTest {
|
| NavigateToDestURLWithDisposition(CURRENT_TAB, true);
|
| }
|
|
|
| - void NavigateToDestURLInNewTab() const {
|
| - // First, open a new tab.
|
| - ui_test_utils::NavigateToURLWithDisposition(
|
| - current_browser(), GURL(content::kAboutBlankURL),
|
| - NEW_FOREGROUND_TAB,
|
| - ui_test_utils::BROWSER_TEST_WAIT_FOR_NAVIGATION);
|
| - // Next, navigate to the destination URL. The swap-in will not succeed,
|
| - // due to session storage namespace mismatch. The merge is only kicked off
|
| - // asynchronously.
|
| - NavigateToDestURLWithDisposition(CURRENT_TAB, false);
|
| - }
|
| -
|
| // Opens the url in a new tab, with no opener.
|
| void NavigateToDestURLWithDisposition(
|
| WindowOpenDisposition disposition,
|
| @@ -3452,8 +3440,47 @@ IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderNewNavigationEntry) {
|
| // Attempt a swap-in in a new tab, verifying that session storage namespace
|
| // merging works.
|
| IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderPageNewTab) {
|
| - PrerenderTestURL("files/prerender/prerender_page.html", FINAL_STATUS_USED, 1);
|
| - NavigateToDestURLInNewTab();
|
| + PrerenderTestURL("files/prerender/prerender_session_storage.html",
|
| + FINAL_STATUS_USED, 1);
|
| +
|
| + // Open a new tab to navigate in.
|
| + ui_test_utils::NavigateToURLWithDisposition(
|
| + current_browser(),
|
| + test_server()->GetURL("files/prerender/init_session_storage.html"),
|
| + NEW_FOREGROUND_TAB,
|
| + ui_test_utils::BROWSER_TEST_WAIT_FOR_NAVIGATION);
|
| +
|
| + // Now navigate in the new tab. Set expect_swap_to_succeed to false because
|
| + // the swap does not occur synchronously.
|
| + //
|
| + // TODO(davidben): When all swaps become asynchronous, remove the OpenURL
|
| + // return value assertion and let this go through the usual successful-swap
|
| + // codepath.
|
| + NavigateToDestURLWithDisposition(CURRENT_TAB, false);
|
| +
|
| + // Verify DidDisplayPass manually since the previous call skipped it.
|
| + EXPECT_TRUE(DidDisplayPass(
|
| + current_browser()->tab_strip_model()->GetActiveWebContents()));
|
| +}
|
| +
|
| +// Verify that session storage conflicts don't merge.
|
| +IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderSessionStorageConflict) {
|
| + PrerenderTestURL("files/prerender/prerender_session_storage_conflict.html",
|
| + FINAL_STATUS_APP_TERMINATING, 1);
|
| +
|
| + // Open a new tab to navigate in.
|
| + ui_test_utils::NavigateToURLWithDisposition(
|
| + current_browser(),
|
| + test_server()->GetURL("files/prerender/init_session_storage.html"),
|
| + NEW_FOREGROUND_TAB,
|
| + ui_test_utils::BROWSER_TEST_WAIT_FOR_NAVIGATION);
|
| +
|
| + // Now navigate in the new tab.
|
| + NavigateToDestURLWithDisposition(CURRENT_TAB, false);
|
| +
|
| + // Verify DidDisplayPass in the new tab.
|
| + EXPECT_TRUE(DidDisplayPass(
|
| + current_browser()->tab_strip_model()->GetActiveWebContents()));
|
| }
|
|
|
| // Checks that prerenders honor |should_replace_current_entry|.
|
|
|