| 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 "chrome/browser/ui/browser_navigator_browsertest.h" | 5 #include "chrome/browser/ui/browser_navigator_browsertest.h" |
| 6 | 6 |
| 7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
| 8 #include "base/prefs/pref_service.h" | 8 #include "base/prefs/pref_service.h" |
| 9 #include "base/strings/utf_string_conversions.h" | 9 #include "base/strings/utf_string_conversions.h" |
| 10 #include "chrome/app/chrome_command_ids.h" | 10 #include "chrome/app/chrome_command_ids.h" |
| (...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 109 } | 109 } |
| 110 | 110 |
| 111 Browser* BrowserNavigatorTest::CreateEmptyBrowserForType(Browser::Type type, | 111 Browser* BrowserNavigatorTest::CreateEmptyBrowserForType(Browser::Type type, |
| 112 Profile* profile) { | 112 Profile* profile) { |
| 113 Browser* browser = new Browser( | 113 Browser* browser = new Browser( |
| 114 Browser::CreateParams(type, profile, chrome::GetActiveDesktop())); | 114 Browser::CreateParams(type, profile, chrome::GetActiveDesktop())); |
| 115 chrome::AddTabAt(browser, GURL(), -1, true); | 115 chrome::AddTabAt(browser, GURL(), -1, true); |
| 116 return browser; | 116 return browser; |
| 117 } | 117 } |
| 118 | 118 |
| 119 Browser* BrowserNavigatorTest::CreateEmptyBrowserForApp(Browser::Type type, | 119 Browser* BrowserNavigatorTest::CreateEmptyBrowserForApp(Profile* profile) { |
| 120 Profile* profile) { | |
| 121 Browser* browser = new Browser( | 120 Browser* browser = new Browser( |
| 122 Browser::CreateParams::CreateForApp( | 121 Browser::CreateParams::CreateForApp( |
| 123 Browser::TYPE_POPUP, "Test", gfx::Rect(), profile, | 122 Browser::TYPE_POPUP, "Test", gfx::Rect(), profile, |
| 124 chrome::GetActiveDesktop())); | 123 chrome::GetActiveDesktop())); |
| 125 chrome::AddTabAt(browser, GURL(), -1, true); | 124 chrome::AddTabAt(browser, GURL(), -1, true); |
| 126 return browser; | 125 return browser; |
| 127 } | 126 } |
| 128 | 127 |
| 129 WebContents* BrowserNavigatorTest::CreateWebContents() { | 128 WebContents* BrowserNavigatorTest::CreateWebContents() { |
| 130 content::WebContents::CreateParams create_params(browser()->profile()); | 129 content::WebContents::CreateParams create_params(browser()->profile()); |
| (...skipping 374 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 505 | 504 |
| 506 // We should have three windows, the browser() provided by the framework, | 505 // We should have three windows, the browser() provided by the framework, |
| 507 // the first popup window, and the second popup window. | 506 // the first popup window, and the second popup window. |
| 508 EXPECT_EQ(3u, chrome::GetTotalBrowserCount()); | 507 EXPECT_EQ(3u, chrome::GetTotalBrowserCount()); |
| 509 EXPECT_EQ(1, browser()->tab_strip_model()->count()); | 508 EXPECT_EQ(1, browser()->tab_strip_model()->count()); |
| 510 EXPECT_EQ(1, p1.browser->tab_strip_model()->count()); | 509 EXPECT_EQ(1, p1.browser->tab_strip_model()->count()); |
| 511 EXPECT_EQ(1, p2.browser->tab_strip_model()->count()); | 510 EXPECT_EQ(1, p2.browser->tab_strip_model()->count()); |
| 512 } | 511 } |
| 513 | 512 |
| 514 // This test verifies that navigating with WindowOpenDisposition = NEW_POPUP | 513 // This test verifies that navigating with WindowOpenDisposition = NEW_POPUP |
| 515 // from an app frame results in a new Browser with TYPE_APP_POPUP. | 514 // from an app frame results in a new Browser with TYPE_POPUP. |
| 516 IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest, | 515 IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest, |
| 517 Disposition_NewPopupFromAppWindow) { | 516 Disposition_NewPopupFromAppWindow) { |
| 518 Browser* app_browser = CreateEmptyBrowserForApp(Browser::TYPE_TABBED, | 517 Browser* app_browser = CreateEmptyBrowserForApp(browser()->profile()); |
| 519 browser()->profile()); | |
| 520 chrome::NavigateParams p(MakeNavigateParams(app_browser)); | 518 chrome::NavigateParams p(MakeNavigateParams(app_browser)); |
| 521 p.disposition = NEW_POPUP; | 519 p.disposition = NEW_POPUP; |
| 522 p.window_bounds = gfx::Rect(0, 0, 200, 200); | 520 p.window_bounds = gfx::Rect(0, 0, 200, 200); |
| 523 chrome::Navigate(&p); | 521 chrome::Navigate(&p); |
| 524 | 522 |
| 525 // Navigate() should have opened a new popup app window. | 523 // Navigate() should have opened a new popup app window. |
| 526 EXPECT_NE(app_browser, p.browser); | 524 EXPECT_NE(app_browser, p.browser); |
| 527 EXPECT_NE(browser(), p.browser); | 525 EXPECT_NE(browser(), p.browser); |
| 528 EXPECT_TRUE(p.browser->is_type_popup()); | 526 EXPECT_TRUE(p.browser->is_type_popup()); |
| 529 EXPECT_TRUE(p.browser->is_app()); | 527 EXPECT_TRUE(p.browser->is_app()); |
| 530 | 528 |
| 531 // We should now have three windows, the app window, the app popup it created, | 529 // We should now have three windows, the app window, the app popup it created, |
| 532 // and the original browser() provided by the framework. | 530 // and the original browser() provided by the framework. |
| 533 EXPECT_EQ(3u, chrome::GetTotalBrowserCount()); | 531 EXPECT_EQ(3u, chrome::GetTotalBrowserCount()); |
| 534 EXPECT_EQ(1, browser()->tab_strip_model()->count()); | 532 EXPECT_EQ(1, browser()->tab_strip_model()->count()); |
| 535 EXPECT_EQ(1, app_browser->tab_strip_model()->count()); | 533 EXPECT_EQ(1, app_browser->tab_strip_model()->count()); |
| 536 EXPECT_EQ(1, p.browser->tab_strip_model()->count()); | 534 EXPECT_EQ(1, p.browser->tab_strip_model()->count()); |
| 537 } | 535 } |
| 538 | 536 |
| 539 // This test verifies that navigating with WindowOpenDisposition = NEW_POPUP | 537 // This test verifies that navigating with WindowOpenDisposition = NEW_POPUP |
| 540 // from an app popup results in a new Browser also of TYPE_APP_POPUP. | 538 // from an app popup results in a new Browser also of TYPE_POPUP. |
| 541 IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest, | 539 IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest, |
| 542 Disposition_NewPopupFromAppPopup) { | 540 Disposition_NewPopupFromAppPopup) { |
| 543 Browser* app_browser = CreateEmptyBrowserForApp(Browser::TYPE_TABBED, | 541 Browser* app_browser = CreateEmptyBrowserForApp(browser()->profile()); |
| 544 browser()->profile()); | |
| 545 // Open an app popup. | 542 // Open an app popup. |
| 546 chrome::NavigateParams p1(MakeNavigateParams(app_browser)); | 543 chrome::NavigateParams p1(MakeNavigateParams(app_browser)); |
| 547 p1.disposition = NEW_POPUP; | 544 p1.disposition = NEW_POPUP; |
| 548 p1.window_bounds = gfx::Rect(0, 0, 200, 200); | 545 p1.window_bounds = gfx::Rect(0, 0, 200, 200); |
| 549 chrome::Navigate(&p1); | 546 chrome::Navigate(&p1); |
| 550 // Now open another app popup. | 547 // Now open another app popup. |
| 551 chrome::NavigateParams p2(MakeNavigateParams(p1.browser)); | 548 chrome::NavigateParams p2(MakeNavigateParams(p1.browser)); |
| 552 p2.disposition = NEW_POPUP; | 549 p2.disposition = NEW_POPUP; |
| 553 p2.window_bounds = gfx::Rect(0, 0, 200, 200); | 550 p2.window_bounds = gfx::Rect(0, 0, 200, 200); |
| 554 chrome::Navigate(&p2); | 551 chrome::Navigate(&p2); |
| (...skipping 794 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1349 // Open a renderer initiated POST request in new foreground tab. | 1346 // Open a renderer initiated POST request in new foreground tab. |
| 1350 base::string16 expected_title(base::ASCIIToUTF16(kExpectedTitle)); | 1347 base::string16 expected_title(base::ASCIIToUTF16(kExpectedTitle)); |
| 1351 std::string post_data = kExpectedTitle; | 1348 std::string post_data = kExpectedTitle; |
| 1352 base::string16 title; | 1349 base::string16 title; |
| 1353 ASSERT_TRUE(OpenPOSTURLInNewForegroundTabAndGetTitle( | 1350 ASSERT_TRUE(OpenPOSTURLInNewForegroundTabAndGetTitle( |
| 1354 test_server()->GetURL(kEchoTitleCommand), post_data, false, &title)); | 1351 test_server()->GetURL(kEchoTitleCommand), post_data, false, &title)); |
| 1355 EXPECT_NE(expected_title, title); | 1352 EXPECT_NE(expected_title, title); |
| 1356 } | 1353 } |
| 1357 | 1354 |
| 1358 } // namespace | 1355 } // namespace |
| OLD | NEW |