Chromium Code Reviews| Index: chrome/browser/ui/fullscreen_controller_browsertest.cc |
| diff --git a/chrome/browser/ui/fullscreen_controller_browsertest.cc b/chrome/browser/ui/fullscreen_controller_browsertest.cc |
| index f6f01377ea988b8400dd6e6adff2acecf59635f9..018d77cedfa079d51aa74f61063f49a416a3c64c 100644 |
| --- a/chrome/browser/ui/fullscreen_controller_browsertest.cc |
| +++ b/chrome/browser/ui/fullscreen_controller_browsertest.cc |
| @@ -3,11 +3,14 @@ |
| // found in the LICENSE file. |
| #include "base/compiler_specific.h" |
| +#include "base/utf_string_conversions.h" |
| #include "chrome/browser/content_settings/host_content_settings_map.h" |
| #include "chrome/browser/profiles/profile.h" |
| #include "chrome/browser/ui/browser.h" |
| #include "chrome/browser/ui/browser_window.h" |
| #include "chrome/browser/ui/fullscreen_controller_test.h" |
| +#include "content/public/browser/render_view_host.h" |
| +#include "content/public/browser/web_contents.h" |
| #include "content/public/common/url_constants.h" |
| #if defined(OS_MACOSX) |
| #include "base/mac/mac_util.h" |
| @@ -38,7 +41,7 @@ IN_PROC_BROWSER_TEST_F(FullscreenControllerTest, |
| MAYBE_TestNewTabExitsFullscreen) { |
| ASSERT_TRUE(test_server()->Start()); |
| - AddTabAtIndex( |
| + AddTabAtIndexAndWait( |
| 0, GURL(chrome::kAboutBlankURL), content::PAGE_TRANSITION_TYPED); |
| WebContents* fullscreen_tab = browser()->GetActiveWebContents(); |
| @@ -47,7 +50,7 @@ IN_PROC_BROWSER_TEST_F(FullscreenControllerTest, |
| { |
| FullscreenNotificationObserver fullscreen_observer; |
| - AddTabAtIndex( |
| + AddTabAtIndexAndWait( |
| 1, GURL(chrome::kAboutBlankURL), content::PAGE_TRANSITION_TYPED); |
| fullscreen_observer.Wait(); |
| ASSERT_FALSE(browser()->window()->IsFullscreen()); |
| @@ -67,7 +70,7 @@ IN_PROC_BROWSER_TEST_F(FullscreenControllerTest, |
| MAYBE_TestTabExitsItselfFromFullscreen) { |
| ASSERT_TRUE(test_server()->Start()); |
| - AddTabAtIndex( |
| + AddTabAtIndexAndWait( |
| 0, GURL(chrome::kAboutBlankURL), content::PAGE_TRANSITION_TYPED); |
| WebContents* fullscreen_tab = browser()->GetActiveWebContents(); |
| @@ -81,9 +84,9 @@ IN_PROC_BROWSER_TEST_F(FullscreenControllerTest, |
| TestFullscreenBubbleMouseLockState) { |
| ASSERT_TRUE(test_server()->Start()); |
| - AddTabAtIndex(0, GURL(chrome::kAboutBlankURL), |
| + AddTabAtIndexAndWait(0, GURL(chrome::kAboutBlankURL), |
| content::PAGE_TRANSITION_TYPED); |
| - AddTabAtIndex(1, GURL(chrome::kAboutBlankURL), |
| + AddTabAtIndexAndWait(1, GURL(chrome::kAboutBlankURL), |
| content::PAGE_TRANSITION_TYPED); |
| WebContents* fullscreen_tab = browser()->GetActiveWebContents(); |
| @@ -103,7 +106,7 @@ IN_PROC_BROWSER_TEST_F(FullscreenControllerTest, |
| // Tests Fullscreen and Mouse Lock with varying content settings ALLOW & BLOCK. |
| void FullscreenControllerBrowserTest::TestFullscreenMouseLockContentSettings() { |
| GURL url = test_server()->GetURL("simple.html"); |
| - AddTabAtIndex(0, url, content::PAGE_TRANSITION_TYPED); |
| + AddTabAtIndexAndWait(0, url, content::PAGE_TRANSITION_TYPED); |
| WebContents* tab = browser()->GetActiveWebContents(); |
| // Validate that going fullscreen for a URL defaults to asking permision. |
| @@ -183,7 +186,7 @@ IN_PROC_BROWSER_TEST_F(FullscreenControllerTest, BrowserFullscreenExit) { |
| ASSERT_NO_FATAL_FAILURE(ToggleBrowserFullscreen(true)); |
| // Enter tab fullscreen. |
| - AddTabAtIndex(0, GURL(chrome::kAboutBlankURL), |
| + AddTabAtIndexAndWait(0, GURL(chrome::kAboutBlankURL), |
| content::PAGE_TRANSITION_TYPED); |
| WebContents* fullscreen_tab = browser()->GetActiveWebContents(); |
| ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreen(fullscreen_tab, true)); |
| @@ -200,7 +203,7 @@ IN_PROC_BROWSER_TEST_F(FullscreenControllerTest, |
| ASSERT_NO_FATAL_FAILURE(ToggleBrowserFullscreen(true)); |
| // Enter and then exit tab fullscreen. |
| - AddTabAtIndex(0, GURL(chrome::kAboutBlankURL), |
| + AddTabAtIndexAndWait(0, GURL(chrome::kAboutBlankURL), |
| content::PAGE_TRANSITION_TYPED); |
| WebContents* fullscreen_tab = browser()->GetActiveWebContents(); |
| ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreen(fullscreen_tab, true)); |
| @@ -224,13 +227,62 @@ IN_PROC_BROWSER_TEST_F(FullscreenControllerTest, FullscreenFileURL) { |
| ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreen(tab, false)); |
| } |
| +IN_PROC_BROWSER_TEST_F(FullscreenControllerTest, |
| + TestTabExitsFullscreenOnNavigation) { |
| + ASSERT_TRUE(test_server()->Start()); |
| + |
| + ui_test_utils::NavigateToURL(browser(), GURL("about:blank")); |
| + ui_test_utils::NavigateToURL(browser(), GURL("chrome://newtab")); |
| + |
| + WebContents* fullscreen_tab = browser()->GetActiveWebContents(); |
| + |
| + ui_test_utils::WindowedNotificationObserver tree_updated_observer1( |
| + chrome::NOTIFICATION_FULLSCREEN_CHANGED, |
| + content::NotificationService::AllSources()); |
| + browser()->ToggleFullscreenModeForTab(fullscreen_tab, true); |
| + tree_updated_observer1.Wait(); |
|
scheib
2012/06/15 16:12:31
This block (and similar one in next test) can be r
koz (OOO until 15th September)
2012/06/18 02:28:10
Done.
|
| + |
| + ASSERT_TRUE(browser()->window()->IsFullscreen()); |
| + |
| + ui_test_utils::WindowedNotificationObserver tree_updated_observer2( |
| + chrome::NOTIFICATION_FULLSCREEN_CHANGED, |
| + content::NotificationService::AllSources()); |
| + browser()->GoBack(CURRENT_TAB); |
| + tree_updated_observer2.Wait(); |
|
scheib
2012/06/15 16:12:31
Please refactor this block into a method on Fullsc
koz (OOO until 15th September)
2012/06/18 02:28:10
Done.
|
| + |
| + ASSERT_FALSE(browser()->window()->IsFullscreen()); |
| +} |
| + |
| +IN_PROC_BROWSER_TEST_F(FullscreenControllerTest, |
| + TestTabDoesntExitFullscreenOnSubFrameNavigation) { |
| + ASSERT_TRUE(test_server()->Start()); |
| + |
| + GURL url(ui_test_utils::GetTestUrl(FilePath(FilePath::kCurrentDirectory), |
| + FilePath(kSimpleFile))); |
| + ui_test_utils::NavigateToURL(browser(), url); |
| + |
| + WebContents* fullscreen_tab = browser()->GetActiveWebContents(); |
| + |
| + ui_test_utils::WindowedNotificationObserver tree_updated_observer1( |
| + chrome::NOTIFICATION_FULLSCREEN_CHANGED, |
| + content::NotificationService::AllSources()); |
| + browser()->ToggleFullscreenModeForTab(fullscreen_tab, true); |
| + tree_updated_observer1.Wait(); |
| + ASSERT_TRUE(browser()->window()->IsFullscreen()); |
| + |
| + GURL url_with_fragment(url.spec() + "#fragment"); |
| + ui_test_utils::NavigateToURL(browser(), url_with_fragment); |
| + |
| + ASSERT_TRUE(browser()->window()->IsFullscreen()); |
|
scheib
2012/06/15 16:12:31
If fullscreen were to change, it likely wouldn't h
koz (OOO until 15th September)
2012/06/18 02:28:10
NavigateToURL() blocks until the navigation is com
|
| +} |
| + |
| #if defined(OS_MACOSX) |
| // http://crbug.com/100467 |
| IN_PROC_BROWSER_TEST_F( |
| FullscreenControllerTest, FAILS_TabEntersPresentationModeFromWindowed) { |
| ASSERT_TRUE(test_server()->Start()); |
| - AddTabAtIndex( |
| + AddTabAtIndexAndWait( |
| 0, GURL(chrome::kAboutBlankURL), content::PAGE_TRANSITION_TYPED); |
| WebContents* fullscreen_tab = browser()->GetActiveWebContents(); |