diff options
author | ajwong@chromium.org <ajwong@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-07-13 23:42:51 +0000 |
---|---|---|
committer | ajwong@chromium.org <ajwong@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-07-13 23:42:51 +0000 |
commit | 6825ffbe09345e022c5fe624d77707c7d0534f97 (patch) | |
tree | 78b4dc5dcf463586c9328a2b456dded60e10fd25 /chrome/browser/extensions/isolated_app_browsertest.cc | |
parent | af29fa41dbbd156dea852e5e37c68c7a3442131f (diff) | |
download | chromium_src-6825ffbe09345e022c5fe624d77707c7d0534f97.zip chromium_src-6825ffbe09345e022c5fe624d77707c7d0534f97.tar.gz chromium_src-6825ffbe09345e022c5fe624d77707c7d0534f97.tar.bz2 |
Reorder CookieIsolation so that the intentional Crash occurs after tab ExecuteJavaScript.
This is a stopgap that avoids letting ExecuteJavaScript() hang in the situation that Reload() causes a tab to crash. Putting this in for now to make try-bot cycle time better while the underlying issue is investigated.
BUG=137313
TEST=none
Review URL: https://chromiumcodereview.appspot.com/10779005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@146685 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/extensions/isolated_app_browsertest.cc')
-rw-r--r-- | chrome/browser/extensions/isolated_app_browsertest.cc | 57 |
1 files changed, 29 insertions, 28 deletions
diff --git a/chrome/browser/extensions/isolated_app_browsertest.cc b/chrome/browser/extensions/isolated_app_browsertest.cc index 9e7a751..d63a6c6 100644 --- a/chrome/browser/extensions/isolated_app_browsertest.cc +++ b/chrome/browser/extensions/isolated_app_browsertest.cc @@ -115,6 +115,35 @@ IN_PROC_BROWSER_TEST_F(IsolatedAppTest, CookieIsolation) { ASSERT_TRUE(GetInstalledApp(tab2)); ASSERT_TRUE(!GetInstalledApp(tab3)); + // Check that tabs see cannot each other's localStorage even though they are + // in the same origin. + RenderViewHost* app1_rvh = tab1->GetRenderViewHost(); + RenderViewHost* app2_rvh = tab2->GetRenderViewHost(); + RenderViewHost* non_app_rvh = tab3->GetRenderViewHost(); + ASSERT_TRUE(ui_test_utils::ExecuteJavaScript( + app1_rvh, L"", L"window.localStorage.setItem('testdata', 'ls_app1');")); + ASSERT_TRUE(ui_test_utils::ExecuteJavaScript( + app2_rvh, L"", L"window.localStorage.setItem('testdata', 'ls_app2');")); + ASSERT_TRUE(ui_test_utils::ExecuteJavaScript( + non_app_rvh, L"", + L"window.localStorage.setItem('testdata', 'ls_normal');")); + + ASSERT_TRUE(ExecuteJavaScript( + app1_rvh, L"", L"window.localStorage.getItem('testdata');")); + + const std::wstring& kRetrieveLocalStorage = + WrapForJavascriptAndExtract(L"window.localStorage.getItem('testdata')"); + std::string result; + ASSERT_TRUE(ExecuteJavaScriptAndExtractString( + app1_rvh, L"", kRetrieveLocalStorage.c_str(), &result)); + EXPECT_EQ("ls_app1", result); + ASSERT_TRUE(ExecuteJavaScriptAndExtractString( + app2_rvh, L"", kRetrieveLocalStorage.c_str(), &result)); + EXPECT_EQ("ls_app2", result); + ASSERT_TRUE(ExecuteJavaScriptAndExtractString( + non_app_rvh, L"", kRetrieveLocalStorage.c_str(), &result)); + EXPECT_EQ("ls_normal", result); + // Check that each tab sees its own cookie. EXPECT_TRUE(HasCookie(tab1, "app1=3")); EXPECT_TRUE(HasCookie(tab2, "app2=4")); @@ -151,34 +180,6 @@ IN_PROC_BROWSER_TEST_F(IsolatedAppTest, CookieIsolation) { EXPECT_FALSE(HasCookie(tab1, "app2")); EXPECT_FALSE(HasCookie(tab1, "normalPage")); - // Check that tabs see cannot each other's localStorage even though they are - // in the same origin. - RenderViewHost* app1_rvh = tab1->GetRenderViewHost(); - RenderViewHost* app2_rvh = tab2->GetRenderViewHost(); - RenderViewHost* non_app_rvh = tab3->GetRenderViewHost(); - ASSERT_TRUE(ui_test_utils::ExecuteJavaScript( - app1_rvh, L"", L"window.localStorage.setItem('testdata', 'ls_app1');")); - ASSERT_TRUE(ui_test_utils::ExecuteJavaScript( - app2_rvh, L"", L"window.localStorage.setItem('testdata', 'ls_app2');")); - ASSERT_TRUE(ui_test_utils::ExecuteJavaScript( - non_app_rvh, L"", - L"window.localStorage.setItem('testdata', 'ls_normal');")); - - ASSERT_TRUE(ExecuteJavaScript( - app1_rvh, L"", L"window.localStorage.getItem('testdata');")); - - const std::wstring& kRetrieveLocalStorage = - WrapForJavascriptAndExtract(L"window.localStorage.getItem('testdata')"); - std::string result; - ASSERT_TRUE(ExecuteJavaScriptAndExtractString( - app1_rvh, L"", kRetrieveLocalStorage.c_str(), &result)); - EXPECT_EQ("ls_app1", result); - ASSERT_TRUE(ExecuteJavaScriptAndExtractString( - app2_rvh, L"", kRetrieveLocalStorage.c_str(), &result)); - EXPECT_EQ("ls_app2", result); - ASSERT_TRUE(ExecuteJavaScriptAndExtractString( - non_app_rvh, L"", kRetrieveLocalStorage.c_str(), &result)); - EXPECT_EQ("ls_normal", result); } // Ensure that cookies are not isolated if the isolated apps are not installed. |