diff options
Diffstat (limited to 'chrome/browser/ui/fullscreen/fullscreen_controller_test.h')
-rw-r--r-- | chrome/browser/ui/fullscreen/fullscreen_controller_test.h | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/chrome/browser/ui/fullscreen/fullscreen_controller_test.h b/chrome/browser/ui/fullscreen/fullscreen_controller_test.h new file mode 100644 index 0000000..83e80a8 --- /dev/null +++ b/chrome/browser/ui/fullscreen/fullscreen_controller_test.h @@ -0,0 +1,69 @@ +// Copyright (c) 2012 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef CHROME_BROWSER_UI_FULLSCREEN_FULLSCREEN_CONTROLLER_TEST_H_ +#define CHROME_BROWSER_UI_FULLSCREEN_FULLSCREEN_CONTROLLER_TEST_H_ + +#include "chrome/browser/ui/fullscreen/fullscreen_exit_bubble_type.h" +#include "chrome/common/chrome_notification_types.h" +#include "chrome/test/base/in_process_browser_test.h" +#include "chrome/test/base/ui_test_utils.h" +#include "content/public/browser/notification_service.h" + +// Observer for NOTIFICATION_FULLSCREEN_CHANGED notifications. +class FullscreenNotificationObserver + : public ui_test_utils::WindowedNotificationObserver { + public: + FullscreenNotificationObserver() : WindowedNotificationObserver( + chrome::NOTIFICATION_FULLSCREEN_CHANGED, + content::NotificationService::AllSources()) {} + protected: + DISALLOW_COPY_AND_ASSIGN(FullscreenNotificationObserver); +}; + +// Observer for NOTIFICATION_MOUSE_LOCK_CHANGED notifications. +class MouseLockNotificationObserver + : public ui_test_utils::WindowedNotificationObserver { + public: + MouseLockNotificationObserver() : WindowedNotificationObserver( + chrome::NOTIFICATION_MOUSE_LOCK_CHANGED, + content::NotificationService::AllSources()) {} + protected: + DISALLOW_COPY_AND_ASSIGN(MouseLockNotificationObserver); +}; + +// Test fixture with convenience functions for fullscreen and mouse lock. +class FullscreenControllerTest : public InProcessBrowserTest { + protected: + 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(); + bool SendEscapeToFullscreenController(); + bool IsFullscreenForBrowser(); + bool IsFullscreenForTabOrPending(); + bool IsMouseLockPermissionRequested(); + bool IsFullscreenPermissionRequested(); + FullscreenExitBubbleType GetFullscreenExitBubbleType(); + bool IsFullscreenBubbleDisplayed(); + bool IsFullscreenBubbleDisplayingButtons(); + void AcceptCurrentFullscreenOrMouseLockRequest(); + void DenyCurrentFullscreenOrMouseLockRequest(); + void AddTabAtIndexAndWait(int index, const GURL& url, + content::PageTransition transition); + void GoBack(); + void Reload(); + static const char kFullscreenMouseLockHTML[]; + private: + void ToggleTabFullscreen_Internal(bool enter_fullscreen, + bool retry_until_success); + DISALLOW_COPY_AND_ASSIGN(FullscreenControllerTest); +}; + +#endif // CHROME_BROWSER_UI_FULLSCREEN_FULLSCREEN_CONTROLLER_TEST_H_ |