OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "base/utf_string_conversions.h" | 5 #include "base/utf_string_conversions.h" |
6 #include "chrome/browser/automation/automation_util.h" | 6 #include "chrome/browser/automation/automation_util.h" |
7 #include "chrome/browser/extensions/platform_app_browsertest_util.h" | 7 #include "chrome/browser/extensions/platform_app_browsertest_util.h" |
8 #include "chrome/browser/ui/browser_tabstrip.h" | 8 #include "chrome/browser/ui/browser_tabstrip.h" |
9 #include "chrome/test/base/ui_test_utils.h" | 9 #include "chrome/test/base/ui_test_utils.h" |
10 #include "chrome/test/base/test_launcher_utils.h" | 10 #include "chrome/test/base/test_launcher_utils.h" |
(...skipping 264 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
275 automation_util::GetCookies(GURL("http://localhost"), | 275 automation_util::GetCookies(GURL("http://localhost"), |
276 cookie_contents2, | 276 cookie_contents2, |
277 &cookie_size, &cookie_value); | 277 &cookie_size, &cookie_value); |
278 EXPECT_EQ("guest1=true; guest2=true", cookie_value); | 278 EXPECT_EQ("guest1=true; guest2=true", cookie_value); |
279 | 279 |
280 // The third tag should not have any cookies as it is in a separate partition. | 280 // The third tag should not have any cookies as it is in a separate partition. |
281 automation_util::GetCookies(GURL("http://localhost"), | 281 automation_util::GetCookies(GURL("http://localhost"), |
282 named_partition_contents1, | 282 named_partition_contents1, |
283 &cookie_size, &cookie_value); | 283 &cookie_size, &cookie_value); |
284 EXPECT_EQ("", cookie_value); | 284 EXPECT_EQ("", cookie_value); |
| 285 |
| 286 CloseShellWindowsAndWaitForAppToExit(); |
285 } | 287 } |
286 | 288 |
287 // This tests that in-memory storage partitions are reset on browser restart, | 289 // This tests that in-memory storage partitions are reset on browser restart, |
288 // but persistent ones maintain state for cookies and HTML5 storage. | 290 // but persistent ones maintain state for cookies and HTML5 storage. |
289 IN_PROC_BROWSER_TEST_F(WebViewTest, PRE_StoragePersistence) { | 291 IN_PROC_BROWSER_TEST_F(WebViewTest, PRE_StoragePersistence) { |
290 ASSERT_TRUE(StartTestServer()); | 292 ASSERT_TRUE(StartTestServer()); |
291 const std::wstring kExpire = | 293 const std::wstring kExpire = |
292 L"var expire = new Date(Date.now() + 24 * 60 * 60 * 1000);"; | 294 L"var expire = new Date(Date.now() + 24 * 60 * 60 * 1000);"; |
293 std::wstring cookie_script1(kExpire); | 295 std::wstring cookie_script1(kExpire); |
294 cookie_script1.append( | 296 cookie_script1.append( |
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
365 &cookie_size, &cookie_value); | 367 &cookie_size, &cookie_value); |
366 EXPECT_EQ("persist1=true", cookie_value); | 368 EXPECT_EQ("persist1=true", cookie_value); |
367 automation_util::GetCookies(GURL("http://localhost"), | 369 automation_util::GetCookies(GURL("http://localhost"), |
368 persistent_partition_contents2, | 370 persistent_partition_contents2, |
369 &cookie_size, &cookie_value); | 371 &cookie_size, &cookie_value); |
370 EXPECT_EQ("persist1=true", cookie_value); | 372 EXPECT_EQ("persist1=true", cookie_value); |
371 automation_util::GetCookies(GURL("http://localhost"), | 373 automation_util::GetCookies(GURL("http://localhost"), |
372 persistent_partition_contents3, | 374 persistent_partition_contents3, |
373 &cookie_size, &cookie_value); | 375 &cookie_size, &cookie_value); |
374 EXPECT_EQ("persist2=true", cookie_value); | 376 EXPECT_EQ("persist2=true", cookie_value); |
| 377 |
| 378 CloseShellWindowsAndWaitForAppToExit(); |
375 } | 379 } |
376 | 380 |
377 // This is the post-reset portion of the StoragePersistence test. See | 381 // This is the post-reset portion of the StoragePersistence test. See |
378 // PRE_StoragePersistence for main comment. | 382 // PRE_StoragePersistence for main comment. |
379 IN_PROC_BROWSER_TEST_F(WebViewTest, StoragePersistence) { | 383 IN_PROC_BROWSER_TEST_F(WebViewTest, StoragePersistence) { |
380 ASSERT_TRUE(StartTestServer()); | 384 ASSERT_TRUE(StartTestServer()); |
381 | 385 |
382 // We don't care where the main browser is on this test. | 386 // We don't care where the main browser is on this test. |
383 GURL blank_url("about:blank"); | 387 GURL blank_url("about:blank"); |
384 | 388 |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
426 &cookie_size, &cookie_value); | 430 &cookie_size, &cookie_value); |
427 EXPECT_EQ("persist1=true", cookie_value); | 431 EXPECT_EQ("persist1=true", cookie_value); |
428 automation_util::GetCookies(GURL("http://localhost"), | 432 automation_util::GetCookies(GURL("http://localhost"), |
429 persistent_partition_contents2, | 433 persistent_partition_contents2, |
430 &cookie_size, &cookie_value); | 434 &cookie_size, &cookie_value); |
431 EXPECT_EQ("persist1=true", cookie_value); | 435 EXPECT_EQ("persist1=true", cookie_value); |
432 automation_util::GetCookies(GURL("http://localhost"), | 436 automation_util::GetCookies(GURL("http://localhost"), |
433 persistent_partition_contents3, | 437 persistent_partition_contents3, |
434 &cookie_size, &cookie_value); | 438 &cookie_size, &cookie_value); |
435 EXPECT_EQ("persist2=true", cookie_value); | 439 EXPECT_EQ("persist2=true", cookie_value); |
| 440 |
| 441 CloseShellWindowsAndWaitForAppToExit(); |
436 } | 442 } |
437 | 443 |
438 // This tests DOM storage isolation for packaged apps with webview tags. It | 444 // This tests DOM storage isolation for packaged apps with webview tags. It |
439 // loads an app with multiple webview tags and each tag sets DOM storage | 445 // loads an app with multiple webview tags and each tag sets DOM storage |
440 // entries, which the test checks to ensure proper storage isolation is | 446 // entries, which the test checks to ensure proper storage isolation is |
441 // enforced. | 447 // enforced. |
442 IN_PROC_BROWSER_TEST_F(WebViewTest, DOMStorageIsolation) { | 448 IN_PROC_BROWSER_TEST_F(WebViewTest, DOMStorageIsolation) { |
443 ASSERT_TRUE(StartTestServer()); | 449 ASSERT_TRUE(StartTestServer()); |
444 GURL regular_url = test_server()->GetURL("files/title1.html"); | 450 GURL regular_url = test_server()->GetURL("files/title1.html"); |
445 | 451 |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
514 std::wstring(), get_session_storage.c_str(), &output)); | 520 std::wstring(), get_session_storage.c_str(), &output)); |
515 EXPECT_STREQ("badval", output.c_str()); | 521 EXPECT_STREQ("badval", output.c_str()); |
516 EXPECT_TRUE(ExecuteJavaScriptAndExtractString( | 522 EXPECT_TRUE(ExecuteJavaScriptAndExtractString( |
517 default_tag_contents1->GetRenderViewHost(), std::wstring(), | 523 default_tag_contents1->GetRenderViewHost(), std::wstring(), |
518 get_local_storage.c_str(), &output)); | 524 get_local_storage.c_str(), &output)); |
519 EXPECT_STREQ("badval", output.c_str()); | 525 EXPECT_STREQ("badval", output.c_str()); |
520 EXPECT_TRUE(ExecuteJavaScriptAndExtractString( | 526 EXPECT_TRUE(ExecuteJavaScriptAndExtractString( |
521 default_tag_contents1->GetRenderViewHost(), std::wstring(), | 527 default_tag_contents1->GetRenderViewHost(), std::wstring(), |
522 get_session_storage.c_str(), &output)); | 528 get_session_storage.c_str(), &output)); |
523 EXPECT_STREQ("badval", output.c_str()); | 529 EXPECT_STREQ("badval", output.c_str()); |
| 530 |
| 531 CloseShellWindowsAndWaitForAppToExit(); |
524 } | 532 } |
525 | 533 |
526 // This tests IndexedDB isolation for packaged apps with webview tags. It loads | 534 // This tests IndexedDB isolation for packaged apps with webview tags. It loads |
527 // an app with multiple webview tags and each tag creates an IndexedDB record, | 535 // an app with multiple webview tags and each tag creates an IndexedDB record, |
528 // which the test checks to ensure proper storage isolation is enforced. | 536 // which the test checks to ensure proper storage isolation is enforced. |
529 IN_PROC_BROWSER_TEST_F(WebViewTest, IndexedDBIsolation) { | 537 IN_PROC_BROWSER_TEST_F(WebViewTest, IndexedDBIsolation) { |
530 ASSERT_TRUE(StartTestServer()); | 538 ASSERT_TRUE(StartTestServer()); |
531 GURL regular_url = test_server()->GetURL("files/title1.html"); | 539 GURL regular_url = test_server()->GetURL("files/title1.html"); |
532 | 540 |
533 content::WebContents* default_tag_contents1; | 541 content::WebContents* default_tag_contents1; |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
600 const char* script = | 608 const char* script = |
601 "indexedDB.open('isolation').onsuccess = function(e) {" | 609 "indexedDB.open('isolation').onsuccess = function(e) {" |
602 " if (e.target.result.version == 1)" | 610 " if (e.target.result.version == 1)" |
603 " document.title = 'db not found';" | 611 " document.title = 'db not found';" |
604 " else " | 612 " else " |
605 " document.title = 'error';" | 613 " document.title = 'error';" |
606 "}"; | 614 "}"; |
607 ExecuteScriptWaitForTitle(chrome::GetWebContentsAt(browser(), 0), | 615 ExecuteScriptWaitForTitle(chrome::GetWebContentsAt(browser(), 0), |
608 script, "db not found"); | 616 script, "db not found"); |
609 ExecuteScriptWaitForTitle(default_tag_contents1, script, "db not found"); | 617 ExecuteScriptWaitForTitle(default_tag_contents1, script, "db not found"); |
| 618 |
| 619 CloseShellWindowsAndWaitForAppToExit(); |
610 } | 620 } |
OLD | NEW |