• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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_window.h"
11 #include "chrome/browser/ui/fullscreen/fullscreen_controller.h"
12 #include "chrome/browser/ui/tabs/tab_strip_model.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 
17 using content::WebContents;
18 
19 const char FullscreenControllerTest::kFullscreenMouseLockHTML[] =
20     "files/fullscreen_mouselock/fullscreen_mouselock.html";
21 
RequestToLockMouse(bool user_gesture,bool last_unlocked_by_target)22 void FullscreenControllerTest::RequestToLockMouse(
23     bool user_gesture,
24     bool last_unlocked_by_target) {
25   WebContents* tab = browser()->tab_strip_model()->GetActiveWebContents();
26   browser()->RequestToLockMouse(tab, user_gesture,
27       last_unlocked_by_target);
28 }
29 
LostMouseLock()30 void FullscreenControllerTest::LostMouseLock() {
31   browser()->LostMouseLock();
32 }
33 
SendEscapeToFullscreenController()34 bool FullscreenControllerTest::SendEscapeToFullscreenController() {
35   return browser()->fullscreen_controller()->HandleUserPressedEscape();
36 }
37 
IsFullscreenForBrowser()38 bool FullscreenControllerTest::IsFullscreenForBrowser() {
39   return browser()->fullscreen_controller()->IsFullscreenForBrowser();
40 }
41 
IsWindowFullscreenForTabOrPending()42 bool FullscreenControllerTest::IsWindowFullscreenForTabOrPending() {
43   return browser()->fullscreen_controller()->
44       IsWindowFullscreenForTabOrPending();
45 }
46 
IsMouseLockPermissionRequested()47 bool FullscreenControllerTest::IsMouseLockPermissionRequested() {
48   FullscreenExitBubbleType type =
49       browser()->fullscreen_controller()->GetFullscreenExitBubbleType();
50   bool mouse_lock = false;
51   fullscreen_bubble::PermissionRequestedByType(type, NULL, &mouse_lock);
52   return mouse_lock;
53 }
54 
IsFullscreenPermissionRequested()55 bool FullscreenControllerTest::IsFullscreenPermissionRequested() {
56   FullscreenExitBubbleType type =
57       browser()->fullscreen_controller()->GetFullscreenExitBubbleType();
58   bool fullscreen = false;
59   fullscreen_bubble::PermissionRequestedByType(type, &fullscreen, NULL);
60   return fullscreen;
61 }
62 
63 FullscreenExitBubbleType
GetFullscreenExitBubbleType()64     FullscreenControllerTest::GetFullscreenExitBubbleType() {
65   return browser()->fullscreen_controller()->GetFullscreenExitBubbleType();
66 }
67 
IsFullscreenBubbleDisplayed()68 bool FullscreenControllerTest::IsFullscreenBubbleDisplayed() {
69   FullscreenExitBubbleType type =
70       browser()->fullscreen_controller()->GetFullscreenExitBubbleType();
71   return type != FEB_TYPE_NONE;
72 }
73 
IsFullscreenBubbleDisplayingButtons()74 bool FullscreenControllerTest::IsFullscreenBubbleDisplayingButtons() {
75   FullscreenExitBubbleType type =
76       browser()->fullscreen_controller()->GetFullscreenExitBubbleType();
77   return fullscreen_bubble::ShowButtonsForType(type);
78 }
79 
AcceptCurrentFullscreenOrMouseLockRequest()80 void FullscreenControllerTest::AcceptCurrentFullscreenOrMouseLockRequest() {
81   browser()->fullscreen_controller()->OnAcceptFullscreenPermission();
82 }
83 
DenyCurrentFullscreenOrMouseLockRequest()84 void FullscreenControllerTest::DenyCurrentFullscreenOrMouseLockRequest() {
85   browser()->fullscreen_controller()->OnDenyFullscreenPermission();
86 }
87 
GoBack()88 void FullscreenControllerTest::GoBack() {
89   content::TestNavigationObserver observer(
90       browser()->tab_strip_model()->GetActiveWebContents(), 1);
91   chrome::GoBack(browser(), CURRENT_TAB);
92   observer.Wait();
93 }
94 
Reload()95 void FullscreenControllerTest::Reload() {
96   content::TestNavigationObserver observer(
97       browser()->tab_strip_model()->GetActiveWebContents(), 1);
98   chrome::Reload(browser(), CURRENT_TAB);
99   observer.Wait();
100 }
101 
SetPrivilegedFullscreen(bool is_privileged)102 void FullscreenControllerTest::SetPrivilegedFullscreen(bool is_privileged) {
103   browser()->fullscreen_controller()->
104       SetPrivilegedFullscreenForTesting(is_privileged);
105 }
106