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

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

Issue 562603002: Move PageTransition from //content/public/common to //ui/base (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 6 years, 3 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
« no previous file with comments | « chrome/browser/ui/browser.cc ('k') | chrome/browser/ui/browser_close_browsertest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 <string> 5 #include <string>
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/compiler_specific.h" 9 #include "base/compiler_specific.h"
10 #include "base/files/file_path.h" 10 #include "base/files/file_path.h"
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
69 #include "content/public/browser/navigation_entry.h" 69 #include "content/public/browser/navigation_entry.h"
70 #include "content/public/browser/notification_service.h" 70 #include "content/public/browser/notification_service.h"
71 #include "content/public/browser/render_frame_host.h" 71 #include "content/public/browser/render_frame_host.h"
72 #include "content/public/browser/render_process_host.h" 72 #include "content/public/browser/render_process_host.h"
73 #include "content/public/browser/render_view_host.h" 73 #include "content/public/browser/render_view_host.h"
74 #include "content/public/browser/render_widget_host_view.h" 74 #include "content/public/browser/render_widget_host_view.h"
75 #include "content/public/browser/resource_context.h" 75 #include "content/public/browser/resource_context.h"
76 #include "content/public/browser/web_contents.h" 76 #include "content/public/browser/web_contents.h"
77 #include "content/public/browser/web_contents_observer.h" 77 #include "content/public/browser/web_contents_observer.h"
78 #include "content/public/common/frame_navigate_params.h" 78 #include "content/public/common/frame_navigate_params.h"
79 #include "content/public/common/page_transition_types.h"
80 #include "content/public/common/renderer_preferences.h" 79 #include "content/public/common/renderer_preferences.h"
81 #include "content/public/common/url_constants.h" 80 #include "content/public/common/url_constants.h"
82 #include "content/public/test/browser_test_utils.h" 81 #include "content/public/test/browser_test_utils.h"
83 #include "content/public/test/test_navigation_observer.h" 82 #include "content/public/test/test_navigation_observer.h"
84 #include "extensions/browser/extension_system.h" 83 #include "extensions/browser/extension_system.h"
85 #include "extensions/browser/uninstall_reason.h" 84 #include "extensions/browser/uninstall_reason.h"
86 #include "extensions/common/extension.h" 85 #include "extensions/common/extension.h"
87 #include "extensions/common/extension_set.h" 86 #include "extensions/common/extension_set.h"
88 #include "net/dns/mock_host_resolver.h" 87 #include "net/dns/mock_host_resolver.h"
89 #include "net/test/spawned_test_server/spawned_test_server.h" 88 #include "net/test/spawned_test_server/spawned_test_server.h"
90 #include "ui/base/l10n/l10n_util.h" 89 #include "ui/base/l10n/l10n_util.h"
90 #include "ui/base/page_transition_types.h"
91 91
92 #if defined(OS_MACOSX) 92 #if defined(OS_MACOSX)
93 #include "base/mac/mac_util.h" 93 #include "base/mac/mac_util.h"
94 #include "base/mac/scoped_nsautorelease_pool.h" 94 #include "base/mac/scoped_nsautorelease_pool.h"
95 #include "chrome/browser/ui/cocoa/run_loop_testing.h" 95 #include "chrome/browser/ui/cocoa/run_loop_testing.h"
96 #endif 96 #endif
97 97
98 #if defined(OS_WIN) 98 #if defined(OS_WIN)
99 #include "base/i18n/rtl.h" 99 #include "base/i18n/rtl.h"
100 #include "chrome/browser/browser_process.h" 100 #include "chrome/browser/browser_process.h"
(...skipping 311 matching lines...) Expand 10 before | Expand all | Expand 10 after
412 browser()->GetWindowTitleForCurrentTab()); 412 browser()->GetWindowTitleForCurrentTab());
413 base::string16 tab_title; 413 base::string16 tab_title;
414 ASSERT_TRUE(ui_test_utils::GetCurrentTabTitle(browser(), &tab_title)); 414 ASSERT_TRUE(ui_test_utils::GetCurrentTabTitle(browser(), &tab_title));
415 EXPECT_EQ(test_title, tab_title); 415 EXPECT_EQ(test_title, tab_title);
416 } 416 }
417 417
418 IN_PROC_BROWSER_TEST_F(BrowserTest, JavascriptAlertActivatesTab) { 418 IN_PROC_BROWSER_TEST_F(BrowserTest, JavascriptAlertActivatesTab) {
419 GURL url(ui_test_utils::GetTestUrl(base::FilePath( 419 GURL url(ui_test_utils::GetTestUrl(base::FilePath(
420 base::FilePath::kCurrentDirectory), base::FilePath(kTitle1File))); 420 base::FilePath::kCurrentDirectory), base::FilePath(kTitle1File)));
421 ui_test_utils::NavigateToURL(browser(), url); 421 ui_test_utils::NavigateToURL(browser(), url);
422 AddTabAtIndex(0, url, content::PAGE_TRANSITION_TYPED); 422 AddTabAtIndex(0, url, ui::PAGE_TRANSITION_TYPED);
423 EXPECT_EQ(2, browser()->tab_strip_model()->count()); 423 EXPECT_EQ(2, browser()->tab_strip_model()->count());
424 EXPECT_EQ(0, browser()->tab_strip_model()->active_index()); 424 EXPECT_EQ(0, browser()->tab_strip_model()->active_index());
425 WebContents* second_tab = browser()->tab_strip_model()->GetWebContentsAt(1); 425 WebContents* second_tab = browser()->tab_strip_model()->GetWebContentsAt(1);
426 ASSERT_TRUE(second_tab); 426 ASSERT_TRUE(second_tab);
427 second_tab->GetMainFrame()->ExecuteJavaScript( 427 second_tab->GetMainFrame()->ExecuteJavaScript(
428 ASCIIToUTF16("alert('Activate!');")); 428 ASCIIToUTF16("alert('Activate!');"));
429 AppModalDialog* alert = ui_test_utils::WaitForAppModalDialog(); 429 AppModalDialog* alert = ui_test_utils::WaitForAppModalDialog();
430 alert->CloseModalDialog(); 430 alert->CloseModalDialog();
431 EXPECT_EQ(2, browser()->tab_strip_model()->count()); 431 EXPECT_EQ(2, browser()->tab_strip_model()->count());
432 EXPECT_EQ(1, browser()->tab_strip_model()->active_index()); 432 EXPECT_EQ(1, browser()->tab_strip_model()->active_index());
(...skipping 14 matching lines...) Expand all
447 // Warning: this test can take >30 seconds when running on a slow (low 447 // Warning: this test can take >30 seconds when running on a slow (low
448 // memory?) Mac builder. 448 // memory?) Mac builder.
449 IN_PROC_BROWSER_TEST_F(BrowserTest, MAYBE_ThirtyFourTabs) { 449 IN_PROC_BROWSER_TEST_F(BrowserTest, MAYBE_ThirtyFourTabs) {
450 GURL url(ui_test_utils::GetTestUrl(base::FilePath( 450 GURL url(ui_test_utils::GetTestUrl(base::FilePath(
451 base::FilePath::kCurrentDirectory), base::FilePath(kTitle2File))); 451 base::FilePath::kCurrentDirectory), base::FilePath(kTitle2File)));
452 452
453 // There is one initial tab. 453 // There is one initial tab.
454 const int kTabCount = 34; 454 const int kTabCount = 34;
455 for (int ix = 0; ix != (kTabCount - 1); ++ix) { 455 for (int ix = 0; ix != (kTabCount - 1); ++ix) {
456 chrome::AddSelectedTabWithURL(browser(), url, 456 chrome::AddSelectedTabWithURL(browser(), url,
457 content::PAGE_TRANSITION_TYPED); 457 ui::PAGE_TRANSITION_TYPED);
458 } 458 }
459 EXPECT_EQ(kTabCount, browser()->tab_strip_model()->count()); 459 EXPECT_EQ(kTabCount, browser()->tab_strip_model()->count());
460 460
461 // See GetMaxRendererProcessCount() in 461 // See GetMaxRendererProcessCount() in
462 // content/browser/renderer_host/render_process_host_impl.cc 462 // content/browser/renderer_host/render_process_host_impl.cc
463 // for the algorithm to decide how many processes to create. 463 // for the algorithm to decide how many processes to create.
464 const int kExpectedProcessCount = 464 const int kExpectedProcessCount =
465 #if defined(ARCH_CPU_64_BITS) 465 #if defined(ARCH_CPU_64_BITS)
466 17; 466 17;
467 #else 467 #else
(...skipping 18 matching lines...) Expand all
486 486
487 // Navigate to a 204 URL (aborts with no content) on the NTP and make sure it 487 // Navigate to a 204 URL (aborts with no content) on the NTP and make sure it
488 // sticks around so that the user can edit it. 488 // sticks around so that the user can edit it.
489 GURL abort_url(test_server()->GetURL("nocontent")); 489 GURL abort_url(test_server()->GetURL("nocontent"));
490 { 490 {
491 content::WindowedNotificationObserver stop_observer( 491 content::WindowedNotificationObserver stop_observer(
492 content::NOTIFICATION_LOAD_STOP, 492 content::NOTIFICATION_LOAD_STOP,
493 content::Source<NavigationController>( 493 content::Source<NavigationController>(
494 &web_contents->GetController())); 494 &web_contents->GetController()));
495 browser()->OpenURL(OpenURLParams(abort_url, Referrer(), CURRENT_TAB, 495 browser()->OpenURL(OpenURLParams(abort_url, Referrer(), CURRENT_TAB,
496 content::PAGE_TRANSITION_TYPED, false)); 496 ui::PAGE_TRANSITION_TYPED, false));
497 stop_observer.Wait(); 497 stop_observer.Wait();
498 EXPECT_TRUE(web_contents->GetController().GetPendingEntry()); 498 EXPECT_TRUE(web_contents->GetController().GetPendingEntry());
499 EXPECT_EQ(abort_url, web_contents->GetVisibleURL()); 499 EXPECT_EQ(abort_url, web_contents->GetVisibleURL());
500 } 500 }
501 501
502 // Navigate to a real URL. 502 // Navigate to a real URL.
503 GURL real_url(test_server()->GetURL("title1.html")); 503 GURL real_url(test_server()->GetURL("title1.html"));
504 ui_test_utils::NavigateToURL(browser(), real_url); 504 ui_test_utils::NavigateToURL(browser(), real_url);
505 EXPECT_EQ(real_url, web_contents->GetVisibleURL()); 505 EXPECT_EQ(real_url, web_contents->GetVisibleURL());
506 506
507 // Now navigating to a 204 URL should clear the pending entry. 507 // Now navigating to a 204 URL should clear the pending entry.
508 { 508 {
509 content::WindowedNotificationObserver stop_observer( 509 content::WindowedNotificationObserver stop_observer(
510 content::NOTIFICATION_LOAD_STOP, 510 content::NOTIFICATION_LOAD_STOP,
511 content::Source<NavigationController>( 511 content::Source<NavigationController>(
512 &web_contents->GetController())); 512 &web_contents->GetController()));
513 browser()->OpenURL(OpenURLParams(abort_url, Referrer(), CURRENT_TAB, 513 browser()->OpenURL(OpenURLParams(abort_url, Referrer(), CURRENT_TAB,
514 content::PAGE_TRANSITION_TYPED, false)); 514 ui::PAGE_TRANSITION_TYPED, false));
515 stop_observer.Wait(); 515 stop_observer.Wait();
516 EXPECT_FALSE(web_contents->GetController().GetPendingEntry()); 516 EXPECT_FALSE(web_contents->GetController().GetPendingEntry());
517 EXPECT_EQ(real_url, web_contents->GetVisibleURL()); 517 EXPECT_EQ(real_url, web_contents->GetVisibleURL());
518 } 518 }
519 } 519 }
520 520
521 // Test for crbug.com/297289. Ensure that modal dialogs are closed when a 521 // Test for crbug.com/297289. Ensure that modal dialogs are closed when a
522 // cross-process navigation is ready to commit. 522 // cross-process navigation is ready to commit.
523 IN_PROC_BROWSER_TEST_F(BrowserTest, CrossProcessNavCancelsDialogs) { 523 IN_PROC_BROWSER_TEST_F(BrowserTest, CrossProcessNavCancelsDialogs) {
524 ASSERT_TRUE(test_server()->Start()); 524 ASSERT_TRUE(test_server()->Start());
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after
689 contents->GetController().GetLastCommittedEntry()->GetURL()); 689 contents->GetController().GetLastCommittedEntry()->GetURL());
690 690
691 // We should keep track of the original request URL, redirect chain, and 691 // We should keep track of the original request URL, redirect chain, and
692 // page transition type during a transfer, since these are necessary for 692 // page transition type during a transfer, since these are necessary for
693 // history autocomplete to work. 693 // history autocomplete to work.
694 EXPECT_EQ(redirect_url, contents->GetController().GetLastCommittedEntry()-> 694 EXPECT_EQ(redirect_url, contents->GetController().GetLastCommittedEntry()->
695 GetOriginalRequestURL()); 695 GetOriginalRequestURL());
696 EXPECT_EQ(2U, redirect_observer.params().redirects.size()); 696 EXPECT_EQ(2U, redirect_observer.params().redirects.size());
697 EXPECT_EQ(redirect_url, redirect_observer.params().redirects.at(0)); 697 EXPECT_EQ(redirect_url, redirect_observer.params().redirects.at(0));
698 EXPECT_EQ(dest_url, redirect_observer.params().redirects.at(1)); 698 EXPECT_EQ(dest_url, redirect_observer.params().redirects.at(1));
699 EXPECT_TRUE(PageTransitionCoreTypeIs(redirect_observer.params().transition, 699 EXPECT_TRUE(ui::PageTransitionCoreTypeIs(
700 content::PAGE_TRANSITION_TYPED)); 700 redirect_observer.params().transition, ui::PAGE_TRANSITION_TYPED));
701 } 701 }
702 702
703 // Restore previous browser client. 703 // Restore previous browser client.
704 SetBrowserClientForTesting(old_client); 704 SetBrowserClientForTesting(old_client);
705 } 705 }
706 706
707 // Tests that a cross-process redirect will only cause the beforeunload 707 // Tests that a cross-process redirect will only cause the beforeunload
708 // handler to run once. 708 // handler to run once.
709 IN_PROC_BROWSER_TEST_F(BrowserTest, SingleBeforeUnloadAfterRedirect) { 709 IN_PROC_BROWSER_TEST_F(BrowserTest, SingleBeforeUnloadAfterRedirect) {
710 // Create HTTP and HTTPS servers for a cross-site transition. 710 // Create HTTP and HTTPS servers for a cross-site transition.
(...skipping 15 matching lines...) Expand all
726 726
727 // Navigate to a URL that redirects to another process and approve the 727 // Navigate to a URL that redirects to another process and approve the
728 // beforeunload dialog that pops up. 728 // beforeunload dialog that pops up.
729 content::WindowedNotificationObserver nav_observer( 729 content::WindowedNotificationObserver nav_observer(
730 content::NOTIFICATION_NAV_ENTRY_COMMITTED, 730 content::NOTIFICATION_NAV_ENTRY_COMMITTED,
731 content::NotificationService::AllSources()); 731 content::NotificationService::AllSources());
732 GURL https_url(https_test_server.GetURL("files/title1.html")); 732 GURL https_url(https_test_server.GetURL("files/title1.html"));
733 GURL redirect_url(test_server()->GetURL("server-redirect?" + 733 GURL redirect_url(test_server()->GetURL("server-redirect?" +
734 https_url.spec())); 734 https_url.spec()));
735 browser()->OpenURL(OpenURLParams(redirect_url, Referrer(), CURRENT_TAB, 735 browser()->OpenURL(OpenURLParams(redirect_url, Referrer(), CURRENT_TAB,
736 content::PAGE_TRANSITION_TYPED, false)); 736 ui::PAGE_TRANSITION_TYPED, false));
737 AppModalDialog* alert = ui_test_utils::WaitForAppModalDialog(); 737 AppModalDialog* alert = ui_test_utils::WaitForAppModalDialog();
738 EXPECT_TRUE( 738 EXPECT_TRUE(
739 static_cast<JavaScriptAppModalDialog*>(alert)->is_before_unload_dialog()); 739 static_cast<JavaScriptAppModalDialog*>(alert)->is_before_unload_dialog());
740 alert->native_dialog()->AcceptAppModalDialog(); 740 alert->native_dialog()->AcceptAppModalDialog();
741 nav_observer.Wait(); 741 nav_observer.Wait();
742 742
743 // Restore previous browser client. 743 // Restore previous browser client.
744 SetBrowserClientForTesting(old_client); 744 SetBrowserClientForTesting(old_client);
745 } 745 }
746 746
747 // Test for crbug.com/80401. Canceling a before unload dialog should reset 747 // Test for crbug.com/80401. Canceling a before unload dialog should reset
748 // the URL to the previous page's URL. 748 // the URL to the previous page's URL.
749 IN_PROC_BROWSER_TEST_F(BrowserTest, CancelBeforeUnloadResetsURL) { 749 IN_PROC_BROWSER_TEST_F(BrowserTest, CancelBeforeUnloadResetsURL) {
750 GURL url(ui_test_utils::GetTestUrl(base::FilePath( 750 GURL url(ui_test_utils::GetTestUrl(base::FilePath(
751 base::FilePath::kCurrentDirectory), base::FilePath(kBeforeUnloadFile))); 751 base::FilePath::kCurrentDirectory), base::FilePath(kBeforeUnloadFile)));
752 ui_test_utils::NavigateToURL(browser(), url); 752 ui_test_utils::NavigateToURL(browser(), url);
753 753
754 // Navigate to a page that triggers a cross-site transition. 754 // Navigate to a page that triggers a cross-site transition.
755 ASSERT_TRUE(test_server()->Start()); 755 ASSERT_TRUE(test_server()->Start());
756 GURL url2(test_server()->GetURL("files/title1.html")); 756 GURL url2(test_server()->GetURL("files/title1.html"));
757 browser()->OpenURL(OpenURLParams( 757 browser()->OpenURL(OpenURLParams(
758 url2, Referrer(), CURRENT_TAB, content::PAGE_TRANSITION_TYPED, false)); 758 url2, Referrer(), CURRENT_TAB, ui::PAGE_TRANSITION_TYPED, false));
759 759
760 content::WindowedNotificationObserver host_destroyed_observer( 760 content::WindowedNotificationObserver host_destroyed_observer(
761 content::NOTIFICATION_RENDER_WIDGET_HOST_DESTROYED, 761 content::NOTIFICATION_RENDER_WIDGET_HOST_DESTROYED,
762 content::NotificationService::AllSources()); 762 content::NotificationService::AllSources());
763 763
764 // Cancel the dialog. 764 // Cancel the dialog.
765 AppModalDialog* alert = ui_test_utils::WaitForAppModalDialog(); 765 AppModalDialog* alert = ui_test_utils::WaitForAppModalDialog();
766 alert->CloseModalDialog(); 766 alert->CloseModalDialog();
767 EXPECT_FALSE( 767 EXPECT_FALSE(
768 browser()->tab_strip_model()->GetActiveWebContents()->IsLoading()); 768 browser()->tab_strip_model()->GetActiveWebContents()->IsLoading());
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
823 chrome::Reload(browser(), CURRENT_TAB); 823 chrome::Reload(browser(), CURRENT_TAB);
824 AppModalDialog* alert = ui_test_utils::WaitForAppModalDialog(); 824 AppModalDialog* alert = ui_test_utils::WaitForAppModalDialog();
825 EXPECT_TRUE(static_cast<JavaScriptAppModalDialog*>(alert)->is_reload()); 825 EXPECT_TRUE(static_cast<JavaScriptAppModalDialog*>(alert)->is_reload());
826 826
827 // Cancel the reload. 827 // Cancel the reload.
828 alert->native_dialog()->CancelAppModalDialog(); 828 alert->native_dialog()->CancelAppModalDialog();
829 829
830 // Navigate to another url, and check that we get a "before unload" dialog. 830 // Navigate to another url, and check that we get a "before unload" dialog.
831 GURL url2(url::kAboutBlankURL); 831 GURL url2(url::kAboutBlankURL);
832 browser()->OpenURL(OpenURLParams( 832 browser()->OpenURL(OpenURLParams(
833 url2, Referrer(), CURRENT_TAB, content::PAGE_TRANSITION_TYPED, false)); 833 url2, Referrer(), CURRENT_TAB, ui::PAGE_TRANSITION_TYPED, false));
834 834
835 alert = ui_test_utils::WaitForAppModalDialog(); 835 alert = ui_test_utils::WaitForAppModalDialog();
836 EXPECT_FALSE(static_cast<JavaScriptAppModalDialog*>(alert)->is_reload()); 836 EXPECT_FALSE(static_cast<JavaScriptAppModalDialog*>(alert)->is_reload());
837 837
838 // Accept the navigation so we end up on a page without a beforeunload hook. 838 // Accept the navigation so we end up on a page without a beforeunload hook.
839 alert->native_dialog()->AcceptAppModalDialog(); 839 alert->native_dialog()->AcceptAppModalDialog();
840 } 840 }
841 841
842 // BeforeUnloadAtQuitWithTwoWindows is a regression test for 842 // BeforeUnloadAtQuitWithTwoWindows is a regression test for
843 // http://crbug.com/11842. It opens two windows, one of which has a 843 // http://crbug.com/11842. It opens two windows, one of which has a
(...skipping 333 matching lines...) Expand 10 before | Expand all | Expand 10 after
1177 // Change a tab into an application window. 1177 // Change a tab into an application window.
1178 // DISABLED: http://crbug.com/72310 1178 // DISABLED: http://crbug.com/72310
1179 IN_PROC_BROWSER_TEST_F(BrowserTest, DISABLED_ConvertTabToAppShortcut) { 1179 IN_PROC_BROWSER_TEST_F(BrowserTest, DISABLED_ConvertTabToAppShortcut) {
1180 ASSERT_TRUE(test_server()->Start()); 1180 ASSERT_TRUE(test_server()->Start());
1181 GURL http_url(test_server()->GetURL(std::string())); 1181 GURL http_url(test_server()->GetURL(std::string()));
1182 ASSERT_TRUE(http_url.SchemeIs(url::kHttpScheme)); 1182 ASSERT_TRUE(http_url.SchemeIs(url::kHttpScheme));
1183 1183
1184 ASSERT_EQ(1, browser()->tab_strip_model()->count()); 1184 ASSERT_EQ(1, browser()->tab_strip_model()->count());
1185 WebContents* initial_tab = browser()->tab_strip_model()->GetWebContentsAt(0); 1185 WebContents* initial_tab = browser()->tab_strip_model()->GetWebContentsAt(0);
1186 WebContents* app_tab = chrome::AddSelectedTabWithURL( 1186 WebContents* app_tab = chrome::AddSelectedTabWithURL(
1187 browser(), http_url, content::PAGE_TRANSITION_TYPED); 1187 browser(), http_url, ui::PAGE_TRANSITION_TYPED);
1188 ASSERT_EQ(2, browser()->tab_strip_model()->count()); 1188 ASSERT_EQ(2, browser()->tab_strip_model()->count());
1189 ASSERT_EQ(1u, chrome::GetBrowserCount(browser()->profile(), 1189 ASSERT_EQ(1u, chrome::GetBrowserCount(browser()->profile(),
1190 browser()->host_desktop_type())); 1190 browser()->host_desktop_type()));
1191 1191
1192 // Normal tabs should accept load drops. 1192 // Normal tabs should accept load drops.
1193 EXPECT_TRUE(initial_tab->GetMutableRendererPrefs()->can_accept_load_drops); 1193 EXPECT_TRUE(initial_tab->GetMutableRendererPrefs()->can_accept_load_drops);
1194 EXPECT_TRUE(app_tab->GetMutableRendererPrefs()->can_accept_load_drops); 1194 EXPECT_TRUE(app_tab->GetMutableRendererPrefs()->can_accept_load_drops);
1195 1195
1196 // Turn |app_tab| into a tab in an app panel. 1196 // Turn |app_tab| into a tab in an app panel.
1197 chrome::ConvertTabToAppWindow(browser(), app_tab); 1197 chrome::ConvertTabToAppWindow(browser(), app_tab);
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
1286 1286
1287 ui_test_utils::NavigateToURL(browser(), url); 1287 ui_test_utils::NavigateToURL(browser(), url);
1288 1288
1289 WebContents* app_contents = WebContents::Create( 1289 WebContents* app_contents = WebContents::Create(
1290 WebContents::CreateParams(browser()->profile())); 1290 WebContents::CreateParams(browser()->profile()));
1291 extensions::TabHelper::CreateForWebContents(app_contents); 1291 extensions::TabHelper::CreateForWebContents(app_contents);
1292 extensions::TabHelper* extensions_tab_helper = 1292 extensions::TabHelper* extensions_tab_helper =
1293 extensions::TabHelper::FromWebContents(app_contents); 1293 extensions::TabHelper::FromWebContents(app_contents);
1294 extensions_tab_helper->SetExtensionApp(extension_app); 1294 extensions_tab_helper->SetExtensionApp(extension_app);
1295 1295
1296 model->AddWebContents(app_contents, 0, content::PageTransitionFromInt(0), 1296 model->AddWebContents(app_contents, 0, ui::PageTransitionFromInt(0),
1297 TabStripModel::ADD_NONE); 1297 TabStripModel::ADD_NONE);
1298 model->SetTabPinned(0, true); 1298 model->SetTabPinned(0, true);
1299 ui_test_utils::NavigateToURL(browser(), url); 1299 ui_test_utils::NavigateToURL(browser(), url);
1300 1300
1301 MockTabStripModelObserver observer; 1301 MockTabStripModelObserver observer;
1302 model->AddObserver(&observer); 1302 model->AddObserver(&observer);
1303 1303
1304 // Uninstall the extension and make sure TabClosing is sent. 1304 // Uninstall the extension and make sure TabClosing is sent.
1305 ExtensionService* service = extensions::ExtensionSystem::Get( 1305 ExtensionService* service = extensions::ExtensionSystem::Get(
1306 browser()->profile())->extension_service(); 1306 browser()->profile())->extension_service();
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
1409 IN_PROC_BROWSER_TEST_F(BrowserTest, PageLanguageDetection) { 1409 IN_PROC_BROWSER_TEST_F(BrowserTest, PageLanguageDetection) {
1410 scoped_ptr<test::CldDataHarness> cld_data_harness = 1410 scoped_ptr<test::CldDataHarness> cld_data_harness =
1411 test::CreateCldDataHarness(); 1411 test::CreateCldDataHarness();
1412 ASSERT_NO_FATAL_FAILURE(cld_data_harness->Init()); 1412 ASSERT_NO_FATAL_FAILURE(cld_data_harness->Init());
1413 ASSERT_TRUE(test_server()->Start()); 1413 ASSERT_TRUE(test_server()->Start());
1414 1414
1415 translate::LanguageDetectionDetails details; 1415 translate::LanguageDetectionDetails details;
1416 1416
1417 // Open a new tab with a page in English. 1417 // Open a new tab with a page in English.
1418 AddTabAtIndex(0, GURL(test_server()->GetURL("files/english_page.html")), 1418 AddTabAtIndex(0, GURL(test_server()->GetURL("files/english_page.html")),
1419 content::PAGE_TRANSITION_TYPED); 1419 ui::PAGE_TRANSITION_TYPED);
1420 1420
1421 WebContents* current_web_contents = 1421 WebContents* current_web_contents =
1422 browser()->tab_strip_model()->GetActiveWebContents(); 1422 browser()->tab_strip_model()->GetActiveWebContents();
1423 ChromeTranslateClient* chrome_translate_client = 1423 ChromeTranslateClient* chrome_translate_client =
1424 ChromeTranslateClient::FromWebContents(current_web_contents); 1424 ChromeTranslateClient::FromWebContents(current_web_contents);
1425 content::Source<WebContents> source(current_web_contents); 1425 content::Source<WebContents> source(current_web_contents);
1426 1426
1427 ui_test_utils::WindowedNotificationObserverWithDetails< 1427 ui_test_utils::WindowedNotificationObserverWithDetails<
1428 translate::LanguageDetectionDetails> 1428 translate::LanguageDetectionDetails>
1429 en_language_detected_signal(chrome::NOTIFICATION_TAB_LANGUAGE_DETERMINED, 1429 en_language_detected_signal(chrome::NOTIFICATION_TAB_LANGUAGE_DETERMINED,
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
1470 TabStripModel* model = browser()->tab_strip_model(); 1470 TabStripModel* model = browser()->tab_strip_model();
1471 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII("app/"))); 1471 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII("app/")));
1472 const Extension* extension_app = GetExtension(); 1472 const Extension* extension_app = GetExtension();
1473 ui_test_utils::NavigateToURL(browser(), url); 1473 ui_test_utils::NavigateToURL(browser(), url);
1474 WebContents* app_contents = WebContents::Create( 1474 WebContents* app_contents = WebContents::Create(
1475 WebContents::CreateParams(browser()->profile())); 1475 WebContents::CreateParams(browser()->profile()));
1476 extensions::TabHelper::CreateForWebContents(app_contents); 1476 extensions::TabHelper::CreateForWebContents(app_contents);
1477 extensions::TabHelper* extensions_tab_helper = 1477 extensions::TabHelper* extensions_tab_helper =
1478 extensions::TabHelper::FromWebContents(app_contents); 1478 extensions::TabHelper::FromWebContents(app_contents);
1479 extensions_tab_helper->SetExtensionApp(extension_app); 1479 extensions_tab_helper->SetExtensionApp(extension_app);
1480 model->AddWebContents(app_contents, 0, content::PageTransitionFromInt(0), 1480 model->AddWebContents(app_contents, 0, ui::PageTransitionFromInt(0),
1481 TabStripModel::ADD_NONE); 1481 TabStripModel::ADD_NONE);
1482 model->SetTabPinned(0, true); 1482 model->SetTabPinned(0, true);
1483 ui_test_utils::NavigateToURL(browser(), url); 1483 ui_test_utils::NavigateToURL(browser(), url);
1484 1484
1485 // Add a non pinned tab. 1485 // Add a non pinned tab.
1486 chrome::NewTab(browser()); 1486 chrome::NewTab(browser());
1487 1487
1488 // Add a pinned non-app tab. 1488 // Add a pinned non-app tab.
1489 chrome::NewTab(browser()); 1489 chrome::NewTab(browser());
1490 ui_test_utils::NavigateToURL(browser(), GURL(url::kAboutBlankURL)); 1490 ui_test_utils::NavigateToURL(browser(), GURL(url::kAboutBlankURL));
(...skipping 586 matching lines...) Expand 10 before | Expand all | Expand 10 after
2077 // We start with a normal browser with one tab. 2077 // We start with a normal browser with one tab.
2078 EXPECT_EQ(1, browser()->tab_strip_model()->count()); 2078 EXPECT_EQ(1, browser()->tab_strip_model()->count());
2079 2079
2080 // Open a popup browser with a single blank foreground tab. 2080 // Open a popup browser with a single blank foreground tab.
2081 Browser* popup_browser = new Browser( 2081 Browser* popup_browser = new Browser(
2082 Browser::CreateParams(Browser::TYPE_POPUP, browser()->profile())); 2082 Browser::CreateParams(Browser::TYPE_POPUP, browser()->profile()));
2083 chrome::AddTabAt(popup_browser, GURL(), -1, true); 2083 chrome::AddTabAt(popup_browser, GURL(), -1, true);
2084 EXPECT_EQ(1, popup_browser->tab_strip_model()->count()); 2084 EXPECT_EQ(1, popup_browser->tab_strip_model()->count());
2085 2085
2086 // Now try opening another tab in the popup browser. 2086 // Now try opening another tab in the popup browser.
2087 AddTabWithURLParams params1(url, content::PAGE_TRANSITION_TYPED); 2087 AddTabWithURLParams params1(url, ui::PAGE_TRANSITION_TYPED);
2088 popup_browser->AddTabWithURL(&params1); 2088 popup_browser->AddTabWithURL(&params1);
2089 EXPECT_EQ(popup_browser, params1.target); 2089 EXPECT_EQ(popup_browser, params1.target);
2090 2090
2091 // The popup should still only have one tab. 2091 // The popup should still only have one tab.
2092 EXPECT_EQ(1, popup_browser->tab_strip_model()->count()); 2092 EXPECT_EQ(1, popup_browser->tab_strip_model()->count());
2093 2093
2094 // The normal browser should now have two. 2094 // The normal browser should now have two.
2095 EXPECT_EQ(2, browser()->tab_strip_model()->count()); 2095 EXPECT_EQ(2, browser()->tab_strip_model()->count());
2096 2096
2097 // Open an app frame browser with a single blank foreground tab. 2097 // Open an app frame browser with a single blank foreground tab.
2098 Browser* app_browser = new Browser(Browser::CreateParams::CreateForApp( 2098 Browser* app_browser = new Browser(Browser::CreateParams::CreateForApp(
2099 L"Test", browser()->profile(), false)); 2099 L"Test", browser()->profile(), false));
2100 chrome::AddTabAt(app_browser, GURL(), -1, true); 2100 chrome::AddTabAt(app_browser, GURL(), -1, true);
2101 EXPECT_EQ(1, app_browser->tab_strip_model()->count()); 2101 EXPECT_EQ(1, app_browser->tab_strip_model()->count());
2102 2102
2103 // Now try opening another tab in the app browser. 2103 // Now try opening another tab in the app browser.
2104 AddTabWithURLParams params2(GURL(url::kAboutBlankURL), 2104 AddTabWithURLParams params2(GURL(url::kAboutBlankURL),
2105 content::PAGE_TRANSITION_TYPED); 2105 ui::PAGE_TRANSITION_TYPED);
2106 app_browser->AddTabWithURL(&params2); 2106 app_browser->AddTabWithURL(&params2);
2107 EXPECT_EQ(app_browser, params2.target); 2107 EXPECT_EQ(app_browser, params2.target);
2108 2108
2109 // The popup should still only have one tab. 2109 // The popup should still only have one tab.
2110 EXPECT_EQ(1, app_browser->tab_strip_model()->count()); 2110 EXPECT_EQ(1, app_browser->tab_strip_model()->count());
2111 2111
2112 // The normal browser should now have three. 2112 // The normal browser should now have three.
2113 EXPECT_EQ(3, browser()->tab_strip_model()->count()); 2113 EXPECT_EQ(3, browser()->tab_strip_model()->count());
2114 2114
2115 // Open an app frame popup browser with a single blank foreground tab. 2115 // Open an app frame popup browser with a single blank foreground tab.
2116 Browser* app_popup_browser = new Browser(Browser::CreateParams::CreateForApp( 2116 Browser* app_popup_browser = new Browser(Browser::CreateParams::CreateForApp(
2117 L"Test", browser()->profile(), false)); 2117 L"Test", browser()->profile(), false));
2118 chrome::AddTabAt(app_popup_browser, GURL(), -1, true); 2118 chrome::AddTabAt(app_popup_browser, GURL(), -1, true);
2119 EXPECT_EQ(1, app_popup_browser->tab_strip_model()->count()); 2119 EXPECT_EQ(1, app_popup_browser->tab_strip_model()->count());
2120 2120
2121 // Now try opening another tab in the app popup browser. 2121 // Now try opening another tab in the app popup browser.
2122 AddTabWithURLParams params3(GURL(url::kAboutBlankURL), 2122 AddTabWithURLParams params3(GURL(url::kAboutBlankURL),
2123 content::PAGE_TRANSITION_TYPED); 2123 ui::PAGE_TRANSITION_TYPED);
2124 app_popup_browser->AddTabWithURL(&params3); 2124 app_popup_browser->AddTabWithURL(&params3);
2125 EXPECT_EQ(app_popup_browser, params3.target); 2125 EXPECT_EQ(app_popup_browser, params3.target);
2126 2126
2127 // The popup should still only have one tab. 2127 // The popup should still only have one tab.
2128 EXPECT_EQ(1, app_popup_browser->tab_strip_model()->count()); 2128 EXPECT_EQ(1, app_popup_browser->tab_strip_model()->count());
2129 2129
2130 // The normal browser should now have four. 2130 // The normal browser should now have four.
2131 EXPECT_EQ(4, browser()->tab_strip_model()->count()); 2131 EXPECT_EQ(4, browser()->tab_strip_model()->count());
2132 2132
2133 // Close the additional browsers. 2133 // Close the additional browsers.
(...skipping 579 matching lines...) Expand 10 before | Expand all | Expand 10 after
2713 #endif 2713 #endif
2714 EXPECT_EQ(exp_commit_size, rwhv_commit_size2); 2714 EXPECT_EQ(exp_commit_size, rwhv_commit_size2);
2715 EXPECT_EQ(exp_commit_size, wcv_commit_size2); 2715 EXPECT_EQ(exp_commit_size, wcv_commit_size2);
2716 gfx::Size exp_final_size(initial_wcv_size); 2716 gfx::Size exp_final_size(initial_wcv_size);
2717 exp_final_size.Enlarge(wcv_resize_insets.width(), 2717 exp_final_size.Enlarge(wcv_resize_insets.width(),
2718 wcv_resize_insets.height() + height_inset); 2718 wcv_resize_insets.height() + height_inset);
2719 EXPECT_EQ(exp_final_size, 2719 EXPECT_EQ(exp_final_size,
2720 web_contents->GetRenderWidgetHostView()->GetViewBounds().size()); 2720 web_contents->GetRenderWidgetHostView()->GetViewBounds().size());
2721 EXPECT_EQ(exp_final_size, web_contents->GetContainerBounds().size()); 2721 EXPECT_EQ(exp_final_size, web_contents->GetContainerBounds().size());
2722 } 2722 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/browser.cc ('k') | chrome/browser/ui/browser_close_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698