Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(72)

Unified Diff: chrome/browser/prerender/prerender_browsertest.cc

Issue 8392041: Prerendered tabs use the same SessionStorage namespace as the tab that triggered the prerender. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Indent fixes Created 9 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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,

Powered by Google App Engine
This is Rietveld 408576698