summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorscheib@chromium.org <scheib@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-09-07 18:01:26 +0000
committerscheib@chromium.org <scheib@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-09-07 18:01:26 +0000
commit0cefa87eafd2d36d8a47493415c38c15bd919997 (patch)
treed6a30701b31ce151548c9125016fb8a9a964408e
parente01df1c01fe19d37938bdbf7957334f91327c48e (diff)
downloadchromium_src-0cefa87eafd2d36d8a47493415c38c15bd919997.zip
chromium_src-0cefa87eafd2d36d8a47493415c38c15bd919997.tar.gz
chromium_src-0cefa87eafd2d36d8a47493415c38c15bd919997.tar.bz2
Move fullscreen_controller browser tests to interactive.
BUG=146665 Review URL: https://chromiumcodereview.appspot.com/10919113 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@155422 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/ui/browser.h1
-rw-r--r--chrome/browser/ui/fullscreen/fullscreen_controller_browsertest.cc401
-rw-r--r--chrome/browser/ui/fullscreen/fullscreen_controller_interactive_browsertest.cc478
-rw-r--r--chrome/browser/ui/fullscreen/fullscreen_controller_test.cc49
-rw-r--r--chrome/browser/ui/fullscreen/fullscreen_controller_test.h3
5 files changed, 475 insertions, 457 deletions
diff --git a/chrome/browser/ui/browser.h b/chrome/browser/ui/browser.h
index 12d5bb2..c19365b 100644
--- a/chrome/browser/ui/browser.h
+++ b/chrome/browser/ui/browser.h
@@ -482,6 +482,7 @@ class Browser : public TabStripModelObserver,
private:
friend class BrowserTest;
+ friend class FullscreenControllerInteractiveTest;
friend class FullscreenControllerTest;
FRIEND_TEST_ALL_PREFIXES(AppModeTest, EnableAppModeTest);
FRIEND_TEST_ALL_PREFIXES(BrowserTest, NoTabsInPopups);
diff --git a/chrome/browser/ui/fullscreen/fullscreen_controller_browsertest.cc b/chrome/browser/ui/fullscreen/fullscreen_controller_browsertest.cc
index 9bfa971..a154431 100644
--- a/chrome/browser/ui/fullscreen/fullscreen_controller_browsertest.cc
+++ b/chrome/browser/ui/fullscreen/fullscreen_controller_browsertest.cc
@@ -4,8 +4,6 @@
#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_commands.h"
#include "chrome/browser/ui/browser_tabstrip.h"
@@ -23,408 +21,9 @@
using content::WebContents;
-namespace {
-
-const FilePath::CharType* kSimpleFile = FILE_PATH_LITERAL("simple.html");
-
-} // namespace
-
class FullscreenControllerBrowserTest: public FullscreenControllerTest {
- protected:
- void TestFullscreenMouseLockContentSettings();
};
-#if defined(OS_MACOSX)
-// http://crbug.com/104265
-#define MAYBE_TestNewTabExitsFullscreen DISABLED_TestNewTabExitsFullscreen
-#elif defined(OS_LINUX)
-// http://crbug.com/137657
-#define MAYBE_TestNewTabExitsFullscreen DISABLED_TestNewTabExitsFullscreen
-#else
-#define MAYBE_TestNewTabExitsFullscreen TestNewTabExitsFullscreen
-#endif
-
-// Tests that while in fullscreen creating a new tab will exit fullscreen.
-IN_PROC_BROWSER_TEST_F(FullscreenControllerTest,
- MAYBE_TestNewTabExitsFullscreen) {
- ASSERT_TRUE(test_server()->Start());
-
- AddTabAtIndexAndWait(
- 0, GURL(chrome::kAboutBlankURL), content::PAGE_TRANSITION_TYPED);
-
- ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreen(true));
-
- {
- FullscreenNotificationObserver fullscreen_observer;
- AddTabAtIndexAndWait(
- 1, GURL(chrome::kAboutBlankURL), content::PAGE_TRANSITION_TYPED);
- fullscreen_observer.Wait();
- ASSERT_FALSE(browser()->window()->IsFullscreen());
- }
-}
-
-#if defined(OS_MACOSX)
-// http://crbug.com/100467
-#define MAYBE_TestTabExitsItselfFromFullscreen \
- FAILS_TestTabExitsItselfFromFullscreen
-#elif defined(OS_LINUX)
-// http://crbug.com/146008
-#define MAYBE_TestTabExitsItselfFromFullscreen \
- DISABLED_TestTabExitsItselfFromFullscreen
-#else
-#define MAYBE_TestTabExitsItselfFromFullscreen TestTabExitsItselfFromFullscreen
-#endif
-
-// Tests a tab exiting fullscreen will bring the browser out of fullscreen.
-IN_PROC_BROWSER_TEST_F(FullscreenControllerTest,
- MAYBE_TestTabExitsItselfFromFullscreen) {
- ASSERT_TRUE(test_server()->Start());
-
- AddTabAtIndexAndWait(
- 0, GURL(chrome::kAboutBlankURL), content::PAGE_TRANSITION_TYPED);
-
- ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreen(true));
- ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreen(false));
-}
-
-// Tests entering fullscreen and then requesting mouse lock results in
-// buttons for the user, and that after confirming the buttons are dismissed.
-#if defined(OS_LINUX)
-// http://crbug.com/146008
-#define MAYBE_TestFullscreenBubbleMouseLockState \
- DISABLED_TestFullscreenBubbleMouseLockState
-#else
-#define MAYBE_TestFullscreenBubbleMouseLockState \
- TestFullscreenBubbleMouseLockState
-#endif
-IN_PROC_BROWSER_TEST_F(FullscreenControllerTest,
- MAYBE_TestFullscreenBubbleMouseLockState) {
- ASSERT_TRUE(test_server()->Start());
-
- AddTabAtIndexAndWait(0, GURL(chrome::kAboutBlankURL),
- content::PAGE_TRANSITION_TYPED);
- AddTabAtIndexAndWait(1, GURL(chrome::kAboutBlankURL),
- content::PAGE_TRANSITION_TYPED);
-
- ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreen(true));
-
- // Request mouse lock and verify the bubble is waiting for user confirmation.
- RequestToLockMouse(true, false);
- ASSERT_TRUE(IsMouseLockPermissionRequested());
-
- // Accept mouse lock and verify bubble no longer shows confirmation buttons.
- AcceptCurrentFullscreenOrMouseLockRequest();
- ASSERT_FALSE(IsFullscreenBubbleDisplayingButtons());
-}
-
-// Helper method to be called by multiple tests.
-// Tests Fullscreen and Mouse Lock with varying content settings ALLOW & BLOCK.
-void FullscreenControllerBrowserTest::TestFullscreenMouseLockContentSettings() {
- GURL url = test_server()->GetURL("simple.html");
- AddTabAtIndexAndWait(0, url, content::PAGE_TRANSITION_TYPED);
-
- // Validate that going fullscreen for a URL defaults to asking permision.
- ASSERT_FALSE(IsFullscreenPermissionRequested());
- ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreen(true));
- ASSERT_TRUE(IsFullscreenPermissionRequested());
- ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreen(false));
-
- // Add content setting to ALLOW fullscreen.
- HostContentSettingsMap* settings_map =
- browser()->profile()->GetHostContentSettingsMap();
- ContentSettingsPattern pattern =
- ContentSettingsPattern::FromURL(url);
- settings_map->SetContentSetting(
- pattern, ContentSettingsPattern::Wildcard(),
- CONTENT_SETTINGS_TYPE_FULLSCREEN, std::string(),
- CONTENT_SETTING_ALLOW);
-
- // Now, fullscreen should not prompt for permission.
- ASSERT_FALSE(IsFullscreenPermissionRequested());
- ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreen(true));
- ASSERT_FALSE(IsFullscreenPermissionRequested());
-
- // Leaving tab in fullscreen, now test mouse lock ALLOW:
-
- // Validate that mouse lock defaults to asking permision.
- ASSERT_FALSE(IsMouseLockPermissionRequested());
- RequestToLockMouse(true, false);
- ASSERT_TRUE(IsMouseLockPermissionRequested());
- LostMouseLock();
-
- // Add content setting to ALLOW mouse lock.
- settings_map->SetContentSetting(
- pattern, ContentSettingsPattern::Wildcard(),
- CONTENT_SETTINGS_TYPE_MOUSELOCK, std::string(),
- CONTENT_SETTING_ALLOW);
-
- // Now, mouse lock should not prompt for permission.
- ASSERT_FALSE(IsMouseLockPermissionRequested());
- RequestToLockMouse(true, false);
- ASSERT_FALSE(IsMouseLockPermissionRequested());
- LostMouseLock();
-
- // Leaving tab in fullscreen, now test mouse lock BLOCK:
-
- // Add content setting to BLOCK mouse lock.
- settings_map->SetContentSetting(
- pattern, ContentSettingsPattern::Wildcard(),
- CONTENT_SETTINGS_TYPE_MOUSELOCK, std::string(),
- CONTENT_SETTING_BLOCK);
-
- // Now, mouse lock should not be pending.
- ASSERT_FALSE(IsMouseLockPermissionRequested());
- RequestToLockMouse(true, false);
- ASSERT_FALSE(IsMouseLockPermissionRequested());
-}
-
-#if defined(OS_MACOSX)
-// http://crbug.com/133831
-#define MAYBE_FullscreenMouseLockContentSettings \
- FLAKY_FullscreenMouseLockContentSettings
-#elif defined(OS_LINUX)
-// http://crbug.com/146008
-#define MAYBE_FullscreenMouseLockContentSettings \
- DISABLED_FullscreenMouseLockContentSettings
-#else
-#define MAYBE_FullscreenMouseLockContentSettings \
- FullscreenMouseLockContentSettings
-#endif
-// Tests fullscreen and Mouse Lock with varying content settings ALLOW & BLOCK.
-IN_PROC_BROWSER_TEST_F(FullscreenControllerBrowserTest,
- MAYBE_FullscreenMouseLockContentSettings) {
- TestFullscreenMouseLockContentSettings();
-}
-
-#if defined(OS_MACOSX) || defined(OS_LINUX)
-// http://crbug.com/103912 Mac
-// http://crbug.com/143930 Linux
-#define MAYBE_BrowserFullscreenMouseLockContentSettings \
- DISABLED_BrowserFullscreenMouseLockContentSettings
-#else
-#define MAYBE_BrowserFullscreenMouseLockContentSettings \
- BrowserFullscreenMouseLockContentSettings
-#endif
-// Tests fullscreen and Mouse Lock with varying content settings ALLOW & BLOCK,
-// but with the browser initiated in fullscreen mode first.
-IN_PROC_BROWSER_TEST_F(FullscreenControllerBrowserTest,
- MAYBE_BrowserFullscreenMouseLockContentSettings) {
- // Enter browser fullscreen first.
- ASSERT_NO_FATAL_FAILURE(ToggleBrowserFullscreen(true));
- TestFullscreenMouseLockContentSettings();
- ASSERT_NO_FATAL_FAILURE(ToggleBrowserFullscreen(false));
-}
-
-// Tests Fullscreen entered in Browser, then Tab mode, then exited via Browser.
-#if defined(OS_MACOSX)
-// http://crbug.com/103912
-#define MAYBE_BrowserFullscreenExit DISABLED_BrowserFullscreenExit
-#else
-#define MAYBE_BrowserFullscreenExit BrowserFullscreenExit
-#endif
-IN_PROC_BROWSER_TEST_F(FullscreenControllerTest, MAYBE_BrowserFullscreenExit) {
- // Enter browser fullscreen.
- ASSERT_NO_FATAL_FAILURE(ToggleBrowserFullscreen(true));
-
- // Enter tab fullscreen.
- AddTabAtIndexAndWait(0, GURL(chrome::kAboutBlankURL),
- content::PAGE_TRANSITION_TYPED);
- ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreen(true));
-
- // Exit browser fullscreen.
- ASSERT_NO_FATAL_FAILURE(ToggleBrowserFullscreen(false));
- ASSERT_FALSE(browser()->window()->IsFullscreen());
-}
-
-// Tests Browser Fullscreen remains active after Tab mode entered and exited.
-#if defined(OS_MACOSX)
-// http://crbug.com/103912
-#define MAYBE_BrowserFullscreenAfterTabFSExit \
- DISABLED_BrowserFullscreenAfterTabFSExit
-#elif defined(OS_LINUX)
-// http://crbug.com/146008
-#define MAYBE_BrowserFullscreenAfterTabFSExit \
- DISABLED_BrowserFullscreenAfterTabFSExit
-#else
-#define MAYBE_BrowserFullscreenAfterTabFSExit BrowserFullscreenAfterTabFSExit
-#endif
-IN_PROC_BROWSER_TEST_F(FullscreenControllerTest,
- MAYBE_BrowserFullscreenAfterTabFSExit) {
- // Enter browser fullscreen.
- ASSERT_NO_FATAL_FAILURE(ToggleBrowserFullscreen(true));
-
- // Enter and then exit tab fullscreen.
- AddTabAtIndexAndWait(0, GURL(chrome::kAboutBlankURL),
- content::PAGE_TRANSITION_TYPED);
- ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreen(true));
- ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreen(false));
-
- // Verify browser fullscreen still active.
- ASSERT_TRUE(IsFullscreenForBrowser());
-}
-
-// Tests fullscreen entered without permision prompt for file:// urls.
-#if defined(OS_LINUX)
-// http://crbug.com/146008
-#define MAYBE_FullscreenFileURL DISABLED_FullscreenFileURL
-#else
-#define MAYBE_FullscreenFileURL FullscreenFileURL
-#endif
-
-IN_PROC_BROWSER_TEST_F(FullscreenControllerTest, MAYBE_FullscreenFileURL) {
- ui_test_utils::NavigateToURL(browser(),
- ui_test_utils::GetTestUrl(FilePath(FilePath::kCurrentDirectory),
- FilePath(kSimpleFile)));
-
- // Validate that going fullscreen for a file does not ask permision.
- ASSERT_FALSE(IsFullscreenPermissionRequested());
- ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreen(true));
- ASSERT_FALSE(IsFullscreenPermissionRequested());
- ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreen(false));
-}
-
-// Tests fullscreen is exited on page navigation.
-// (Similar to mouse lock version in FullscreenControllerInteractiveTest)
-#if defined(OS_MACOSX)
-// http://crbug.com/103912
-#define MAYBE_TestTabExitsFullscreenOnNavigation \
- DISABLED_TestTabExitsFullscreenOnNavigation
-#else
-#define MAYBE_TestTabExitsFullscreenOnNavigation \
- TestTabExitsFullscreenOnNavigation
-#endif
-IN_PROC_BROWSER_TEST_F(FullscreenControllerTest,
- MAYBE_TestTabExitsFullscreenOnNavigation) {
- ASSERT_TRUE(test_server()->Start());
-
- ui_test_utils::NavigateToURL(browser(), GURL("about:blank"));
- ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreen(true));
- ui_test_utils::NavigateToURL(browser(), GURL("chrome://newtab"));
-
- ASSERT_FALSE(browser()->window()->IsFullscreen());
-}
-
-// Tests fullscreen is exited when navigating back.
-// (Similar to mouse lock version in FullscreenControllerInteractiveTest)
-#if defined(OS_MACOSX)
-// http://crbug.com/103912
-#define MAYBE_TestTabExitsFullscreenOnGoBack \
- DISABLED_TestTabExitsFullscreenOnGoBack
-#elif defined(OS_LINUX)
-// http://crbug.com/146008
-#define MAYBE_TestTabExitsFullscreenOnGoBack \
- DISABLED_TestTabExitsFullscreenOnGoBack
-#else
-#define MAYBE_TestTabExitsFullscreenOnGoBack TestTabExitsFullscreenOnGoBack
-#endif
-IN_PROC_BROWSER_TEST_F(FullscreenControllerTest,
- MAYBE_TestTabExitsFullscreenOnGoBack) {
- ASSERT_TRUE(test_server()->Start());
-
- ui_test_utils::NavigateToURL(browser(), GURL("about:blank"));
- ui_test_utils::NavigateToURL(browser(), GURL("chrome://newtab"));
-
- ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreen(true));
-
- GoBack();
-
- ASSERT_FALSE(browser()->window()->IsFullscreen());
-}
-
-// Tests fullscreen is not exited on sub frame navigation.
-// (Similar to mouse lock version in FullscreenControllerInteractiveTest)
-#if defined(OS_LINUX)
-// http://crbug.com/146008
-#define MAYBE_TestTabDoesntExitFullscreenOnSubFrameNavigation \
- DISABLED_TestTabDoesntExitFullscreenOnSubFrameNavigation
-#else
-#define MAYBE_TestTabDoesntExitFullscreenOnSubFrameNavigation \
- TestTabDoesntExitFullscreenOnSubFrameNavigation
-#endif
-IN_PROC_BROWSER_TEST_F(FullscreenControllerTest,
- MAYBE_TestTabDoesntExitFullscreenOnSubFrameNavigation) {
- ASSERT_TRUE(test_server()->Start());
-
- GURL url(ui_test_utils::GetTestUrl(FilePath(FilePath::kCurrentDirectory),
- FilePath(kSimpleFile)));
- GURL url_with_fragment(url.spec() + "#fragment");
-
- ui_test_utils::NavigateToURL(browser(), url);
- ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreen(true));
- ui_test_utils::NavigateToURL(browser(), url_with_fragment);
- ASSERT_TRUE(IsFullscreenForTabOrPending());
-}
-
-// Tests tab fullscreen exits, but browser fullscreen remains, on navigation.
-#if defined(OS_MACOSX)
-// http://crbug.com/103912
-#define MAYBE_TestFullscreenFromTabWhenAlreadyInBrowserFullscreenWorks \
- DISABLED_TestFullscreenFromTabWhenAlreadyInBrowserFullscreenWorks
-#elif defined(OS_LINUX)
-// http://crbug.com/146008
-#define MAYBE_TestFullscreenFromTabWhenAlreadyInBrowserFullscreenWorks \
- DISABLED_TestFullscreenFromTabWhenAlreadyInBrowserFullscreenWorks
-#else
-#define MAYBE_TestFullscreenFromTabWhenAlreadyInBrowserFullscreenWorks \
- TestFullscreenFromTabWhenAlreadyInBrowserFullscreenWorks
-#endif
-IN_PROC_BROWSER_TEST_F(FullscreenControllerTest,
- MAYBE_TestFullscreenFromTabWhenAlreadyInBrowserFullscreenWorks) {
- ASSERT_TRUE(test_server()->Start());
-
- ui_test_utils::NavigateToURL(browser(), GURL("about:blank"));
- ui_test_utils::NavigateToURL(browser(), GURL("chrome://newtab"));
-
- ASSERT_NO_FATAL_FAILURE(ToggleBrowserFullscreen(true));
- ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreen(true));
-
- GoBack();
-
- ASSERT_TRUE(IsFullscreenForBrowser());
- ASSERT_FALSE(IsFullscreenForTabOrPending());
-}
-
-#if defined(OS_MACOSX)
-// http://crbug.com/100467
-IN_PROC_BROWSER_TEST_F(
- FullscreenControllerTest, FAILS_TabEntersPresentationModeFromWindowed) {
- ASSERT_TRUE(test_server()->Start());
-
- AddTabAtIndexAndWait(
- 0, GURL(chrome::kAboutBlankURL), content::PAGE_TRANSITION_TYPED);
-
- WebContents* tab = chrome::GetActiveWebContents(browser());
-
- {
- FullscreenNotificationObserver fullscreen_observer;
- EXPECT_FALSE(browser()->window()->IsFullscreen());
- EXPECT_FALSE(browser()->window()->InPresentationMode());
- browser()->ToggleFullscreenModeForTab(tab, true);
- fullscreen_observer.Wait();
- ASSERT_TRUE(browser()->window()->IsFullscreen());
- ASSERT_TRUE(browser()->window()->InPresentationMode());
- }
-
- {
- FullscreenNotificationObserver fullscreen_observer;
- browser()->TogglePresentationMode();
- fullscreen_observer.Wait();
- ASSERT_FALSE(browser()->window()->IsFullscreen());
- ASSERT_FALSE(browser()->window()->InPresentationMode());
- }
-
- if (base::mac::IsOSLionOrLater()) {
- // Test that tab fullscreen mode doesn't make presentation mode the default
- // on Lion.
- FullscreenNotificationObserver fullscreen_observer;
- chrome::ToggleFullscreenMode(browser());
- fullscreen_observer.Wait();
- ASSERT_TRUE(browser()->window()->IsFullscreen());
- ASSERT_FALSE(browser()->window()->InPresentationMode());
- }
-}
-#endif
-
IN_PROC_BROWSER_TEST_F(FullscreenControllerTest,
PendingMouseLockExitsOnTabSwitch) {
AddTabAtIndexAndWait(0, GURL(chrome::kAboutBlankURL),
diff --git a/chrome/browser/ui/fullscreen/fullscreen_controller_interactive_browsertest.cc b/chrome/browser/ui/fullscreen/fullscreen_controller_interactive_browsertest.cc
index bac8b9a..54c307c 100644
--- a/chrome/browser/ui/fullscreen/fullscreen_controller_interactive_browsertest.cc
+++ b/chrome/browser/ui/fullscreen/fullscreen_controller_interactive_browsertest.cc
@@ -2,7 +2,11 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+#include "build/build_config.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_commands.h"
#include "chrome/browser/ui/browser_tabstrip.h"
#include "chrome/browser/ui/browser_window.h"
#include "chrome/browser/ui/fullscreen/fullscreen_controller_test.h"
@@ -10,12 +14,30 @@
#include "content/public/browser/render_view_host.h"
#include "content/public/browser/render_widget_host_view.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"
+#endif
using content::WebContents;
+namespace {
+
+const FilePath::CharType* kSimpleFile = FILE_PATH_LITERAL("simple.html");
+
+} // namespace
+
class FullscreenControllerInteractiveTest
: public FullscreenControllerTest {
protected:
+
+ // Tests that actually make the browser fullscreen have been flaky when
+ // run sharded, and so are restricted here to interactive ui tests.
+ void ToggleTabFullscreen(bool enter_fullscreen);
+ void ToggleTabFullscreenNoRetries(bool enter_fullscreen);
+ void ToggleBrowserFullscreen(bool enter_fullscreen);
+
// IsMouseLocked verifies that the FullscreenController state believes
// the mouse is locked. This is possible only for tests that initiate
// mouse lock from a renderer process, and uses logic that tests that the
@@ -29,8 +51,459 @@ class FullscreenControllerInteractiveTest
GetRenderViewHost()->GetView()->IsMouseLocked());
return browser()->IsMouseLocked();
}
+
+ void TestFullscreenMouseLockContentSettings();
+
+ private:
+ void ToggleTabFullscreen_Internal(bool enter_fullscreen,
+ bool retry_until_success);
};
+void FullscreenControllerInteractiveTest::ToggleTabFullscreen(
+ bool enter_fullscreen) {
+ ToggleTabFullscreen_Internal(enter_fullscreen, true);
+}
+
+// |ToggleTabFullscreen| should not need to tolerate the transition failing.
+// Most fullscreen tests run sharded in fullscreen_controller_browsertest.cc
+// and some flakiness has occurred when calling |ToggleTabFullscreen|, so that
+// method has been made robust by retrying if the transition fails.
+// The root cause of that flakiness should still be tracked down, see
+// http://crbug.com/133831. In the mean time, this method
+// allows a fullscreen_controller_interactive_browsertest.cc test to verify
+// that when running serially there is no flakiness in the transition.
+void FullscreenControllerInteractiveTest::ToggleTabFullscreenNoRetries(
+ bool enter_fullscreen) {
+ ToggleTabFullscreen_Internal(enter_fullscreen, false);
+}
+
+void FullscreenControllerInteractiveTest::ToggleBrowserFullscreen(
+ bool enter_fullscreen) {
+ ASSERT_EQ(browser()->window()->IsFullscreen(), !enter_fullscreen);
+ FullscreenNotificationObserver fullscreen_observer;
+
+ chrome::ToggleFullscreenMode(browser());
+
+ fullscreen_observer.Wait();
+ ASSERT_EQ(browser()->window()->IsFullscreen(), enter_fullscreen);
+ ASSERT_EQ(IsFullscreenForBrowser(), enter_fullscreen);
+}
+
+// Helper method to be called by multiple tests.
+// Tests Fullscreen and Mouse Lock with varying content settings ALLOW & BLOCK.
+void
+FullscreenControllerInteractiveTest::TestFullscreenMouseLockContentSettings() {
+ GURL url = test_server()->GetURL("simple.html");
+ AddTabAtIndexAndWait(0, url, content::PAGE_TRANSITION_TYPED);
+
+ // Validate that going fullscreen for a URL defaults to asking permision.
+ ASSERT_FALSE(IsFullscreenPermissionRequested());
+ ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreen(true));
+ ASSERT_TRUE(IsFullscreenPermissionRequested());
+ ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreen(false));
+
+ // Add content setting to ALLOW fullscreen.
+ HostContentSettingsMap* settings_map =
+ browser()->profile()->GetHostContentSettingsMap();
+ ContentSettingsPattern pattern =
+ ContentSettingsPattern::FromURL(url);
+ settings_map->SetContentSetting(
+ pattern, ContentSettingsPattern::Wildcard(),
+ CONTENT_SETTINGS_TYPE_FULLSCREEN, std::string(),
+ CONTENT_SETTING_ALLOW);
+
+ // Now, fullscreen should not prompt for permission.
+ ASSERT_FALSE(IsFullscreenPermissionRequested());
+ ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreen(true));
+ ASSERT_FALSE(IsFullscreenPermissionRequested());
+
+ // Leaving tab in fullscreen, now test mouse lock ALLOW:
+
+ // Validate that mouse lock defaults to asking permision.
+ ASSERT_FALSE(IsMouseLockPermissionRequested());
+ RequestToLockMouse(true, false);
+ ASSERT_TRUE(IsMouseLockPermissionRequested());
+ LostMouseLock();
+
+ // Add content setting to ALLOW mouse lock.
+ settings_map->SetContentSetting(
+ pattern, ContentSettingsPattern::Wildcard(),
+ CONTENT_SETTINGS_TYPE_MOUSELOCK, std::string(),
+ CONTENT_SETTING_ALLOW);
+
+ // Now, mouse lock should not prompt for permission.
+ ASSERT_FALSE(IsMouseLockPermissionRequested());
+ RequestToLockMouse(true, false);
+ ASSERT_FALSE(IsMouseLockPermissionRequested());
+ LostMouseLock();
+
+ // Leaving tab in fullscreen, now test mouse lock BLOCK:
+
+ // Add content setting to BLOCK mouse lock.
+ settings_map->SetContentSetting(
+ pattern, ContentSettingsPattern::Wildcard(),
+ CONTENT_SETTINGS_TYPE_MOUSELOCK, std::string(),
+ CONTENT_SETTING_BLOCK);
+
+ // Now, mouse lock should not be pending.
+ ASSERT_FALSE(IsMouseLockPermissionRequested());
+ RequestToLockMouse(true, false);
+ ASSERT_FALSE(IsMouseLockPermissionRequested());
+}
+
+void FullscreenControllerInteractiveTest::ToggleTabFullscreen_Internal(
+ bool enter_fullscreen, bool retry_until_success) {
+ WebContents* tab = chrome::GetActiveWebContents(browser());
+ if (IsFullscreenForBrowser()) {
+ // Changing tab fullscreen state will not actually change the window
+ // when browser fullscreen is in effect.
+ browser()->ToggleFullscreenModeForTab(tab, enter_fullscreen);
+ } else { // Not in browser fullscreen, expect window to actually change.
+ ASSERT_NE(browser()->window()->IsFullscreen(), enter_fullscreen);
+ do {
+ FullscreenNotificationObserver fullscreen_observer;
+ browser()->ToggleFullscreenModeForTab(tab, enter_fullscreen);
+ fullscreen_observer.Wait();
+ // Repeat ToggleFullscreenModeForTab until the correct state is entered.
+ // This addresses flakiness on test bots running many fullscreen
+ // tests in parallel.
+ } while (retry_until_success &&
+ browser()->window()->IsFullscreen() != enter_fullscreen);
+ ASSERT_EQ(browser()->window()->IsFullscreen(), enter_fullscreen);
+ }
+}
+
+// Tests ///////////////////////////////////////////////////////////////////////
+
+#if defined(OS_MACOSX)
+// http://crbug.com/104265
+#define MAYBE_TestNewTabExitsFullscreen DISABLED_TestNewTabExitsFullscreen
+#elif defined(OS_LINUX)
+// http://crbug.com/137657
+#define MAYBE_TestNewTabExitsFullscreen DISABLED_TestNewTabExitsFullscreen
+#else
+#define MAYBE_TestNewTabExitsFullscreen TestNewTabExitsFullscreen
+#endif
+
+// Tests that while in fullscreen creating a new tab will exit fullscreen.
+IN_PROC_BROWSER_TEST_F(FullscreenControllerInteractiveTest,
+ MAYBE_TestNewTabExitsFullscreen) {
+ ASSERT_TRUE(test_server()->Start());
+
+ AddTabAtIndexAndWait(
+ 0, GURL(chrome::kAboutBlankURL), content::PAGE_TRANSITION_TYPED);
+
+ ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreen(true));
+
+ {
+ FullscreenNotificationObserver fullscreen_observer;
+ AddTabAtIndexAndWait(
+ 1, GURL(chrome::kAboutBlankURL), content::PAGE_TRANSITION_TYPED);
+ fullscreen_observer.Wait();
+ ASSERT_FALSE(browser()->window()->IsFullscreen());
+ }
+}
+
+#if defined(OS_MACOSX)
+// http://crbug.com/100467
+#define MAYBE_TestTabExitsItselfFromFullscreen \
+ FAILS_TestTabExitsItselfFromFullscreen
+#elif defined(OS_LINUX)
+// http://crbug.com/146008
+#define MAYBE_TestTabExitsItselfFromFullscreen \
+ DISABLED_TestTabExitsItselfFromFullscreen
+#else
+#define MAYBE_TestTabExitsItselfFromFullscreen TestTabExitsItselfFromFullscreen
+#endif
+
+// Tests a tab exiting fullscreen will bring the browser out of fullscreen.
+IN_PROC_BROWSER_TEST_F(FullscreenControllerInteractiveTest,
+ MAYBE_TestTabExitsItselfFromFullscreen) {
+ ASSERT_TRUE(test_server()->Start());
+
+ AddTabAtIndexAndWait(
+ 0, GURL(chrome::kAboutBlankURL), content::PAGE_TRANSITION_TYPED);
+
+ ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreen(true));
+ ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreen(false));
+}
+
+// Tests entering fullscreen and then requesting mouse lock results in
+// buttons for the user, and that after confirming the buttons are dismissed.
+#if defined(OS_LINUX)
+// http://crbug.com/146008
+#define MAYBE_TestFullscreenBubbleMouseLockState \
+ DISABLED_TestFullscreenBubbleMouseLockState
+#else
+#define MAYBE_TestFullscreenBubbleMouseLockState \
+ TestFullscreenBubbleMouseLockState
+#endif
+IN_PROC_BROWSER_TEST_F(FullscreenControllerInteractiveTest,
+ MAYBE_TestFullscreenBubbleMouseLockState) {
+ ASSERT_TRUE(test_server()->Start());
+
+ AddTabAtIndexAndWait(0, GURL(chrome::kAboutBlankURL),
+ content::PAGE_TRANSITION_TYPED);
+ AddTabAtIndexAndWait(1, GURL(chrome::kAboutBlankURL),
+ content::PAGE_TRANSITION_TYPED);
+
+ ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreen(true));
+
+ // Request mouse lock and verify the bubble is waiting for user confirmation.
+ RequestToLockMouse(true, false);
+ ASSERT_TRUE(IsMouseLockPermissionRequested());
+
+ // Accept mouse lock and verify bubble no longer shows confirmation buttons.
+ AcceptCurrentFullscreenOrMouseLockRequest();
+ ASSERT_FALSE(IsFullscreenBubbleDisplayingButtons());
+}
+
+#if defined(OS_MACOSX)
+// http://crbug.com/133831
+#define MAYBE_FullscreenMouseLockContentSettings \
+ FLAKY_FullscreenMouseLockContentSettings
+#elif defined(OS_LINUX)
+// http://crbug.com/146008
+#define MAYBE_FullscreenMouseLockContentSettings \
+ DISABLED_FullscreenMouseLockContentSettings
+#else
+#define MAYBE_FullscreenMouseLockContentSettings \
+ FullscreenMouseLockContentSettings
+#endif
+// Tests fullscreen and Mouse Lock with varying content settings ALLOW & BLOCK.
+IN_PROC_BROWSER_TEST_F(FullscreenControllerInteractiveTest,
+ MAYBE_FullscreenMouseLockContentSettings) {
+ TestFullscreenMouseLockContentSettings();
+}
+
+#if defined(OS_MACOSX) || defined(OS_LINUX)
+// http://crbug.com/103912 Mac
+// http://crbug.com/143930 Linux
+#define MAYBE_BrowserFullscreenMouseLockContentSettings \
+ DISABLED_BrowserFullscreenMouseLockContentSettings
+#else
+#define MAYBE_BrowserFullscreenMouseLockContentSettings \
+ BrowserFullscreenMouseLockContentSettings
+#endif
+// Tests fullscreen and Mouse Lock with varying content settings ALLOW & BLOCK,
+// but with the browser initiated in fullscreen mode first.
+IN_PROC_BROWSER_TEST_F(FullscreenControllerInteractiveTest,
+ MAYBE_BrowserFullscreenMouseLockContentSettings) {
+ // Enter browser fullscreen first.
+ ASSERT_NO_FATAL_FAILURE(ToggleBrowserFullscreen(true));
+ TestFullscreenMouseLockContentSettings();
+ ASSERT_NO_FATAL_FAILURE(ToggleBrowserFullscreen(false));
+}
+
+// Tests Fullscreen entered in Browser, then Tab mode, then exited via Browser.
+#if defined(OS_MACOSX)
+// http://crbug.com/103912
+#define MAYBE_BrowserFullscreenExit DISABLED_BrowserFullscreenExit
+#else
+#define MAYBE_BrowserFullscreenExit BrowserFullscreenExit
+#endif
+IN_PROC_BROWSER_TEST_F(FullscreenControllerInteractiveTest,
+ MAYBE_BrowserFullscreenExit) {
+ // Enter browser fullscreen.
+ ASSERT_NO_FATAL_FAILURE(ToggleBrowserFullscreen(true));
+
+ // Enter tab fullscreen.
+ AddTabAtIndexAndWait(0, GURL(chrome::kAboutBlankURL),
+ content::PAGE_TRANSITION_TYPED);
+ ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreen(true));
+
+ // Exit browser fullscreen.
+ ASSERT_NO_FATAL_FAILURE(ToggleBrowserFullscreen(false));
+ ASSERT_FALSE(browser()->window()->IsFullscreen());
+}
+
+// Tests Browser Fullscreen remains active after Tab mode entered and exited.
+#if defined(OS_MACOSX)
+// http://crbug.com/103912
+#define MAYBE_BrowserFullscreenAfterTabFSExit \
+ DISABLED_BrowserFullscreenAfterTabFSExit
+#elif defined(OS_LINUX)
+// http://crbug.com/146008
+#define MAYBE_BrowserFullscreenAfterTabFSExit \
+ DISABLED_BrowserFullscreenAfterTabFSExit
+#else
+#define MAYBE_BrowserFullscreenAfterTabFSExit BrowserFullscreenAfterTabFSExit
+#endif
+IN_PROC_BROWSER_TEST_F(FullscreenControllerInteractiveTest,
+ MAYBE_BrowserFullscreenAfterTabFSExit) {
+ // Enter browser fullscreen.
+ ASSERT_NO_FATAL_FAILURE(ToggleBrowserFullscreen(true));
+
+ // Enter and then exit tab fullscreen.
+ AddTabAtIndexAndWait(0, GURL(chrome::kAboutBlankURL),
+ content::PAGE_TRANSITION_TYPED);
+ ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreen(true));
+ ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreen(false));
+
+ // Verify browser fullscreen still active.
+ ASSERT_TRUE(IsFullscreenForBrowser());
+}
+
+// Tests fullscreen entered without permision prompt for file:// urls.
+#if defined(OS_LINUX)
+// http://crbug.com/146008
+#define MAYBE_FullscreenFileURL DISABLED_FullscreenFileURL
+#else
+#define MAYBE_FullscreenFileURL FullscreenFileURL
+#endif
+
+IN_PROC_BROWSER_TEST_F(FullscreenControllerInteractiveTest,
+ MAYBE_FullscreenFileURL) {
+ ui_test_utils::NavigateToURL(browser(),
+ ui_test_utils::GetTestUrl(FilePath(FilePath::kCurrentDirectory),
+ FilePath(kSimpleFile)));
+
+ // Validate that going fullscreen for a file does not ask permision.
+ ASSERT_FALSE(IsFullscreenPermissionRequested());
+ ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreen(true));
+ ASSERT_FALSE(IsFullscreenPermissionRequested());
+ ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreen(false));
+}
+
+// Tests fullscreen is exited on page navigation.
+#if defined(OS_MACOSX)
+// http://crbug.com/103912
+#define MAYBE_TestTabExitsFullscreenOnNavigation \
+ DISABLED_TestTabExitsFullscreenOnNavigation
+#else
+#define MAYBE_TestTabExitsFullscreenOnNavigation \
+ TestTabExitsFullscreenOnNavigation
+#endif
+IN_PROC_BROWSER_TEST_F(FullscreenControllerInteractiveTest,
+ MAYBE_TestTabExitsFullscreenOnNavigation) {
+ ASSERT_TRUE(test_server()->Start());
+
+ ui_test_utils::NavigateToURL(browser(), GURL("about:blank"));
+ ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreen(true));
+ ui_test_utils::NavigateToURL(browser(), GURL("chrome://newtab"));
+
+ ASSERT_FALSE(browser()->window()->IsFullscreen());
+}
+
+// Tests fullscreen is exited when navigating back.
+#if defined(OS_MACOSX)
+// http://crbug.com/103912
+#define MAYBE_TestTabExitsFullscreenOnGoBack \
+ DISABLED_TestTabExitsFullscreenOnGoBack
+#elif defined(OS_LINUX)
+// http://crbug.com/146008
+#define MAYBE_TestTabExitsFullscreenOnGoBack \
+ DISABLED_TestTabExitsFullscreenOnGoBack
+#else
+#define MAYBE_TestTabExitsFullscreenOnGoBack TestTabExitsFullscreenOnGoBack
+#endif
+IN_PROC_BROWSER_TEST_F(FullscreenControllerInteractiveTest,
+ MAYBE_TestTabExitsFullscreenOnGoBack) {
+ ASSERT_TRUE(test_server()->Start());
+
+ ui_test_utils::NavigateToURL(browser(), GURL("about:blank"));
+ ui_test_utils::NavigateToURL(browser(), GURL("chrome://newtab"));
+
+ ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreen(true));
+
+ GoBack();
+
+ ASSERT_FALSE(browser()->window()->IsFullscreen());
+}
+
+// Tests fullscreen is not exited on sub frame navigation.
+#if defined(OS_LINUX)
+// http://crbug.com/146008
+#define MAYBE_TestTabDoesntExitFullscreenOnSubFrameNavigation \
+ DISABLED_TestTabDoesntExitFullscreenOnSubFrameNavigation
+#else
+#define MAYBE_TestTabDoesntExitFullscreenOnSubFrameNavigation \
+ TestTabDoesntExitFullscreenOnSubFrameNavigation
+#endif
+IN_PROC_BROWSER_TEST_F(FullscreenControllerInteractiveTest,
+ MAYBE_TestTabDoesntExitFullscreenOnSubFrameNavigation) {
+ ASSERT_TRUE(test_server()->Start());
+
+ GURL url(ui_test_utils::GetTestUrl(FilePath(FilePath::kCurrentDirectory),
+ FilePath(kSimpleFile)));
+ GURL url_with_fragment(url.spec() + "#fragment");
+
+ ui_test_utils::NavigateToURL(browser(), url);
+ ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreen(true));
+ ui_test_utils::NavigateToURL(browser(), url_with_fragment);
+ ASSERT_TRUE(IsFullscreenForTabOrPending());
+}
+
+// Tests tab fullscreen exits, but browser fullscreen remains, on navigation.
+#if defined(OS_MACOSX)
+// http://crbug.com/103912
+#define MAYBE_TestFullscreenFromTabWhenAlreadyInBrowserFullscreenWorks \
+ DISABLED_TestFullscreenFromTabWhenAlreadyInBrowserFullscreenWorks
+#elif defined(OS_LINUX)
+// http://crbug.com/146008
+#define MAYBE_TestFullscreenFromTabWhenAlreadyInBrowserFullscreenWorks \
+ DISABLED_TestFullscreenFromTabWhenAlreadyInBrowserFullscreenWorks
+#else
+#define MAYBE_TestFullscreenFromTabWhenAlreadyInBrowserFullscreenWorks \
+ TestFullscreenFromTabWhenAlreadyInBrowserFullscreenWorks
+#endif
+IN_PROC_BROWSER_TEST_F(FullscreenControllerInteractiveTest,
+ MAYBE_TestFullscreenFromTabWhenAlreadyInBrowserFullscreenWorks) {
+ ASSERT_TRUE(test_server()->Start());
+
+ ui_test_utils::NavigateToURL(browser(), GURL("about:blank"));
+ ui_test_utils::NavigateToURL(browser(), GURL("chrome://newtab"));
+
+ ASSERT_NO_FATAL_FAILURE(ToggleBrowserFullscreen(true));
+ ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreen(true));
+
+ GoBack();
+
+ ASSERT_TRUE(IsFullscreenForBrowser());
+ ASSERT_FALSE(IsFullscreenForTabOrPending());
+}
+
+#if defined(OS_MACOSX)
+// http://crbug.com/100467
+IN_PROC_BROWSER_TEST_F(
+ FullscreenControllerTest, FAILS_TabEntersPresentationModeFromWindowed) {
+ ASSERT_TRUE(test_server()->Start());
+
+ AddTabAtIndexAndWait(
+ 0, GURL(chrome::kAboutBlankURL), content::PAGE_TRANSITION_TYPED);
+
+ WebContents* tab = chrome::GetActiveWebContents(browser());
+
+ {
+ FullscreenNotificationObserver fullscreen_observer;
+ EXPECT_FALSE(browser()->window()->IsFullscreen());
+ EXPECT_FALSE(browser()->window()->InPresentationMode());
+ browser()->ToggleFullscreenModeForTab(tab, true);
+ fullscreen_observer.Wait();
+ ASSERT_TRUE(browser()->window()->IsFullscreen());
+ ASSERT_TRUE(browser()->window()->InPresentationMode());
+ }
+
+ {
+ FullscreenNotificationObserver fullscreen_observer;
+ browser()->TogglePresentationMode();
+ fullscreen_observer.Wait();
+ ASSERT_FALSE(browser()->window()->IsFullscreen());
+ ASSERT_FALSE(browser()->window()->InPresentationMode());
+ }
+
+ if (base::mac::IsOSLionOrLater()) {
+ // Test that tab fullscreen mode doesn't make presentation mode the default
+ // on Lion.
+ FullscreenNotificationObserver fullscreen_observer;
+ chrome::ToggleFullscreenMode(browser());
+ fullscreen_observer.Wait();
+ ASSERT_TRUE(browser()->window()->IsFullscreen());
+ ASSERT_FALSE(browser()->window()->InPresentationMode());
+ }
+}
+#endif
+
// Tests mouse lock can be escaped with ESC key.
IN_PROC_BROWSER_TEST_F(FullscreenControllerInteractiveTest, EscapingMouseLock) {
ASSERT_TRUE(test_server()->Start());
@@ -337,7 +810,6 @@ IN_PROC_BROWSER_TEST_F(FullscreenControllerInteractiveTest,
}
// Tests mouse lock is exited on page navigation.
-// (Similar to fullscreen version in FullscreenControllerTest)
IN_PROC_BROWSER_TEST_F(FullscreenControllerInteractiveTest,
TestTabExitsMouseLockOnNavigation) {
ASSERT_TRUE(test_server()->Start());
@@ -363,7 +835,6 @@ IN_PROC_BROWSER_TEST_F(FullscreenControllerInteractiveTest,
}
// Tests mouse lock is exited when navigating back.
-// (Similar to fullscreen version in FullscreenControllerTest)
IN_PROC_BROWSER_TEST_F(FullscreenControllerInteractiveTest,
TestTabExitsMouseLockOnGoBack) {
ASSERT_TRUE(test_server()->Start());
@@ -392,7 +863,6 @@ IN_PROC_BROWSER_TEST_F(FullscreenControllerInteractiveTest,
}
// Tests mouse lock is not exited on sub frame navigation.
-// (Similar to fullscreen version in FullscreenControllerTest)
IN_PROC_BROWSER_TEST_F(FullscreenControllerInteractiveTest,
TestTabDoesntExitMouseLockOnSubFrameNavigation) {
ASSERT_TRUE(test_server()->Start());
@@ -508,7 +978,7 @@ IN_PROC_BROWSER_TEST_F(FullscreenControllerInteractiveTest,
// FullscreenControllerTest::ToggleTabFullscreen. This test verifies that
// when running serially there is no flakiness.
// This test reproduces the same flow as
- // FullscreenControllerBrowserTest::TestFullscreenMouseLockContentSettings.
+ // TestFullscreenMouseLockContentSettings.
// http://crbug.com/133831
GURL url = test_server()->GetURL("simple.html");
diff --git a/chrome/browser/ui/fullscreen/fullscreen_controller_test.cc b/chrome/browser/ui/fullscreen/fullscreen_controller_test.cc
index 4ad110f..cdc4631 100644
--- a/chrome/browser/ui/fullscreen/fullscreen_controller_test.cc
+++ b/chrome/browser/ui/fullscreen/fullscreen_controller_test.cc
@@ -23,34 +23,6 @@ void FullscreenControllerTest::SetUpCommandLine(CommandLine* command_line) {
command_line->AppendSwitch(switches::kEnablePointerLock);
}
-void FullscreenControllerTest::ToggleTabFullscreen(bool enter_fullscreen) {
- ToggleTabFullscreen_Internal(enter_fullscreen, true);
-}
-
-// |ToggleTabFullscreen| should not need to tolerate the transition failing.
-// Most fullscreen tests run sharded in fullscreen_controller_browsertest.cc
-// and some flakiness has occurred when calling |ToggleTabFullscreen|, so that
-// method has been made robust by retrying if the transition fails.
-// The root cause of that flakiness should still be tracked down, see
-// http://crbug.com/133831. In the mean time, this method
-// allows a fullscreen_controller_interactive_browsertest.cc test to verify
-// that when running serially there is no flakiness in the transition.
-void FullscreenControllerTest::ToggleTabFullscreenNoRetries(
- bool enter_fullscreen) {
- ToggleTabFullscreen_Internal(enter_fullscreen, false);
-}
-
-void FullscreenControllerTest::ToggleBrowserFullscreen(bool enter_fullscreen) {
- ASSERT_EQ(browser()->window()->IsFullscreen(), !enter_fullscreen);
- FullscreenNotificationObserver fullscreen_observer;
-
- chrome::ToggleFullscreenMode(browser());
-
- fullscreen_observer.Wait();
- ASSERT_EQ(browser()->window()->IsFullscreen(), enter_fullscreen);
- ASSERT_EQ(IsFullscreenForBrowser(), enter_fullscreen);
-}
-
void FullscreenControllerTest::RequestToLockMouse(
bool user_gesture,
bool last_unlocked_by_target) {
@@ -150,24 +122,3 @@ void FullscreenControllerTest::Reload() {
observer.Wait();
}
-void FullscreenControllerTest::ToggleTabFullscreen_Internal(
- bool enter_fullscreen, bool retry_until_success) {
- WebContents* tab = chrome::GetActiveWebContents(browser());
- if (IsFullscreenForBrowser()) {
- // Changing tab fullscreen state will not actually change the window
- // when browser fullscreen is in effect.
- browser()->ToggleFullscreenModeForTab(tab, enter_fullscreen);
- } else { // Not in browser fullscreen, expect window to actually change.
- ASSERT_NE(browser()->window()->IsFullscreen(), enter_fullscreen);
- do {
- FullscreenNotificationObserver fullscreen_observer;
- browser()->ToggleFullscreenModeForTab(tab, enter_fullscreen);
- fullscreen_observer.Wait();
- // Repeat ToggleFullscreenModeForTab until the correct state is entered.
- // This addresses flakiness on test bots running many fullscreen
- // tests in parallel.
- } while (retry_until_success &&
- browser()->window()->IsFullscreen() != enter_fullscreen);
- ASSERT_EQ(browser()->window()->IsFullscreen(), enter_fullscreen);
- }
-}
diff --git a/chrome/browser/ui/fullscreen/fullscreen_controller_test.h b/chrome/browser/ui/fullscreen/fullscreen_controller_test.h
index 08a3a40..baaea67 100644
--- a/chrome/browser/ui/fullscreen/fullscreen_controller_test.h
+++ b/chrome/browser/ui/fullscreen/fullscreen_controller_test.h
@@ -39,9 +39,6 @@ class FullscreenControllerTest : public InProcessBrowserTest {
FullscreenControllerTest() {}
virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE;
- void ToggleTabFullscreen(bool enter_fullscreen);
- void ToggleTabFullscreenNoRetries(bool enter_fullscreen);
- void ToggleBrowserFullscreen(bool enter_fullscreen);
void RequestToLockMouse(bool user_gesture,
bool last_unlocked_by_target);
void LostMouseLock();