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

Side by Side Diff: chrome/browser/browser_browsertest.cc

Issue 5019005: Add "open as window" menu item to NTP app menu. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Add test. Created 10 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 | Annotate | Revision Log
OLDNEW
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 551 matching lines...) Expand 10 before | Expand all | Expand 10 after
562 // menu is showing. 562 // menu is showing.
563 IN_PROC_BROWSER_TEST_F(BrowserTest, CloseWithAppMenuOpen) { 563 IN_PROC_BROWSER_TEST_F(BrowserTest, CloseWithAppMenuOpen) {
564 if (browser_defaults::kBrowserAliveWithNoWindows) 564 if (browser_defaults::kBrowserAliveWithNoWindows)
565 return; 565 return;
566 566
567 // We need a message loop running for menus on windows. 567 // We need a message loop running for menus on windows.
568 MessageLoop::current()->PostTask(FROM_HERE, 568 MessageLoop::current()->PostTask(FROM_HERE,
569 new RunCloseWithAppMenuTask(browser())); 569 new RunCloseWithAppMenuTask(browser()));
570 } 570 }
571 571
572 IN_PROC_BROWSER_TEST_F(BrowserTest, OpenAppWindowLikeNtp) {
573 ASSERT_TRUE(test_server()->Start());
574
575 // Load an app
576 host_resolver()->AddRule("www.example.com", "127.0.0.1");
577 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII("app/")));
578 const Extension* extension_app = GetExtension();
579
580 // Launch it in a window, as AppLauncherHandler::HandleLaunchApp() would.
581 TabContents* app_window = Browser::OpenApplication(
582 browser()->profile(), extension_app, extension_misc::LAUNCH_WINDOW, NULL);
583 ASSERT_TRUE(app_window);
584
585 // Apps launched in a window from the NTP do not have extension_app set in
586 // tab contents.
587 EXPECT_FALSE(app_window->extension_app());
588 EXPECT_EQ(extension_app->GetFullLaunchURL(), app_window->GetURL());
589
590 // The launch should have created a new browser.
591 ASSERT_EQ(2u, BrowserList::GetBrowserCount(browser()->profile()));
592
593 // Find the new browser.
594 Browser* new_browser = NULL;
595 for (BrowserList::const_iterator i = BrowserList::begin();
596 i != BrowserList::end() && !new_browser; ++i) {
597 if (*i != browser())
598 new_browser = *i;
599 }
600 ASSERT_TRUE(new_browser);
601 ASSERT_TRUE(new_browser != browser());
602
603 EXPECT_EQ(Browser::TYPE_APP, new_browser->type());
604 }
605
572 // TODO(ben): this test was never enabled. It has bit-rotted since being added. 606 // TODO(ben): this test was never enabled. It has bit-rotted since being added.
573 // It originally lived in browser_unittest.cc, but has been moved here to make 607 // It originally lived in browser_unittest.cc, but has been moved here to make
574 // room for real browser unit tests. 608 // room for real browser unit tests.
575 #if 0 609 #if 0
576 class BrowserTest2 : public InProcessBrowserTest { 610 class BrowserTest2 : public InProcessBrowserTest {
577 public: 611 public:
578 BrowserTest2() { 612 BrowserTest2() {
579 host_resolver_proc_ = new net::RuleBasedHostResolverProc(NULL); 613 host_resolver_proc_ = new net::RuleBasedHostResolverProc(NULL);
580 // Avoid making external DNS lookups. In this test we don't need this 614 // Avoid making external DNS lookups. In this test we don't need this
581 // to succeed. 615 // to succeed.
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
646 680
647 // The normal browser should now have four. 681 // The normal browser should now have four.
648 EXPECT_EQ(4, browser()->tab_count()); 682 EXPECT_EQ(4, browser()->tab_count());
649 683
650 // Close the additional browsers. 684 // Close the additional browsers.
651 popup_browser->CloseAllTabs(); 685 popup_browser->CloseAllTabs();
652 app_browser->CloseAllTabs(); 686 app_browser->CloseAllTabs();
653 app_popup_browser->CloseAllTabs(); 687 app_popup_browser->CloseAllTabs();
654 } 688 }
655 #endif 689 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698