Index: chrome/browser/prerender/prerender_browsertest.cc |
diff --git a/chrome/browser/prerender/prerender_browsertest.cc b/chrome/browser/prerender/prerender_browsertest.cc |
index 2d412288ab02b42a4b174cf7d86a89c62d5aebfe..b3d706b26ad62ec3cbb71cfdb6405c8667392666 100644 |
--- a/chrome/browser/prerender/prerender_browsertest.cc |
+++ b/chrome/browser/prerender/prerender_browsertest.cc |
@@ -95,6 +95,7 @@ bool ShouldRenderPrerenderedPageCorrectly(FinalStatus status) { |
case FINAL_STATUS_RENDERER_CRASHED: |
case FINAL_STATUS_CANCELLED: |
case FINAL_STATUS_DEVTOOLS_ATTACHED: |
+ case FINAL_STATUS_SESSION_STORAGE_NAMESPACE_MISMATCH: |
return true; |
default: |
return false; |
@@ -107,12 +108,14 @@ class TestPrerenderContents : public PrerenderContents { |
TestPrerenderContents( |
PrerenderManager* prerender_manager, |
PrerenderTracker* prerender_tracker, |
+ SessionStorageNamespace* session_storage_namespace, |
Profile* profile, |
const GURL& url, |
const GURL& referrer, |
int expected_number_of_loads, |
FinalStatus expected_final_status) |
- : PrerenderContents(prerender_manager, prerender_tracker, profile, |
+ : PrerenderContents(prerender_manager, prerender_tracker, |
+ session_storage_namespace, profile, |
url, referrer, ORIGIN_LINK_REL_PRERENDER, |
PrerenderManager::kNoExperiment), |
number_of_loads_(0), |
@@ -295,6 +298,7 @@ class WaitForLoadPrerenderContentsFactory : public PrerenderContents::Factory { |
virtual PrerenderContents* CreatePrerenderContents( |
PrerenderManager* prerender_manager, |
PrerenderTracker* prerender_tracker, |
+ SessionStorageNamespace* session_storage_namespace, |
Profile* profile, |
const GURL& url, |
const GURL& referrer, |
@@ -309,6 +313,7 @@ class WaitForLoadPrerenderContentsFactory : public PrerenderContents::Factory { |
" with expected final status " << expected_final_status; |
VLOG(1) << expected_final_status_queue_.size() << " left in the queue."; |
return new TestPrerenderContents(prerender_manager, prerender_tracker, |
+ session_storage_namespace, |
profile, url, |
referrer, expected_number_of_loads_, |
expected_final_status); |
@@ -808,42 +813,6 @@ IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderVisibilityQuickSwitch) { |
NavigateToDestURL(); |
} |
-// Checks that the visibility API works when opening a page in a new hidden |
-// tab. |
-IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderVisibilityBackgroundTab) { |
- PrerenderTestURL("files/prerender/prerender_visibility_hidden.html", |
- FINAL_STATUS_USED, |
- 1); |
- NavigateToDestURLWithDisposition(NEW_BACKGROUND_TAB); |
-} |
- |
-// Checks that the visibility API works when opening a page in a new hidden |
-// tab, which is switched to before it stops loading. |
-IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, |
- PrerenderVisibilityBackgroundTabQuickSwitch) { |
- PrerenderTestURL("files/prerender/prerender_visibility_hidden_quick.html", |
- FINAL_STATUS_USED, 0); |
- NavigateToDestURLWithDisposition(NEW_BACKGROUND_TAB); |
-} |
- |
-// Checks that the visibility API works when opening a page in a new foreground |
-// tab. |
-IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderVisibilityForegroundTab) { |
- PrerenderTestURL("files/prerender/prerender_visibility.html", |
- FINAL_STATUS_USED, |
- 1); |
- NavigateToDestURLWithDisposition(NEW_FOREGROUND_TAB); |
-} |
- |
-// Checks that the visibility API works when the prerender is quickly opened |
-// in a new tab foreground before it stops loading. |
-IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, |
- PrerenderVisibilityForegroundTabQuickSwitch) { |
- PrerenderTestURL("files/prerender/prerender_visibility_quick.html", |
- FINAL_STATUS_USED, 0); |
- NavigateToDestURL(); |
-} |
- |
// Checks that the prerendering of a page is canceled correctly when a |
// Javascript alert is called. |
IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderAlertBeforeOnload) { |
@@ -1548,31 +1517,6 @@ IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, |
OpenDestURLViaClickTarget(); |
} |
-// Checks that if a page is opened in a new window by javascript and both the |
-// pages are in different domains, the prerendered page is used. |
-IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, |
- PrerenderCrossDomainWindowOpenerWindowOpen) { |
- PrerenderTestURL( |
- GetCrossDomainTestUrl("files/prerender/prerender_page.html"), |
- FINAL_STATUS_USED, |
- 1); |
- OpenDestURLViaWindowOpen(); |
-} |
- |
-// Checks that if a page is opened due to click on a href with target="_blank" |
-// and both pages are in different domains, the prerendered page is used. |
-IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, |
- PrerenderCrossDomainWindowOpenerClickTarget) { |
- PrerenderTestURL( |
- GetCrossDomainTestUrl("files/prerender/prerender_page.html"), |
- FINAL_STATUS_USED, |
- 1); |
- OpenDestURLViaClickTarget(); |
-} |
- |
-// TODO(shishir): Add a test for the case when the page having the |
-// prerendering link already has an opener set. |
- |
// Checks that a top-level page which would normally request an SSL client |
// certificate will never be seen since it's an https top-level resource. |
IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderSSLClientCertTopLevel) { |
@@ -1839,72 +1783,25 @@ IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderClickNavigateGoBack) { |
GoBackToPrerender(browser()); |
} |
-IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, |
- PrerenderClickNewWindowClickGoBack) { |
- PrerenderTestURL("files/prerender/prerender_page_with_link.html", |
- FINAL_STATUS_USED, |
- 1); |
- OpenDestURLViaClickNewWindow(); |
- Browser* new_browser = BrowserList::GetLastActive(); |
- NavigateToNextPageAfterPrerender(new_browser); |
- GoBackToPrerender(new_browser); |
-} |
- |
-IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, |
- PrerenderClickNewWindowNavigateGoBack) { |
+IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderClickNewWindow) { |
PrerenderTestURL("files/prerender/prerender_page_with_link.html", |
- FINAL_STATUS_USED, |
+ FINAL_STATUS_SESSION_STORAGE_NAMESPACE_MISMATCH, |
1); |
OpenDestURLViaClickNewWindow(); |
- Browser* new_browser = BrowserList::GetLastActive(); |
- ClickToNextPageAfterPrerender(new_browser); |
- GoBackToPrerender(new_browser); |
-} |
- |
-IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, |
- PrerenderClickNewForegroundTabClickGoBack) { |
- PrerenderTestURL("files/prerender/prerender_page_with_link.html", |
- FINAL_STATUS_USED, |
- 1); |
- OpenDestURLViaClickNewForegroundTab(); |
- NavigateToNextPageAfterPrerender(browser()); |
- GoBackToPrerender(browser()); |
} |
-IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, |
- PrerenderClickNewForegroundTabNavigateGoBack) { |
+IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderClickNewForegroundTab) { |
PrerenderTestURL("files/prerender/prerender_page_with_link.html", |
- FINAL_STATUS_USED, |
+ FINAL_STATUS_SESSION_STORAGE_NAMESPACE_MISMATCH, |
1); |
OpenDestURLViaClickNewForegroundTab(); |
- ClickToNextPageAfterPrerender(browser()); |
- GoBackToPrerender(browser()); |
} |
-IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, |
- PrerenderClickNewBackgroundTabClickGoBack) { |
+IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderClickNewBackgroundTab) { |
PrerenderTestURL("files/prerender/prerender_page_with_link.html", |
- FINAL_STATUS_USED, |
+ FINAL_STATUS_SESSION_STORAGE_NAMESPACE_MISMATCH, |
1); |
OpenDestURLViaClickNewBackgroundTab(); |
- // SelectNextTab completes synchronously, in terms of |
- // updating the active index. |
- browser()->SelectNextTab(); |
- NavigateToNextPageAfterPrerender(browser()); |
- GoBackToPrerender(browser()); |
-} |
- |
-IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, |
- PrerenderClickNewBackgroundTabNavigateGoBack) { |
- PrerenderTestURL("files/prerender/prerender_page_with_link.html", |
- FINAL_STATUS_USED, |
- 1); |
- OpenDestURLViaClickNewBackgroundTab(); |
- // SelectNextTab completes synchronously, in terms of |
- // updating the active index. |
- browser()->SelectNextTab(); |
- ClickToNextPageAfterPrerender(browser()); |
- GoBackToPrerender(browser()); |
} |
IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, |