OLD | NEW |
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/i18n/rtl.h" | 9 #include "base/i18n/rtl.h" |
10 #include "base/file_path.h" | 10 #include "base/file_path.h" |
(...skipping 689 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
700 #endif | 700 #endif |
701 | 701 |
702 // Test that launching an app refocuses a tab already hosting the app. | 702 // Test that launching an app refocuses a tab already hosting the app. |
703 IN_PROC_BROWSER_TEST_F(BrowserAppRefocusTest, MAYBE_OpenTab) { | 703 IN_PROC_BROWSER_TEST_F(BrowserAppRefocusTest, MAYBE_OpenTab) { |
704 SetUpExtensionApp(); | 704 SetUpExtensionApp(); |
705 | 705 |
706 ASSERT_EQ(1, browser()->tab_count()); | 706 ASSERT_EQ(1, browser()->tab_count()); |
707 ASSERT_EQ(NULL, Browser::FindAppTab(browser(), extension_app_)); | 707 ASSERT_EQ(NULL, Browser::FindAppTab(browser(), extension_app_)); |
708 | 708 |
709 // Open a tab with the app. | 709 // Open a tab with the app. |
710 TabContents* tab = Browser::OpenApplicationTab(profile_, extension_app_); | 710 TabContents* tab = Browser::OpenApplicationTab(profile_, extension_app_, |
| 711 NULL); |
711 ASSERT_TRUE(WaitForTab(tab)); | 712 ASSERT_TRUE(WaitForTab(tab)); |
712 ASSERT_EQ(2, browser()->tab_count()); | 713 ASSERT_EQ(2, browser()->tab_count()); |
713 | 714 |
714 int app_tab_index = browser()->selected_index(); | 715 int app_tab_index = browser()->selected_index(); |
715 ASSERT_EQ(0, app_tab_index) << "App tab should be the left most tab."; | 716 ASSERT_EQ(0, app_tab_index) << "App tab should be the left most tab."; |
716 ASSERT_EQ(browser()->GetTabContentsAt(0), | 717 ASSERT_EQ(browser()->GetTabContentsAt(0), |
717 Browser::FindAppTab(browser(), extension_app_)); | 718 Browser::FindAppTab(browser(), extension_app_)); |
718 | 719 |
719 // Open the same app. The existing tab should stay focused. | 720 // Open the same app. The existing tab should stay focused. |
720 tab = Browser::OpenApplication(profile_, extension_app_->id()); | 721 tab = Browser::OpenApplication(profile_, extension_app_->id()); |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
757 | 758 |
758 // Test that launching an app refocuses a panel running the app. | 759 // Test that launching an app refocuses a panel running the app. |
759 IN_PROC_BROWSER_TEST_F(BrowserAppRefocusTest, MAYBE_OpenPanel) { | 760 IN_PROC_BROWSER_TEST_F(BrowserAppRefocusTest, MAYBE_OpenPanel) { |
760 SetUpExtensionApp(); | 761 SetUpExtensionApp(); |
761 | 762 |
762 ASSERT_EQ(1, browser()->tab_count()); | 763 ASSERT_EQ(1, browser()->tab_count()); |
763 ASSERT_EQ(NULL, Browser::FindAppWindowOrPanel(profile_, extension_app_)); | 764 ASSERT_EQ(NULL, Browser::FindAppWindowOrPanel(profile_, extension_app_)); |
764 | 765 |
765 // Open the app in a panel. | 766 // Open the app in a panel. |
766 Browser::OpenApplicationWindow(profile_, extension_app_, | 767 Browser::OpenApplicationWindow(profile_, extension_app_, |
767 Extension::LAUNCH_PANEL, GURL()); | 768 Extension::LAUNCH_PANEL, GURL(), NULL); |
768 Browser* app_panel = BrowserList::GetLastActive(); | 769 Browser* app_panel = BrowserList::GetLastActive(); |
769 ASSERT_TRUE(app_panel); | 770 ASSERT_TRUE(app_panel); |
770 ASSERT_NE(app_panel, browser()) << "New browser should have opened."; | 771 ASSERT_NE(app_panel, browser()) << "New browser should have opened."; |
771 ASSERT_EQ(app_panel, BrowserList::GetLastActive()); | 772 ASSERT_EQ(app_panel, BrowserList::GetLastActive()); |
772 ASSERT_EQ(app_panel, | 773 ASSERT_EQ(app_panel, |
773 Browser::FindAppWindowOrPanel(profile_, extension_app_)); | 774 Browser::FindAppWindowOrPanel(profile_, extension_app_)); |
774 | 775 |
775 // Focus the initial browser. | 776 // Focus the initial browser. |
776 browser()->window()->Show(); | 777 browser()->window()->Show(); |
777 ASSERT_EQ(browser(), BrowserList::GetLastActive()); | 778 ASSERT_EQ(browser(), BrowserList::GetLastActive()); |
(...skipping 12 matching lines...) Expand all Loading... |
790 | 791 |
791 // Test that launching an app refocuses a window running the app. | 792 // Test that launching an app refocuses a window running the app. |
792 IN_PROC_BROWSER_TEST_F(BrowserAppRefocusTest, MAYBE_OpenWindow) { | 793 IN_PROC_BROWSER_TEST_F(BrowserAppRefocusTest, MAYBE_OpenWindow) { |
793 SetUpExtensionApp(); | 794 SetUpExtensionApp(); |
794 | 795 |
795 ASSERT_EQ(1, browser()->tab_count()); | 796 ASSERT_EQ(1, browser()->tab_count()); |
796 ASSERT_EQ(NULL, Browser::FindAppWindowOrPanel(profile_, extension_app_)); | 797 ASSERT_EQ(NULL, Browser::FindAppWindowOrPanel(profile_, extension_app_)); |
797 | 798 |
798 // Open a window with the app. | 799 // Open a window with the app. |
799 Browser::OpenApplicationWindow(profile_, extension_app_, | 800 Browser::OpenApplicationWindow(profile_, extension_app_, |
800 Extension::LAUNCH_WINDOW, GURL()); | 801 Extension::LAUNCH_WINDOW, GURL(), NULL); |
801 Browser* app_window = BrowserList::GetLastActive(); | 802 Browser* app_window = BrowserList::GetLastActive(); |
802 ASSERT_TRUE(app_window); | 803 ASSERT_TRUE(app_window); |
803 ASSERT_NE(app_window, browser()) << "New browser should have opened."; | 804 ASSERT_NE(app_window, browser()) << "New browser should have opened."; |
804 | 805 |
805 // Focus the initial browser. | 806 // Focus the initial browser. |
806 browser()->window()->Show(); | 807 browser()->window()->Show(); |
807 ASSERT_EQ(browser(), BrowserList::GetLastActive()); | 808 ASSERT_EQ(browser(), BrowserList::GetLastActive()); |
808 | 809 |
809 // Open the app. | 810 // Open the app. |
810 Browser::OpenApplication(profile_, extension_app_->id()); | 811 Browser::OpenApplication(profile_, extension_app_->id()); |
811 | 812 |
812 // Focus should move to the window. | 813 // Focus should move to the window. |
813 ASSERT_EQ(app_window, BrowserList::GetLastActive()); | 814 ASSERT_EQ(app_window, BrowserList::GetLastActive()); |
814 ASSERT_EQ(app_window, | 815 ASSERT_EQ(app_window, |
815 Browser::FindAppWindowOrPanel(profile_, extension_app_)); | 816 Browser::FindAppWindowOrPanel(profile_, extension_app_)); |
816 // No new tab should have been created in the initial browser. | 817 // No new tab should have been created in the initial browser. |
817 ASSERT_EQ(1, browser()->tab_count()); | 818 ASSERT_EQ(1, browser()->tab_count()); |
818 } | 819 } |
819 | 820 |
820 // Test that if an app is opened while running in a window and a tab, | 821 // Test that if an app is opened while running in a window and a tab, |
821 // the window is focused. | 822 // the window is focused. |
822 IN_PROC_BROWSER_TEST_F(BrowserAppRefocusTest, MAYBE_WindowBeforeTab) { | 823 IN_PROC_BROWSER_TEST_F(BrowserAppRefocusTest, MAYBE_WindowBeforeTab) { |
823 SetUpExtensionApp(); | 824 SetUpExtensionApp(); |
824 | 825 |
825 ASSERT_EQ(1, browser()->tab_count()); | 826 ASSERT_EQ(1, browser()->tab_count()); |
826 | 827 |
827 // Open a tab with the app. | 828 // Open a tab with the app. |
828 Browser::OpenApplicationTab(profile_, extension_app_); | 829 Browser::OpenApplicationTab(profile_, extension_app_, NULL); |
829 ASSERT_TRUE(ui_test_utils::WaitForNavigationInCurrentTab(browser())); | 830 ASSERT_TRUE(ui_test_utils::WaitForNavigationInCurrentTab(browser())); |
830 ASSERT_EQ(2, browser()->tab_count()); | 831 ASSERT_EQ(2, browser()->tab_count()); |
831 int app_tab_index = browser()->selected_index(); | 832 int app_tab_index = browser()->selected_index(); |
832 ASSERT_EQ(0, app_tab_index) << "App tab should be the left most tab."; | 833 ASSERT_EQ(0, app_tab_index) << "App tab should be the left most tab."; |
833 | 834 |
834 // Open a window with the app. | 835 // Open a window with the app. |
835 Browser::OpenApplicationWindow(profile_, extension_app_, | 836 Browser::OpenApplicationWindow(profile_, extension_app_, |
836 Extension::LAUNCH_WINDOW, GURL()); | 837 Extension::LAUNCH_WINDOW, GURL(), NULL); |
837 Browser* app_window = BrowserList::GetLastActive(); | 838 Browser* app_window = BrowserList::GetLastActive(); |
838 ASSERT_TRUE(app_window); | 839 ASSERT_TRUE(app_window); |
839 ASSERT_NE(app_window, browser()) << "New browser should have opened."; | 840 ASSERT_NE(app_window, browser()) << "New browser should have opened."; |
840 | 841 |
841 // Focus the initial browser. | 842 // Focus the initial browser. |
842 browser()->window()->Show(); | 843 browser()->window()->Show(); |
843 | 844 |
844 // Open the app. Focus should move to the window. | 845 // Open the app. Focus should move to the window. |
845 Browser::OpenApplication(profile_, extension_app_->id()); | 846 Browser::OpenApplication(profile_, extension_app_->id()); |
846 ASSERT_EQ(app_window, BrowserList::GetLastActive()); | 847 ASSERT_EQ(app_window, BrowserList::GetLastActive()); |
847 } | 848 } |
848 | 849 |
849 // Test that if an app is opened while running in a panel and a tab, | 850 // Test that if an app is opened while running in a panel and a tab, |
850 // the panel is focused. | 851 // the panel is focused. |
851 IN_PROC_BROWSER_TEST_F(BrowserAppRefocusTest, MAYBE_PanelBeforeTab) { | 852 IN_PROC_BROWSER_TEST_F(BrowserAppRefocusTest, MAYBE_PanelBeforeTab) { |
852 SetUpExtensionApp(); | 853 SetUpExtensionApp(); |
853 | 854 |
854 ASSERT_EQ(1, browser()->tab_count()); | 855 ASSERT_EQ(1, browser()->tab_count()); |
855 | 856 |
856 // Open a tab with the app. | 857 // Open a tab with the app. |
857 TabContents* tab = Browser::OpenApplicationTab(profile_, extension_app_); | 858 TabContents* tab = Browser::OpenApplicationTab(profile_, extension_app_, |
| 859 NULL); |
858 ASSERT_TRUE(WaitForTab(tab)); | 860 ASSERT_TRUE(WaitForTab(tab)); |
859 ASSERT_EQ(2, browser()->tab_count()); | 861 ASSERT_EQ(2, browser()->tab_count()); |
860 int app_tab_index = browser()->selected_index(); | 862 int app_tab_index = browser()->selected_index(); |
861 ASSERT_EQ(0, app_tab_index) << "App tab should be the left most tab."; | 863 ASSERT_EQ(0, app_tab_index) << "App tab should be the left most tab."; |
862 | 864 |
863 // Open a panel with the app. | 865 // Open a panel with the app. |
864 Browser::OpenApplicationWindow(profile_, extension_app_, | 866 Browser::OpenApplicationWindow(profile_, extension_app_, |
865 Extension::LAUNCH_PANEL, GURL()); | 867 Extension::LAUNCH_PANEL, GURL(), NULL); |
866 Browser* app_panel = BrowserList::GetLastActive(); | 868 Browser* app_panel = BrowserList::GetLastActive(); |
867 ASSERT_TRUE(app_panel); | 869 ASSERT_TRUE(app_panel); |
868 ASSERT_NE(app_panel, browser()) << "New browser should have opened."; | 870 ASSERT_NE(app_panel, browser()) << "New browser should have opened."; |
869 | 871 |
870 // Focus the initial browser. | 872 // Focus the initial browser. |
871 browser()->window()->Show(); | 873 browser()->window()->Show(); |
872 | 874 |
873 // Open the app. Focus should move to the panel. | 875 // Open the app. Focus should move to the panel. |
874 Browser::OpenApplication(profile_, extension_app_->id()); | 876 Browser::OpenApplication(profile_, extension_app_->id()); |
875 ASSERT_EQ(app_panel, BrowserList::GetLastActive()); | 877 ASSERT_EQ(app_panel, BrowserList::GetLastActive()); |
876 } | 878 } |
877 | 879 |
878 // Test that if multiple tabs host an app, and that app is opened, | 880 // Test that if multiple tabs host an app, and that app is opened, |
879 // the tab in the current window gets focus. | 881 // the tab in the current window gets focus. |
880 IN_PROC_BROWSER_TEST_F(BrowserAppRefocusTest, MAYBE_TabInFocusedWindow) { | 882 IN_PROC_BROWSER_TEST_F(BrowserAppRefocusTest, MAYBE_TabInFocusedWindow) { |
881 SetUpExtensionApp(); | 883 SetUpExtensionApp(); |
882 | 884 |
883 ASSERT_EQ(1, browser()->tab_count()); | 885 ASSERT_EQ(1, browser()->tab_count()); |
884 | 886 |
885 Browser::OpenApplicationTab(profile_, extension_app_); | 887 Browser::OpenApplicationTab(profile_, extension_app_, NULL); |
886 ASSERT_TRUE(ui_test_utils::WaitForNavigationInCurrentTab(browser())); | 888 ASSERT_TRUE(ui_test_utils::WaitForNavigationInCurrentTab(browser())); |
887 ASSERT_EQ(2, browser()->tab_count()); | 889 ASSERT_EQ(2, browser()->tab_count()); |
888 int app_tab_index = browser()->selected_index(); | 890 int app_tab_index = browser()->selected_index(); |
889 ASSERT_EQ(0, app_tab_index) << "App tab should be the left most tab."; | 891 ASSERT_EQ(0, app_tab_index) << "App tab should be the left most tab."; |
890 | 892 |
891 // Open a new browser window, add an app tab. | 893 // Open a new browser window, add an app tab. |
892 Browser* extra_browser = CreateBrowser(profile_); | 894 Browser* extra_browser = CreateBrowser(profile_); |
893 ASSERT_EQ(extra_browser, BrowserList::GetLastActive()); | 895 ASSERT_EQ(extra_browser, BrowserList::GetLastActive()); |
894 | 896 |
895 Browser::OpenApplicationTab(profile_, extension_app_); | 897 Browser::OpenApplicationTab(profile_, extension_app_, NULL); |
896 ASSERT_TRUE(ui_test_utils::WaitForNavigationInCurrentTab(extra_browser)); | 898 ASSERT_TRUE(ui_test_utils::WaitForNavigationInCurrentTab(extra_browser)); |
897 ASSERT_EQ(2, extra_browser->tab_count()); | 899 ASSERT_EQ(2, extra_browser->tab_count()); |
898 app_tab_index = extra_browser->selected_index(); | 900 app_tab_index = extra_browser->selected_index(); |
899 ASSERT_EQ(0, app_tab_index) << "App tab should be the left most tab"; | 901 ASSERT_EQ(0, app_tab_index) << "App tab should be the left most tab"; |
900 | 902 |
901 // Open the app. Focus should move to the panel. | 903 // Open the app. Focus should move to the panel. |
902 Browser::OpenApplication(profile_, extension_app_->id()); | 904 Browser::OpenApplication(profile_, extension_app_->id()); |
903 ASSERT_EQ(extra_browser, BrowserList::GetLastActive()); | 905 ASSERT_EQ(extra_browser, BrowserList::GetLastActive()); |
904 ASSERT_EQ(2, extra_browser->tab_count()); | 906 ASSERT_EQ(2, extra_browser->tab_count()); |
905 | 907 |
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
983 | 985 |
984 // The normal browser should now have four. | 986 // The normal browser should now have four. |
985 EXPECT_EQ(4, browser()->tab_count()); | 987 EXPECT_EQ(4, browser()->tab_count()); |
986 | 988 |
987 // Close the additional browsers. | 989 // Close the additional browsers. |
988 popup_browser->CloseAllTabs(); | 990 popup_browser->CloseAllTabs(); |
989 app_browser->CloseAllTabs(); | 991 app_browser->CloseAllTabs(); |
990 app_popup_browser->CloseAllTabs(); | 992 app_popup_browser->CloseAllTabs(); |
991 } | 993 } |
992 #endif | 994 #endif |
OLD | NEW |