OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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/compiler_specific.h" | 7 #include "base/compiler_specific.h" |
8 #include "base/file_path.h" | 8 #include "base/file_path.h" |
9 #if defined(OS_MACOSX) | 9 #if defined(OS_MACOSX) |
10 #include "base/mac/mac_util.h" | 10 #include "base/mac/mac_util.h" |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
60 "</body></html>"; | 60 "</body></html>"; |
61 | 61 |
62 const char* kOpenNewBeforeUnloadPage = | 62 const char* kOpenNewBeforeUnloadPage = |
63 "w=window.open(); w.onbeforeunload=function(e){return 'foo'};"; | 63 "w=window.open(); w.onbeforeunload=function(e){return 'foo'};"; |
64 | 64 |
65 const FilePath::CharType* kBeforeUnloadFile = | 65 const FilePath::CharType* kBeforeUnloadFile = |
66 FILE_PATH_LITERAL("beforeunload.html"); | 66 FILE_PATH_LITERAL("beforeunload.html"); |
67 | 67 |
68 const FilePath::CharType* kTitle1File = FILE_PATH_LITERAL("title1.html"); | 68 const FilePath::CharType* kTitle1File = FILE_PATH_LITERAL("title1.html"); |
69 const FilePath::CharType* kTitle2File = FILE_PATH_LITERAL("title2.html"); | 69 const FilePath::CharType* kTitle2File = FILE_PATH_LITERAL("title2.html"); |
| 70 const FilePath::CharType* kSubFrameNavigationFile = |
| 71 FILE_PATH_LITERAL("subframe-navigation.html"); |
70 | 72 |
71 const FilePath::CharType kDocRoot[] = FILE_PATH_LITERAL("chrome/test/data"); | 73 const FilePath::CharType kDocRoot[] = FILE_PATH_LITERAL("chrome/test/data"); |
72 | 74 |
73 // Given a page title, returns the expected window caption string. | 75 // Given a page title, returns the expected window caption string. |
74 std::wstring WindowCaptionFromPageTitle(std::wstring page_title) { | 76 std::wstring WindowCaptionFromPageTitle(std::wstring page_title) { |
75 #if defined(OS_MACOSX) || defined(OS_CHROMEOS) | 77 #if defined(OS_MACOSX) || defined(OS_CHROMEOS) |
76 // On Mac or ChromeOS, we don't want to suffix the page title with | 78 // On Mac or ChromeOS, we don't want to suffix the page title with |
77 // the application name. | 79 // the application name. |
78 if (page_title.empty()) { | 80 if (page_title.empty()) { |
79 return UTF16ToWideHack( | 81 return UTF16ToWideHack( |
(...skipping 766 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
846 { | 848 { |
847 ui_test_utils::WindowedNotificationObserver fullscreen_observer( | 849 ui_test_utils::WindowedNotificationObserver fullscreen_observer( |
848 chrome::NOTIFICATION_FULLSCREEN_CHANGED, | 850 chrome::NOTIFICATION_FULLSCREEN_CHANGED, |
849 NotificationService::AllSources()); | 851 NotificationService::AllSources()); |
850 browser()->ToggleFullscreenModeForTab(fullscreen_tab, false); | 852 browser()->ToggleFullscreenModeForTab(fullscreen_tab, false); |
851 fullscreen_observer.Wait(); | 853 fullscreen_observer.Wait(); |
852 ASSERT_FALSE(browser()->window()->IsFullscreen()); | 854 ASSERT_FALSE(browser()->window()->IsFullscreen()); |
853 } | 855 } |
854 } | 856 } |
855 | 857 |
| 858 IN_PROC_BROWSER_TEST_F(BrowserTest, TestTabExitsFullscreenOnNavigation) { |
| 859 ASSERT_TRUE(test_server()->Start()); |
| 860 |
| 861 ui_test_utils::NavigateToURL(browser(), GURL("about:blank")); |
| 862 ui_test_utils::NavigateToURL(browser(), GURL("chrome://newtab")); |
| 863 |
| 864 TabContents* fullscreen_tab = browser()->GetSelectedTabContents(); |
| 865 |
| 866 ui_test_utils::WindowedNotificationObserver tree_updated_observer1( |
| 867 chrome::NOTIFICATION_FULLSCREEN_CHANGED, |
| 868 NotificationService::AllSources()); |
| 869 browser()->ToggleFullscreenModeForTab(fullscreen_tab, true); |
| 870 tree_updated_observer1.Wait(); |
| 871 |
| 872 ASSERT_TRUE(browser()->window()->IsFullscreen()); |
| 873 |
| 874 ui_test_utils::WindowedNotificationObserver tree_updated_observer2( |
| 875 chrome::NOTIFICATION_FULLSCREEN_CHANGED, |
| 876 NotificationService::AllSources()); |
| 877 browser()->GoBack(CURRENT_TAB); |
| 878 tree_updated_observer2.Wait(); |
| 879 |
| 880 ASSERT_FALSE(browser()->window()->IsFullscreen()); |
| 881 } |
| 882 |
| 883 IN_PROC_BROWSER_TEST_F(BrowserTest, |
| 884 TestTabDoesntExitFullscreenOnSubFrameNavigation) { |
| 885 ASSERT_TRUE(test_server()->Start()); |
| 886 |
| 887 GURL url(ui_test_utils::GetTestUrl(FilePath(FilePath::kCurrentDirectory), |
| 888 FilePath(kSubFrameNavigationFile))); |
| 889 ui_test_utils::NavigateToURL(browser(), url); |
| 890 |
| 891 TabContents* fullscreen_tab = browser()->GetSelectedTabContents(); |
| 892 |
| 893 ui_test_utils::WindowedNotificationObserver tree_updated_observer1( |
| 894 chrome::NOTIFICATION_FULLSCREEN_CHANGED, |
| 895 NotificationService::AllSources()); |
| 896 browser()->ToggleFullscreenModeForTab(fullscreen_tab, true); |
| 897 tree_updated_observer1.Wait(); |
| 898 ASSERT_TRUE(browser()->window()->IsFullscreen()); |
| 899 |
| 900 fullscreen_tab->render_view_host()-> |
| 901 ExecuteJavascriptInWebFrame(string16(), ASCIIToUTF16("navigate();")); |
| 902 ASSERT_TRUE(browser()->window()->IsFullscreen()); |
| 903 } |
| 904 |
856 #if defined(OS_MACOSX) | 905 #if defined(OS_MACOSX) |
857 IN_PROC_BROWSER_TEST_F(BrowserTest, TabEntersPresentationModeFromWindowed) { | 906 IN_PROC_BROWSER_TEST_F(BrowserTest, TabEntersPresentationModeFromWindowed) { |
858 ASSERT_TRUE(test_server()->Start()); | 907 ASSERT_TRUE(test_server()->Start()); |
859 | 908 |
860 AddTabAtIndex(0, GURL(chrome::kAboutBlankURL), PageTransition::TYPED); | 909 AddTabAtIndex(0, GURL(chrome::kAboutBlankURL), PageTransition::TYPED); |
861 | 910 |
862 TabContents* fullscreen_tab = browser()->GetSelectedTabContents(); | 911 TabContents* fullscreen_tab = browser()->GetSelectedTabContents(); |
863 | 912 |
864 { | 913 { |
865 ui_test_utils::WindowedNotificationObserver fullscreen_observer( | 914 ui_test_utils::WindowedNotificationObserver fullscreen_observer( |
(...skipping 272 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1138 | 1187 |
1139 // The normal browser should now have four. | 1188 // The normal browser should now have four. |
1140 EXPECT_EQ(4, browser()->tab_count()); | 1189 EXPECT_EQ(4, browser()->tab_count()); |
1141 | 1190 |
1142 // Close the additional browsers. | 1191 // Close the additional browsers. |
1143 popup_browser->CloseAllTabs(); | 1192 popup_browser->CloseAllTabs(); |
1144 app_browser->CloseAllTabs(); | 1193 app_browser->CloseAllTabs(); |
1145 app_popup_browser->CloseAllTabs(); | 1194 app_popup_browser->CloseAllTabs(); |
1146 } | 1195 } |
1147 #endif | 1196 #endif |
OLD | NEW |