| Index: chrome/browser/ui/browser_browsertest.cc
|
| diff --git a/chrome/browser/ui/browser_browsertest.cc b/chrome/browser/ui/browser_browsertest.cc
|
| index 7cf1054f7dca85f550f497fb90e66966c97dd8c9..d4f3dc48789873842aaab34892ecb9c5a871828b 100644
|
| --- a/chrome/browser/ui/browser_browsertest.cc
|
| +++ b/chrome/browser/ui/browser_browsertest.cc
|
| @@ -67,6 +67,8 @@ const FilePath::CharType* kBeforeUnloadFile =
|
|
|
| const FilePath::CharType* kTitle1File = FILE_PATH_LITERAL("title1.html");
|
| const FilePath::CharType* kTitle2File = FILE_PATH_LITERAL("title2.html");
|
| +const FilePath::CharType* kSubFrameNavigationFile =
|
| + FILE_PATH_LITERAL("subframe-navigation.html");
|
|
|
| const FilePath::CharType kDocRoot[] = FILE_PATH_LITERAL("chrome/test/data");
|
|
|
| @@ -853,6 +855,53 @@ IN_PROC_BROWSER_TEST_F(BrowserTest, TestTabExitsItselfFromFullscreen) {
|
| }
|
| }
|
|
|
| +IN_PROC_BROWSER_TEST_F(BrowserTest, TestTabExitsFullscreenOnNavigation) {
|
| + ASSERT_TRUE(test_server()->Start());
|
| +
|
| + ui_test_utils::NavigateToURL(browser(), GURL("about:blank"));
|
| + ui_test_utils::NavigateToURL(browser(), GURL("chrome://newtab"));
|
| +
|
| + TabContents* fullscreen_tab = browser()->GetSelectedTabContents();
|
| +
|
| + ui_test_utils::WindowedNotificationObserver tree_updated_observer1(
|
| + chrome::NOTIFICATION_FULLSCREEN_CHANGED,
|
| + NotificationService::AllSources());
|
| + browser()->ToggleFullscreenModeForTab(fullscreen_tab, true);
|
| + tree_updated_observer1.Wait();
|
| +
|
| + ASSERT_TRUE(browser()->window()->IsFullscreen());
|
| +
|
| + ui_test_utils::WindowedNotificationObserver tree_updated_observer2(
|
| + chrome::NOTIFICATION_FULLSCREEN_CHANGED,
|
| + NotificationService::AllSources());
|
| + browser()->GoBack(CURRENT_TAB);
|
| + tree_updated_observer2.Wait();
|
| +
|
| + ASSERT_FALSE(browser()->window()->IsFullscreen());
|
| +}
|
| +
|
| +IN_PROC_BROWSER_TEST_F(BrowserTest,
|
| + TestTabDoesntExitFullscreenOnSubFrameNavigation) {
|
| + ASSERT_TRUE(test_server()->Start());
|
| +
|
| + GURL url(ui_test_utils::GetTestUrl(FilePath(FilePath::kCurrentDirectory),
|
| + FilePath(kSubFrameNavigationFile)));
|
| + ui_test_utils::NavigateToURL(browser(), url);
|
| +
|
| + TabContents* fullscreen_tab = browser()->GetSelectedTabContents();
|
| +
|
| + ui_test_utils::WindowedNotificationObserver tree_updated_observer1(
|
| + chrome::NOTIFICATION_FULLSCREEN_CHANGED,
|
| + NotificationService::AllSources());
|
| + browser()->ToggleFullscreenModeForTab(fullscreen_tab, true);
|
| + tree_updated_observer1.Wait();
|
| + ASSERT_TRUE(browser()->window()->IsFullscreen());
|
| +
|
| + fullscreen_tab->render_view_host()->
|
| + ExecuteJavascriptInWebFrame(string16(), ASCIIToUTF16("navigate();"));
|
| + ASSERT_TRUE(browser()->window()->IsFullscreen());
|
| +}
|
| +
|
| #if defined(OS_MACOSX)
|
| IN_PROC_BROWSER_TEST_F(BrowserTest, TabEntersPresentationModeFromWindowed) {
|
| ASSERT_TRUE(test_server()->Start());
|
|
|