fullscreen_controller_test.cc revision 5821806d5e7f356e8fa4b058a389a808ea183019
1// Copyright (c) 2012 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "chrome/browser/ui/fullscreen/fullscreen_controller_test.h"
6
7#include "base/command_line.h"
8#include "chrome/browser/ui/browser.h"
9#include "chrome/browser/ui/browser_commands.h"
10#include "chrome/browser/ui/browser_tabstrip.h"
11#include "chrome/browser/ui/browser_window.h"
12#include "chrome/browser/ui/fullscreen/fullscreen_controller.h"
13#include "chrome/common/chrome_switches.h"
14#include "content/public/browser/web_contents.h"
15#include "content/public/test/test_navigation_observer.h"
16
17using content::WebContents;
18
19const char FullscreenControllerTest::kFullscreenMouseLockHTML[] =
20    "files/fullscreen_mouselock/fullscreen_mouselock.html";
21
22void FullscreenControllerTest::RequestToLockMouse(
23    bool user_gesture,
24    bool last_unlocked_by_target) {
25  WebContents* tab = chrome::GetActiveWebContents(browser());
26  browser()->RequestToLockMouse(tab, user_gesture,
27      last_unlocked_by_target);
28}
29
30void FullscreenControllerTest::LostMouseLock() {
31  browser()->LostMouseLock();
32}
33
34bool FullscreenControllerTest::SendEscapeToFullscreenController() {
35  return browser()->fullscreen_controller()->HandleUserPressedEscape();
36}
37
38bool FullscreenControllerTest::IsFullscreenForBrowser() {
39  return browser()->fullscreen_controller()->IsFullscreenForBrowser();
40}
41
42bool FullscreenControllerTest::IsFullscreenForTabOrPending() {
43  return browser()->fullscreen_controller()->IsFullscreenForTabOrPending();
44}
45
46bool FullscreenControllerTest::IsMouseLockPermissionRequested() {
47  FullscreenExitBubbleType type =
48      browser()->fullscreen_controller()->GetFullscreenExitBubbleType();
49  bool mouse_lock = false;
50  fullscreen_bubble::PermissionRequestedByType(type, NULL, &mouse_lock);
51  return mouse_lock;
52}
53
54bool FullscreenControllerTest::IsFullscreenPermissionRequested() {
55  FullscreenExitBubbleType type =
56      browser()->fullscreen_controller()->GetFullscreenExitBubbleType();
57  bool fullscreen = false;
58  fullscreen_bubble::PermissionRequestedByType(type, &fullscreen, NULL);
59  return fullscreen;
60}
61
62FullscreenExitBubbleType
63    FullscreenControllerTest::GetFullscreenExitBubbleType() {
64  return browser()->fullscreen_controller()->GetFullscreenExitBubbleType();
65}
66
67bool FullscreenControllerTest::IsFullscreenBubbleDisplayed() {
68  FullscreenExitBubbleType type =
69      browser()->fullscreen_controller()->GetFullscreenExitBubbleType();
70  return type != FEB_TYPE_NONE;
71}
72
73bool FullscreenControllerTest::IsFullscreenBubbleDisplayingButtons() {
74  FullscreenExitBubbleType type =
75      browser()->fullscreen_controller()->GetFullscreenExitBubbleType();
76  return fullscreen_bubble::ShowButtonsForType(type);
77}
78
79void FullscreenControllerTest::AcceptCurrentFullscreenOrMouseLockRequest() {
80  WebContents* fullscreen_tab = chrome::GetActiveWebContents(browser());
81  FullscreenExitBubbleType type =
82      browser()->fullscreen_controller()->GetFullscreenExitBubbleType();
83  browser()->fullscreen_controller()->OnAcceptFullscreenPermission(
84      fullscreen_tab->GetURL(), type);
85}
86
87void FullscreenControllerTest::DenyCurrentFullscreenOrMouseLockRequest() {
88  FullscreenExitBubbleType type =
89      browser()->fullscreen_controller()->GetFullscreenExitBubbleType();
90  browser()->fullscreen_controller()->OnDenyFullscreenPermission(type);
91}
92
93void FullscreenControllerTest::GoBack() {
94  content::TestNavigationObserver observer(
95      content::NotificationService::AllSources(), NULL, 1);
96
97  chrome::GoBack(browser(), CURRENT_TAB);
98
99  observer.Wait();
100}
101
102void FullscreenControllerTest::Reload() {
103  content::TestNavigationObserver observer(
104      content::NotificationService::AllSources(), NULL, 1);
105
106  chrome::Reload(browser(), CURRENT_TAB);
107
108  observer.Wait();
109}
110
111