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

Side by Side Diff: chrome/browser/ui/browser_navigator_browsertest.cc

Issue 187443008: Elim Browser::AppType (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase and add non trusted type test Created 6 years, 8 months 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) 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
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 315 matching lines...) Expand 10 before | Expand all | Expand 10 after
446 // Wait for new popup to to load and gain focus. 445 // Wait for new popup to to load and gain focus.
447 ui_test_utils::NavigateToURL(&p); 446 ui_test_utils::NavigateToURL(&p);
448 447
449 // Navigate() should have opened a new, focused popup window. 448 // Navigate() should have opened a new, focused popup window.
450 EXPECT_NE(browser(), p.browser); 449 EXPECT_NE(browser(), p.browser);
451 #if 0 450 #if 0
452 // TODO(stevenjb): Enable this test. See: crbug.com/79493 451 // TODO(stevenjb): Enable this test. See: crbug.com/79493
453 EXPECT_TRUE(p.browser->window()->IsActive()); 452 EXPECT_TRUE(p.browser->window()->IsActive());
454 #endif 453 #endif
455 EXPECT_TRUE(p.browser->is_type_popup()); 454 EXPECT_TRUE(p.browser->is_type_popup());
455 EXPECT_EQ(Browser::TYPE_POPUP, p.browser->type());
456 EXPECT_FALSE(p.browser->is_app()); 456 EXPECT_FALSE(p.browser->is_app());
457 457
458 // We should have two windows, the browser() provided by the framework and the 458 // We should have two windows, the browser() provided by the framework and the
459 // new popup window. 459 // new popup window.
460 EXPECT_EQ(2u, chrome::GetTotalBrowserCount()); 460 EXPECT_EQ(2u, chrome::GetTotalBrowserCount());
461 EXPECT_EQ(1, browser()->tab_strip_model()->count()); 461 EXPECT_EQ(1, browser()->tab_strip_model()->count());
462 EXPECT_EQ(1, p.browser->tab_strip_model()->count()); 462 EXPECT_EQ(1, p.browser->tab_strip_model()->count());
463 } 463 }
464 464
465 // This test verifies that navigating with WindowOpenDisposition = NEW_POPUP 465 // This test verifies that navigating with WindowOpenDisposition = NEW_POPUP
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
505 505
506 // We should have three windows, the browser() provided by the framework, 506 // We should have three windows, the browser() provided by the framework,
507 // the first popup window, and the second popup window. 507 // the first popup window, and the second popup window.
508 EXPECT_EQ(3u, chrome::GetTotalBrowserCount()); 508 EXPECT_EQ(3u, chrome::GetTotalBrowserCount());
509 EXPECT_EQ(1, browser()->tab_strip_model()->count()); 509 EXPECT_EQ(1, browser()->tab_strip_model()->count());
510 EXPECT_EQ(1, p1.browser->tab_strip_model()->count()); 510 EXPECT_EQ(1, p1.browser->tab_strip_model()->count());
511 EXPECT_EQ(1, p2.browser->tab_strip_model()->count()); 511 EXPECT_EQ(1, p2.browser->tab_strip_model()->count());
512 } 512 }
513 513
514 // This test verifies that navigating with WindowOpenDisposition = NEW_POPUP 514 // This test verifies that navigating with WindowOpenDisposition = NEW_POPUP
515 // from an app frame results in a new Browser with TYPE_APP_POPUP. 515 // from an app frame results in a new Browser with TYPE_POPUP.
516 IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest, 516 IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest,
517 Disposition_NewPopupFromAppWindow) { 517 Disposition_NewPopupFromAppWindow) {
518 Browser* app_browser = CreateEmptyBrowserForApp(Browser::TYPE_TABBED, 518 Browser* app_browser = CreateEmptyBrowserForApp(browser()->profile());
519 browser()->profile());
520 chrome::NavigateParams p(MakeNavigateParams(app_browser)); 519 chrome::NavigateParams p(MakeNavigateParams(app_browser));
521 p.disposition = NEW_POPUP; 520 p.disposition = NEW_POPUP;
522 p.window_bounds = gfx::Rect(0, 0, 200, 200); 521 p.window_bounds = gfx::Rect(0, 0, 200, 200);
523 chrome::Navigate(&p); 522 chrome::Navigate(&p);
524 523
525 // Navigate() should have opened a new popup app window. 524 // Navigate() should have opened a new popup app window.
526 EXPECT_NE(app_browser, p.browser); 525 EXPECT_NE(app_browser, p.browser);
527 EXPECT_NE(browser(), p.browser); 526 EXPECT_NE(browser(), p.browser);
528 EXPECT_TRUE(p.browser->is_type_popup()); 527 EXPECT_TRUE(p.browser->is_type_popup());
529 EXPECT_TRUE(p.browser->is_app()); 528 EXPECT_TRUE(p.browser->is_app());
530 529
531 // We should now have three windows, the app window, the app popup it created, 530 // We should now have three windows, the app window, the app popup it created,
532 // and the original browser() provided by the framework. 531 // and the original browser() provided by the framework.
533 EXPECT_EQ(3u, chrome::GetTotalBrowserCount()); 532 EXPECT_EQ(3u, chrome::GetTotalBrowserCount());
534 EXPECT_EQ(1, browser()->tab_strip_model()->count()); 533 EXPECT_EQ(1, browser()->tab_strip_model()->count());
535 EXPECT_EQ(1, app_browser->tab_strip_model()->count()); 534 EXPECT_EQ(1, app_browser->tab_strip_model()->count());
536 EXPECT_EQ(1, p.browser->tab_strip_model()->count()); 535 EXPECT_EQ(1, p.browser->tab_strip_model()->count());
537 } 536 }
538 537
539 // This test verifies that navigating with WindowOpenDisposition = NEW_POPUP 538 // This test verifies that navigating with WindowOpenDisposition = NEW_POPUP
540 // from an app popup results in a new Browser also of TYPE_APP_POPUP. 539 // from an app popup results in a new Browser also of TYPE_POPUP.
541 IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest, 540 IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest,
542 Disposition_NewPopupFromAppPopup) { 541 Disposition_NewPopupFromAppPopup) {
543 Browser* app_browser = CreateEmptyBrowserForApp(Browser::TYPE_TABBED, 542 Browser* app_browser = CreateEmptyBrowserForApp(browser()->profile());
544 browser()->profile());
545 // Open an app popup. 543 // Open an app popup.
546 chrome::NavigateParams p1(MakeNavigateParams(app_browser)); 544 chrome::NavigateParams p1(MakeNavigateParams(app_browser));
547 p1.disposition = NEW_POPUP; 545 p1.disposition = NEW_POPUP;
548 p1.window_bounds = gfx::Rect(0, 0, 200, 200); 546 p1.window_bounds = gfx::Rect(0, 0, 200, 200);
549 chrome::Navigate(&p1); 547 chrome::Navigate(&p1);
550 // Now open another app popup. 548 // Now open another app popup.
551 chrome::NavigateParams p2(MakeNavigateParams(p1.browser)); 549 chrome::NavigateParams p2(MakeNavigateParams(p1.browser));
552 p2.disposition = NEW_POPUP; 550 p2.disposition = NEW_POPUP;
553 p2.window_bounds = gfx::Rect(0, 0, 200, 200); 551 p2.window_bounds = gfx::Rect(0, 0, 200, 200);
554 chrome::Navigate(&p2); 552 chrome::Navigate(&p2);
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
587 585
588 // Navigate() should have opened a new, unfocused, popup window. 586 // Navigate() should have opened a new, unfocused, popup window.
589 EXPECT_NE(browser(), p.browser); 587 EXPECT_NE(browser(), p.browser);
590 EXPECT_EQ(Browser::TYPE_POPUP, p.browser->type()); 588 EXPECT_EQ(Browser::TYPE_POPUP, p.browser->type());
591 #if 0 589 #if 0
592 // TODO(stevenjb): Enable this test. See: crbug.com/79493 590 // TODO(stevenjb): Enable this test. See: crbug.com/79493
593 EXPECT_FALSE(p.browser->window()->IsActive()); 591 EXPECT_FALSE(p.browser->window()->IsActive());
594 #endif 592 #endif
595 } 593 }
596 594
595 // This test verifies that navigating with WindowOpenDisposition = NEW_POPUP
596 // and is_trusted = true results in a new Browser with TYPE_TRUSTED_POPUP.
597 IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest, Disposition_NewPopupTrusted) {
598 chrome::NavigateParams p(MakeNavigateParams());
599 p.disposition = NEW_POPUP;
600 p.is_trusted = true;
601 p.window_bounds = gfx::Rect(0, 0, 200, 200);
602 // Wait for new popup to to load and gain focus.
603 ui_test_utils::NavigateToURL(&p);
604
605 // Navigate() should have opened a new popup window of TYPE_TRUSTED_POPUP.
606 EXPECT_NE(browser(), p.browser);
607 EXPECT_TRUE(p.browser->is_type_popup());
608 EXPECT_EQ(Browser::TYPE_TRUSTED_POPUP, p.browser->type());
609 }
610
611
597 // This test verifies that navigating with WindowOpenDisposition = NEW_WINDOW 612 // This test verifies that navigating with WindowOpenDisposition = NEW_WINDOW
598 // always opens a new window. 613 // always opens a new window.
599 IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest, Disposition_NewWindow) { 614 IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest, Disposition_NewWindow) {
600 chrome::NavigateParams p(MakeNavigateParams()); 615 chrome::NavigateParams p(MakeNavigateParams());
601 p.disposition = NEW_WINDOW; 616 p.disposition = NEW_WINDOW;
602 chrome::Navigate(&p); 617 chrome::Navigate(&p);
603 618
604 // Navigate() should have opened a new toplevel window. 619 // Navigate() should have opened a new toplevel window.
605 EXPECT_NE(browser(), p.browser); 620 EXPECT_NE(browser(), p.browser);
606 EXPECT_TRUE(p.browser->is_type_tabbed()); 621 EXPECT_TRUE(p.browser->is_type_tabbed());
(...skipping 742 matching lines...) Expand 10 before | Expand all | Expand 10 after
1349 // Open a renderer initiated POST request in new foreground tab. 1364 // Open a renderer initiated POST request in new foreground tab.
1350 base::string16 expected_title(base::ASCIIToUTF16(kExpectedTitle)); 1365 base::string16 expected_title(base::ASCIIToUTF16(kExpectedTitle));
1351 std::string post_data = kExpectedTitle; 1366 std::string post_data = kExpectedTitle;
1352 base::string16 title; 1367 base::string16 title;
1353 ASSERT_TRUE(OpenPOSTURLInNewForegroundTabAndGetTitle( 1368 ASSERT_TRUE(OpenPOSTURLInNewForegroundTabAndGetTitle(
1354 test_server()->GetURL(kEchoTitleCommand), post_data, false, &title)); 1369 test_server()->GetURL(kEchoTitleCommand), post_data, false, &title));
1355 EXPECT_NE(expected_title, title); 1370 EXPECT_NE(expected_title, title);
1356 } 1371 }
1357 1372
1358 } // namespace 1373 } // namespace
OLDNEW
« no previous file with comments | « chrome/browser/ui/browser_navigator_browsertest.h ('k') | chrome/browser/ui/browser_tab_restore_service_delegate.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698