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

Side by Side Diff: chrome/browser/extensions/app_process_apitest.cc

Issue 1409163006: Migrating tests to use EmbeddedTestServer (/chrome/browser misc) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix rebase bug. Created 5 years, 1 month 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 unified diff | Download patch
OLDNEW
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/command_line.h" 5 #include "base/command_line.h"
6 #include "chrome/browser/chrome_notification_types.h" 6 #include "chrome/browser/chrome_notification_types.h"
7 #include "chrome/browser/extensions/extension_apitest.h" 7 #include "chrome/browser/extensions/extension_apitest.h"
8 #include "chrome/browser/extensions/extension_service.h" 8 #include "chrome/browser/extensions/extension_service.h"
9 #include "chrome/browser/profiles/profile.h" 9 #include "chrome/browser/profiles/profile.h"
10 #include "chrome/browser/ui/blocked_content/popup_blocker_tab_helper.h" 10 #include "chrome/browser/ui/blocked_content/popup_blocker_tab_helper.h"
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
66 66
67 // Helper function to test that independent tabs of the named app are loaded 67 // Helper function to test that independent tabs of the named app are loaded
68 // into separate processes. 68 // into separate processes.
69 void TestAppInstancesHelper(const std::string& app_name) { 69 void TestAppInstancesHelper(const std::string& app_name) {
70 LOG(INFO) << "Start of test."; 70 LOG(INFO) << "Start of test.";
71 71
72 extensions::ProcessMap* process_map = 72 extensions::ProcessMap* process_map =
73 extensions::ProcessMap::Get(browser()->profile()); 73 extensions::ProcessMap::Get(browser()->profile());
74 74
75 host_resolver()->AddRule("*", "127.0.0.1"); 75 host_resolver()->AddRule("*", "127.0.0.1");
76 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady()); 76 ASSERT_TRUE(embedded_test_server()->Start());
77 77
78 ASSERT_TRUE(LoadExtension( 78 ASSERT_TRUE(LoadExtension(
79 test_data_dir_.AppendASCII(app_name))); 79 test_data_dir_.AppendASCII(app_name)));
80 const Extension* extension = GetSingleLoadedExtension(); 80 const Extension* extension = GetSingleLoadedExtension();
81 81
82 // Open two tabs in the app, one outside it. 82 // Open two tabs in the app, one outside it.
83 GURL base_url = GetTestBaseURL(app_name); 83 GURL base_url = GetTestBaseURL(app_name);
84 84
85 // Test both opening a URL in a new tab, and opening a tab and then 85 // Test both opening a URL in a new tab, and opening a tab and then
86 // navigating it. Either way, app tabs should be considered extension 86 // navigating it. Either way, app tabs should be considered extension
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
143 // Tests that hosted apps with the background permission get a process-per-app 143 // Tests that hosted apps with the background permission get a process-per-app
144 // model, since all pages need to be able to script the background page. 144 // model, since all pages need to be able to script the background page.
145 // http://crbug.com/172750 145 // http://crbug.com/172750
146 IN_PROC_BROWSER_TEST_F(AppApiTest, DISABLED_AppProcess) { 146 IN_PROC_BROWSER_TEST_F(AppApiTest, DISABLED_AppProcess) {
147 LOG(INFO) << "Start of test."; 147 LOG(INFO) << "Start of test.";
148 148
149 extensions::ProcessMap* process_map = 149 extensions::ProcessMap* process_map =
150 extensions::ProcessMap::Get(browser()->profile()); 150 extensions::ProcessMap::Get(browser()->profile());
151 151
152 host_resolver()->AddRule("*", "127.0.0.1"); 152 host_resolver()->AddRule("*", "127.0.0.1");
153 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady()); 153 ASSERT_TRUE(embedded_test_server()->Start());
154 154
155 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII("app_process"))); 155 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII("app_process")));
156 156
157 LOG(INFO) << "Loaded extension."; 157 LOG(INFO) << "Loaded extension.";
158 158
159 // Open two tabs in the app, one outside it. 159 // Open two tabs in the app, one outside it.
160 GURL base_url = GetTestBaseURL("app_process"); 160 GURL base_url = GetTestBaseURL("app_process");
161 161
162 // Test both opening a URL in a new tab, and opening a tab and then navigating 162 // Test both opening a URL in a new tab, and opening a tab and then navigating
163 // it. Either way, app tabs should be considered extension processes, but 163 // it. Either way, app tabs should be considered extension processes, but
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
291 #else 291 #else
292 #define MAYBE_BookmarkAppGetsNormalProcess BookmarkAppGetsNormalProcess 292 #define MAYBE_BookmarkAppGetsNormalProcess BookmarkAppGetsNormalProcess
293 #endif 293 #endif
294 IN_PROC_BROWSER_TEST_F(AppApiTest, MAYBE_BookmarkAppGetsNormalProcess) { 294 IN_PROC_BROWSER_TEST_F(AppApiTest, MAYBE_BookmarkAppGetsNormalProcess) {
295 ExtensionService* service = extensions::ExtensionSystem::Get( 295 ExtensionService* service = extensions::ExtensionSystem::Get(
296 browser()->profile())->extension_service(); 296 browser()->profile())->extension_service();
297 extensions::ProcessMap* process_map = 297 extensions::ProcessMap* process_map =
298 extensions::ProcessMap::Get(browser()->profile()); 298 extensions::ProcessMap::Get(browser()->profile());
299 299
300 host_resolver()->AddRule("*", "127.0.0.1"); 300 host_resolver()->AddRule("*", "127.0.0.1");
301 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady()); 301 ASSERT_TRUE(embedded_test_server()->Start());
302 GURL base_url = GetTestBaseURL("app_process"); 302 GURL base_url = GetTestBaseURL("app_process");
303 303
304 // Load an app as a bookmark app. 304 // Load an app as a bookmark app.
305 std::string error; 305 std::string error;
306 scoped_refptr<const Extension> extension(extensions::file_util::LoadExtension( 306 scoped_refptr<const Extension> extension(extensions::file_util::LoadExtension(
307 test_data_dir_.AppendASCII("app_process"), 307 test_data_dir_.AppendASCII("app_process"),
308 extensions::Manifest::UNPACKED, 308 extensions::Manifest::UNPACKED,
309 Extension::FROM_BOOKMARK, 309 Extension::FROM_BOOKMARK,
310 &error)); 310 &error));
311 service->OnExtensionInstalled(extension.get(), 311 service->OnExtensionInstalled(extension.get(),
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
371 371
372 // Tests that app process switching works properly in the following scenario: 372 // Tests that app process switching works properly in the following scenario:
373 // 1. navigate to a page1 in the app 373 // 1. navigate to a page1 in the app
374 // 2. page1 redirects to a page2 outside the app extent (ie, "/server-redirect") 374 // 2. page1 redirects to a page2 outside the app extent (ie, "/server-redirect")
375 // 3. page2 redirects back to a page in the app 375 // 3. page2 redirects back to a page in the app
376 // The final navigation should end up in the app process. 376 // The final navigation should end up in the app process.
377 // See http://crbug.com/61757 377 // See http://crbug.com/61757
378 // Flaky. http://crbug.com/341898 378 // Flaky. http://crbug.com/341898
379 IN_PROC_BROWSER_TEST_F(AppApiTest, DISABLED_AppProcessRedirectBack) { 379 IN_PROC_BROWSER_TEST_F(AppApiTest, DISABLED_AppProcessRedirectBack) {
380 host_resolver()->AddRule("*", "127.0.0.1"); 380 host_resolver()->AddRule("*", "127.0.0.1");
381 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady()); 381 ASSERT_TRUE(embedded_test_server()->Start());
382 382
383 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII("app_process"))); 383 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII("app_process")));
384 384
385 // Open two tabs in the app. 385 // Open two tabs in the app.
386 GURL base_url = GetTestBaseURL("app_process"); 386 GURL base_url = GetTestBaseURL("app_process");
387 387
388 chrome::NewTab(browser()); 388 chrome::NewTab(browser());
389 ui_test_utils::NavigateToURL(browser(), base_url.Resolve("path1/empty.html")); 389 ui_test_utils::NavigateToURL(browser(), base_url.Resolve("path1/empty.html"));
390 chrome::NewTab(browser()); 390 chrome::NewTab(browser());
391 // Wait until the second tab finishes its redirect train (2 hops). 391 // Wait until the second tab finishes its redirect train (2 hops).
(...skipping 24 matching lines...) Expand all
416 // Ensure that re-navigating to a URL after installing or uninstalling it as an 416 // Ensure that re-navigating to a URL after installing or uninstalling it as an
417 // app correctly swaps the tab to the app process. (http://crbug.com/80621) 417 // app correctly swaps the tab to the app process. (http://crbug.com/80621)
418 // 418 //
419 // Fails on Windows. http://crbug.com/238670 419 // Fails on Windows. http://crbug.com/238670
420 // Added logging to help diagnose the location of the problem. 420 // Added logging to help diagnose the location of the problem.
421 IN_PROC_BROWSER_TEST_F(AppApiTest, NavigateIntoAppProcess) { 421 IN_PROC_BROWSER_TEST_F(AppApiTest, NavigateIntoAppProcess) {
422 extensions::ProcessMap* process_map = 422 extensions::ProcessMap* process_map =
423 extensions::ProcessMap::Get(browser()->profile()); 423 extensions::ProcessMap::Get(browser()->profile());
424 424
425 host_resolver()->AddRule("*", "127.0.0.1"); 425 host_resolver()->AddRule("*", "127.0.0.1");
426 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady()); 426 ASSERT_TRUE(embedded_test_server()->Start());
427 427
428 // The app under test acts on URLs whose host is "localhost", 428 // The app under test acts on URLs whose host is "localhost",
429 // so the URLs we navigate to must have host "localhost". 429 // so the URLs we navigate to must have host "localhost".
430 GURL base_url = GetTestBaseURL("app_process"); 430 GURL base_url = GetTestBaseURL("app_process");
431 431
432 // Load an app URL before loading the app. 432 // Load an app URL before loading the app.
433 LOG(INFO) << "Loading path1/empty.html."; 433 LOG(INFO) << "Loading path1/empty.html.";
434 ui_test_utils::NavigateToURL(browser(), base_url.Resolve("path1/empty.html")); 434 ui_test_utils::NavigateToURL(browser(), base_url.Resolve("path1/empty.html"));
435 LOG(INFO) << "Loading path1/empty.html - done."; 435 LOG(INFO) << "Loading path1/empty.html - done.";
436 WebContents* contents = browser()->tab_strip_model()->GetWebContentsAt(0); 436 WebContents* contents = browser()->tab_strip_model()->GetWebContentsAt(0);
(...skipping 26 matching lines...) Expand all
463 // Ensure that reloading a URL after installing or uninstalling it as an app 463 // Ensure that reloading a URL after installing or uninstalling it as an app
464 // correctly swaps the tab to the app process. (http://crbug.com/80621) 464 // correctly swaps the tab to the app process. (http://crbug.com/80621)
465 // 465 //
466 // Added logging to help diagnose the location of the problem. 466 // Added logging to help diagnose the location of the problem.
467 // http://crbug.com/238670 467 // http://crbug.com/238670
468 IN_PROC_BROWSER_TEST_F(AppApiTest, ReloadIntoAppProcess) { 468 IN_PROC_BROWSER_TEST_F(AppApiTest, ReloadIntoAppProcess) {
469 extensions::ProcessMap* process_map = 469 extensions::ProcessMap* process_map =
470 extensions::ProcessMap::Get(browser()->profile()); 470 extensions::ProcessMap::Get(browser()->profile());
471 471
472 host_resolver()->AddRule("*", "127.0.0.1"); 472 host_resolver()->AddRule("*", "127.0.0.1");
473 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady()); 473 ASSERT_TRUE(embedded_test_server()->Start());
474 474
475 // The app under test acts on URLs whose host is "localhost", 475 // The app under test acts on URLs whose host is "localhost",
476 // so the URLs we navigate to must have host "localhost". 476 // so the URLs we navigate to must have host "localhost".
477 GURL base_url = GetTestBaseURL("app_process"); 477 GURL base_url = GetTestBaseURL("app_process");
478 478
479 // Load app, disable it, and navigate to the page. 479 // Load app, disable it, and navigate to the page.
480 LOG(INFO) << "Loading extension."; 480 LOG(INFO) << "Loading extension.";
481 const Extension* app = 481 const Extension* app =
482 LoadExtension(test_data_dir_.AppendASCII("app_process")); 482 LoadExtension(test_data_dir_.AppendASCII("app_process"));
483 LOG(INFO) << "Loading extension - done."; 483 LOG(INFO) << "Loading extension - done.";
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
528 // Ensure that reloading a URL with JavaScript after installing or uninstalling 528 // Ensure that reloading a URL with JavaScript after installing or uninstalling
529 // it as an app correctly swaps the process. (http://crbug.com/80621) 529 // it as an app correctly swaps the process. (http://crbug.com/80621)
530 // 530 //
531 // Crashes on Windows and Mac. http://crbug.com/238670 531 // Crashes on Windows and Mac. http://crbug.com/238670
532 // Added logging to help diagnose the location of the problem. 532 // Added logging to help diagnose the location of the problem.
533 IN_PROC_BROWSER_TEST_F(AppApiTest, ReloadIntoAppProcessWithJavaScript) { 533 IN_PROC_BROWSER_TEST_F(AppApiTest, ReloadIntoAppProcessWithJavaScript) {
534 extensions::ProcessMap* process_map = 534 extensions::ProcessMap* process_map =
535 extensions::ProcessMap::Get(browser()->profile()); 535 extensions::ProcessMap::Get(browser()->profile());
536 536
537 host_resolver()->AddRule("*", "127.0.0.1"); 537 host_resolver()->AddRule("*", "127.0.0.1");
538 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady()); 538 ASSERT_TRUE(embedded_test_server()->Start());
539 539
540 // The app under test acts on URLs whose host is "localhost", 540 // The app under test acts on URLs whose host is "localhost",
541 // so the URLs we navigate to must have host "localhost". 541 // so the URLs we navigate to must have host "localhost".
542 GURL base_url = GetTestBaseURL("app_process"); 542 GURL base_url = GetTestBaseURL("app_process");
543 543
544 // Load app, disable it, and navigate to the page. 544 // Load app, disable it, and navigate to the page.
545 LOG(INFO) << "Loading extension."; 545 LOG(INFO) << "Loading extension.";
546 const Extension* app = 546 const Extension* app =
547 LoadExtension(test_data_dir_.AppendASCII("app_process")); 547 LoadExtension(test_data_dir_.AppendASCII("app_process"));
548 LOG(INFO) << "Loading extension - done."; 548 LOG(INFO) << "Loading extension - done.";
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
600 // Disable this test in Metro+Ash for now (http://crbug.com/262796). 600 // Disable this test in Metro+Ash for now (http://crbug.com/262796).
601 if (base::CommandLine::ForCurrentProcess()->HasSwitch( 601 if (base::CommandLine::ForCurrentProcess()->HasSwitch(
602 switches::kAshBrowserTests)) 602 switches::kAshBrowserTests))
603 return; 603 return;
604 #endif 604 #endif
605 605
606 extensions::ProcessMap* process_map = 606 extensions::ProcessMap* process_map =
607 extensions::ProcessMap::Get(browser()->profile()); 607 extensions::ProcessMap::Get(browser()->profile());
608 608
609 host_resolver()->AddRule("*", "127.0.0.1"); 609 host_resolver()->AddRule("*", "127.0.0.1");
610 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady()); 610 ASSERT_TRUE(embedded_test_server()->Start());
611 611
612 GURL base_url = GetTestBaseURL("app_process"); 612 GURL base_url = GetTestBaseURL("app_process");
613 613
614 // Load app and start URL (not in the app). 614 // Load app and start URL (not in the app).
615 const Extension* app = 615 const Extension* app =
616 LoadExtension(test_data_dir_.AppendASCII("app_process")); 616 LoadExtension(test_data_dir_.AppendASCII("app_process"));
617 ASSERT_TRUE(app); 617 ASSERT_TRUE(app);
618 618
619 ui_test_utils::NavigateToURL(browser(), 619 ui_test_utils::NavigateToURL(browser(),
620 base_url.Resolve("path3/container.html")); 620 base_url.Resolve("path3/container.html"));
(...skipping 16 matching lines...) Expand all
637 // Similar to the previous test, but ensure that popup blocking bypass 637 // Similar to the previous test, but ensure that popup blocking bypass
638 // isn't granted to the iframe. See crbug.com/117446. 638 // isn't granted to the iframe. See crbug.com/117446.
639 #if defined(OS_CHROMEOS) 639 #if defined(OS_CHROMEOS)
640 // http://crbug.com/153513 640 // http://crbug.com/153513
641 #define MAYBE_OpenAppFromIframe DISABLED_OpenAppFromIframe 641 #define MAYBE_OpenAppFromIframe DISABLED_OpenAppFromIframe
642 #else 642 #else
643 #define MAYBE_OpenAppFromIframe OpenAppFromIframe 643 #define MAYBE_OpenAppFromIframe OpenAppFromIframe
644 #endif 644 #endif
645 IN_PROC_BROWSER_TEST_F(BlockedAppApiTest, MAYBE_OpenAppFromIframe) { 645 IN_PROC_BROWSER_TEST_F(BlockedAppApiTest, MAYBE_OpenAppFromIframe) {
646 host_resolver()->AddRule("*", "127.0.0.1"); 646 host_resolver()->AddRule("*", "127.0.0.1");
647 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady()); 647 ASSERT_TRUE(embedded_test_server()->Start());
648 648
649 // Load app and start URL (not in the app). 649 // Load app and start URL (not in the app).
650 const Extension* app = 650 const Extension* app =
651 LoadExtension(test_data_dir_.AppendASCII("app_process")); 651 LoadExtension(test_data_dir_.AppendASCII("app_process"));
652 ASSERT_TRUE(app); 652 ASSERT_TRUE(app);
653 653
654 ui_test_utils::NavigateToURL( 654 ui_test_utils::NavigateToURL(
655 browser(), GetTestBaseURL("app_process").Resolve("path3/container.html")); 655 browser(), GetTestBaseURL("app_process").Resolve("path3/container.html"));
656 656
657 WebContents* tab = browser()->tab_strip_model()->GetActiveWebContents(); 657 WebContents* tab = browser()->tab_strip_model()->GetActiveWebContents();
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
744 // window to a same-origin non-app URL (path3/empty.html) should keep the window 744 // window to a same-origin non-app URL (path3/empty.html) should keep the window
745 // in the app process. 745 // in the app process.
746 // This is in contrast to OpenAppFromIframe, since here the popup will not be 746 // This is in contrast to OpenAppFromIframe, since here the popup will not be
747 // missing special permissions and should be scriptable from the iframe. 747 // missing special permissions and should be scriptable from the iframe.
748 // See http://crbug.com/92669 for more details. 748 // See http://crbug.com/92669 for more details.
749 IN_PROC_BROWSER_TEST_F(AppApiTest, OpenWebPopupFromWebIframe) { 749 IN_PROC_BROWSER_TEST_F(AppApiTest, OpenWebPopupFromWebIframe) {
750 extensions::ProcessMap* process_map = 750 extensions::ProcessMap* process_map =
751 extensions::ProcessMap::Get(browser()->profile()); 751 extensions::ProcessMap::Get(browser()->profile());
752 752
753 host_resolver()->AddRule("*", "127.0.0.1"); 753 host_resolver()->AddRule("*", "127.0.0.1");
754 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady()); 754 ASSERT_TRUE(embedded_test_server()->Start());
755 755
756 GURL base_url = GetTestBaseURL("app_process"); 756 GURL base_url = GetTestBaseURL("app_process");
757 757
758 // Load app and start URL (in the app). 758 // Load app and start URL (in the app).
759 const Extension* app = 759 const Extension* app =
760 LoadExtension(test_data_dir_.AppendASCII("app_process")); 760 LoadExtension(test_data_dir_.AppendASCII("app_process"));
761 ASSERT_TRUE(app); 761 ASSERT_TRUE(app);
762 762
763 ui_test_utils::NavigateToURL(browser(), 763 ui_test_utils::NavigateToURL(browser(),
764 base_url.Resolve("path1/container.html")); 764 base_url.Resolve("path1/container.html"));
(...skipping 22 matching lines...) Expand all
787 #if defined(OS_MACOSX) || defined(OS_LINUX) 787 #if defined(OS_MACOSX) || defined(OS_LINUX)
788 #define MAYBE_ReloadAppAfterCrash DISABLED_ReloadAppAfterCrash 788 #define MAYBE_ReloadAppAfterCrash DISABLED_ReloadAppAfterCrash
789 #else 789 #else
790 #define MAYBE_ReloadAppAfterCrash ReloadAppAfterCrash 790 #define MAYBE_ReloadAppAfterCrash ReloadAppAfterCrash
791 #endif 791 #endif
792 IN_PROC_BROWSER_TEST_F(AppApiTest, MAYBE_ReloadAppAfterCrash) { 792 IN_PROC_BROWSER_TEST_F(AppApiTest, MAYBE_ReloadAppAfterCrash) {
793 extensions::ProcessMap* process_map = 793 extensions::ProcessMap* process_map =
794 extensions::ProcessMap::Get(browser()->profile()); 794 extensions::ProcessMap::Get(browser()->profile());
795 795
796 host_resolver()->AddRule("*", "127.0.0.1"); 796 host_resolver()->AddRule("*", "127.0.0.1");
797 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady()); 797 ASSERT_TRUE(embedded_test_server()->Start());
798 798
799 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII("app_process"))); 799 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII("app_process")));
800 800
801 GURL base_url = GetTestBaseURL("app_process"); 801 GURL base_url = GetTestBaseURL("app_process");
802 802
803 // Load the app, chrome.app.isInstalled should be true. 803 // Load the app, chrome.app.isInstalled should be true.
804 ui_test_utils::NavigateToURL(browser(), base_url.Resolve("path1/empty.html")); 804 ui_test_utils::NavigateToURL(browser(), base_url.Resolve("path1/empty.html"));
805 WebContents* contents = browser()->tab_strip_model()->GetWebContentsAt(0); 805 WebContents* contents = browser()->tab_strip_model()->GetWebContentsAt(0);
806 EXPECT_TRUE(process_map->Contains( 806 EXPECT_TRUE(process_map->Contains(
807 contents->GetRenderProcessHost()->GetID())); 807 contents->GetRenderProcessHost()->GetID()));
(...skipping 21 matching lines...) Expand all
829 } 829 }
830 830
831 // Test that a cross-process navigation away from a hosted app stays in the same 831 // Test that a cross-process navigation away from a hosted app stays in the same
832 // BrowsingInstance, so that postMessage calls to the app's other windows still 832 // BrowsingInstance, so that postMessage calls to the app's other windows still
833 // work. 833 // work.
834 IN_PROC_BROWSER_TEST_F(AppApiTest, SameBrowsingInstanceAfterSwap) { 834 IN_PROC_BROWSER_TEST_F(AppApiTest, SameBrowsingInstanceAfterSwap) {
835 extensions::ProcessMap* process_map = 835 extensions::ProcessMap* process_map =
836 extensions::ProcessMap::Get(browser()->profile()); 836 extensions::ProcessMap::Get(browser()->profile());
837 837
838 host_resolver()->AddRule("*", "127.0.0.1"); 838 host_resolver()->AddRule("*", "127.0.0.1");
839 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady()); 839 ASSERT_TRUE(embedded_test_server()->Start());
840 840
841 GURL base_url = GetTestBaseURL("app_process"); 841 GURL base_url = GetTestBaseURL("app_process");
842 842
843 // Load app and start URL (in the app). 843 // Load app and start URL (in the app).
844 const Extension* app = 844 const Extension* app =
845 LoadExtension(test_data_dir_.AppendASCII("app_process")); 845 LoadExtension(test_data_dir_.AppendASCII("app_process"));
846 ASSERT_TRUE(app); 846 ASSERT_TRUE(app);
847 847
848 ui_test_utils::NavigateToURL(browser(), 848 ui_test_utils::NavigateToURL(browser(),
849 base_url.Resolve("path1/iframe.html")); 849 base_url.Resolve("path1/iframe.html"));
(...skipping 15 matching lines...) Expand all
865 // Navigate the popup to another process outside the app. 865 // Navigate the popup to another process outside the app.
866 GURL non_app_url(base_url.Resolve("path3/empty.html")); 866 GURL non_app_url(base_url.Resolve("path3/empty.html"));
867 ui_test_utils::NavigateToURL(active_browser_list->get(1), non_app_url); 867 ui_test_utils::NavigateToURL(active_browser_list->get(1), non_app_url);
868 SiteInstance* new_instance = popup_contents->GetSiteInstance(); 868 SiteInstance* new_instance = popup_contents->GetSiteInstance();
869 EXPECT_NE(app_instance, new_instance); 869 EXPECT_NE(app_instance, new_instance);
870 870
871 // It should still be in the same BrowsingInstance, allowing postMessage to 871 // It should still be in the same BrowsingInstance, allowing postMessage to
872 // work. 872 // work.
873 EXPECT_TRUE(app_instance->IsRelatedSiteInstance(new_instance)); 873 EXPECT_TRUE(app_instance->IsRelatedSiteInstance(new_instance));
874 } 874 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698