summaryrefslogtreecommitdiffstats
path: root/chrome/browser/ui/browser_navigator_browsertest.cc
diff options
context:
space:
mode:
authorprasadt@chromium.org <prasadt@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-26 01:53:52 +0000
committerprasadt@chromium.org <prasadt@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-26 01:53:52 +0000
commitf112b0f0d868a5f1f8fd7a89d5730bfb392cb2e6 (patch)
tree1b3534cfd867e9340953b342b07e10cadd7b54f6 /chrome/browser/ui/browser_navigator_browsertest.cc
parentaa6752c9a0de6bcf43662bdc56db50499968cb2d (diff)
downloadchromium_src-f112b0f0d868a5f1f8fd7a89d5730bfb392cb2e6.zip
chromium_src-f112b0f0d868a5f1f8fd7a89d5730bfb392cb2e6.tar.gz
chromium_src-f112b0f0d868a5f1f8fd7a89d5730bfb392cb2e6.tar.bz2
Address bar is shown on pop-out extension windows.
The code path for window.open() call from extensions is not setting the app_name_ on the browser instance which is causing the location bar to be displayed. This is a regression from "Cleanup popup related browser navigation code." - svn://svn.chromium.org/chrome/trunk/src@83399 BUG=83692 TEST=Invoke window.open() from an extension background page. There should be no location bar displayed. modified: chrome/browser/extensions/extension_host.cc modified: chrome/browser/ui/browser_navigator.cc Review URL: http://codereview.chromium.org/6992018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@86768 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/ui/browser_navigator_browsertest.cc')
-rw-r--r--chrome/browser/ui/browser_navigator_browsertest.cc23
1 files changed, 23 insertions, 0 deletions
diff --git a/chrome/browser/ui/browser_navigator_browsertest.cc b/chrome/browser/ui/browser_navigator_browsertest.cc
index bd717ed..c7d9b5f 100644
--- a/chrome/browser/ui/browser_navigator_browsertest.cc
+++ b/chrome/browser/ui/browser_navigator_browsertest.cc
@@ -275,6 +275,29 @@ IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest, Disposition_NewPopup) {
}
// This test verifies that navigating with WindowOpenDisposition = NEW_POPUP
+// from a normal Browser results in a new Browser with is_app() true.
+IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest, Disposition_NewPopup_ExtensionId) {
+ browser::NavigateParams p(MakeNavigateParams());
+ p.disposition = NEW_POPUP;
+ p.extension_app_id = "extensionappid";
+ p.window_bounds = gfx::Rect(0, 0, 200, 200);
+ browser::Navigate(&p);
+ // Wait for new popup to to load and gain focus.
+ ui_test_utils::WaitForNavigationInCurrentTab(p.browser);
+
+ // Navigate() should have opened a new, focused popup window.
+ EXPECT_NE(browser(), p.browser);
+ EXPECT_TRUE(p.browser->is_type_popup());
+ EXPECT_TRUE(p.browser->is_app());
+
+ // We should have two windows, the browser() provided by the framework and the
+ // new popup window.
+ EXPECT_EQ(2u, BrowserList::size());
+ EXPECT_EQ(1, browser()->tab_count());
+ EXPECT_EQ(1, p.browser->tab_count());
+}
+
+// This test verifies that navigating with WindowOpenDisposition = NEW_POPUP
// from a normal popup results in a new Browser with TYPE_POPUP.
IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest, Disposition_NewPopupFromPopup) {
// Open a popup.