OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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 <string> | 5 #include <string> |
6 | 6 |
7 #include "app/l10n_util.h" | 7 #include "app/l10n_util.h" |
8 #include "base/compiler_specific.h" | 8 #include "base/compiler_specific.h" |
9 #include "base/file_path.h" | 9 #include "base/file_path.h" |
10 #include "base/sys_info.h" | 10 #include "base/sys_info.h" |
(...skipping 555 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
566 // menu is showing. | 566 // menu is showing. |
567 IN_PROC_BROWSER_TEST_F(BrowserTest, CloseWithAppMenuOpen) { | 567 IN_PROC_BROWSER_TEST_F(BrowserTest, CloseWithAppMenuOpen) { |
568 if (browser_defaults::kBrowserAliveWithNoWindows) | 568 if (browser_defaults::kBrowserAliveWithNoWindows) |
569 return; | 569 return; |
570 | 570 |
571 // We need a message loop running for menus on windows. | 571 // We need a message loop running for menus on windows. |
572 MessageLoop::current()->PostTask(FROM_HERE, | 572 MessageLoop::current()->PostTask(FROM_HERE, |
573 new RunCloseWithAppMenuTask(browser())); | 573 new RunCloseWithAppMenuTask(browser())); |
574 } | 574 } |
575 | 575 |
576 #if !defined(OS_MACOSX) | |
577 IN_PROC_BROWSER_TEST_F(BrowserTest, OpenAppWindowLikeNtp) { | |
578 ASSERT_TRUE(test_server()->Start()); | |
579 | |
580 // Load an app | |
581 host_resolver()->AddRule("www.example.com", "127.0.0.1"); | |
582 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII("app/"))); | |
583 const Extension* extension_app = GetExtension(); | |
584 | |
585 // Launch it in a window, as AppLauncherHandler::HandleLaunchApp() would. | |
586 TabContents* app_window = Browser::OpenApplication( | |
587 browser()->profile(), extension_app, extension_misc::LAUNCH_WINDOW, NULL); | |
588 ASSERT_TRUE(app_window); | |
589 | |
590 // Apps launched in a window from the NTP do not have extension_app set in | |
591 // tab contents. | |
592 EXPECT_FALSE(app_window->extension_app()); | |
593 EXPECT_EQ(extension_app->GetFullLaunchURL(), app_window->GetURL()); | |
594 | |
595 // The launch should have created a new browser. | |
596 ASSERT_EQ(2u, BrowserList::GetBrowserCount(browser()->profile())); | |
597 | |
598 // Find the new browser. | |
599 Browser* new_browser = NULL; | |
600 for (BrowserList::const_iterator i = BrowserList::begin(); | |
601 i != BrowserList::end() && !new_browser; ++i) { | |
602 if (*i != browser()) | |
603 new_browser = *i; | |
604 } | |
605 ASSERT_TRUE(new_browser); | |
606 ASSERT_TRUE(new_browser != browser()); | |
607 | |
608 EXPECT_EQ(Browser::TYPE_APP, new_browser->type()); | |
609 } | |
610 #endif // !defined(OS_MACOSX) | |
611 | |
612 // TODO(ben): this test was never enabled. It has bit-rotted since being added. | 576 // TODO(ben): this test was never enabled. It has bit-rotted since being added. |
613 // It originally lived in browser_unittest.cc, but has been moved here to make | 577 // It originally lived in browser_unittest.cc, but has been moved here to make |
614 // room for real browser unit tests. | 578 // room for real browser unit tests. |
615 #if 0 | 579 #if 0 |
616 class BrowserTest2 : public InProcessBrowserTest { | 580 class BrowserTest2 : public InProcessBrowserTest { |
617 public: | 581 public: |
618 BrowserTest2() { | 582 BrowserTest2() { |
619 host_resolver_proc_ = new net::RuleBasedHostResolverProc(NULL); | 583 host_resolver_proc_ = new net::RuleBasedHostResolverProc(NULL); |
620 // Avoid making external DNS lookups. In this test we don't need this | 584 // Avoid making external DNS lookups. In this test we don't need this |
621 // to succeed. | 585 // to succeed. |
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
686 | 650 |
687 // The normal browser should now have four. | 651 // The normal browser should now have four. |
688 EXPECT_EQ(4, browser()->tab_count()); | 652 EXPECT_EQ(4, browser()->tab_count()); |
689 | 653 |
690 // Close the additional browsers. | 654 // Close the additional browsers. |
691 popup_browser->CloseAllTabs(); | 655 popup_browser->CloseAllTabs(); |
692 app_browser->CloseAllTabs(); | 656 app_browser->CloseAllTabs(); |
693 app_popup_browser->CloseAllTabs(); | 657 app_popup_browser->CloseAllTabs(); |
694 } | 658 } |
695 #endif | 659 #endif |
OLD | NEW |