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 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 = browser()->tab_strip_model()->GetActiveWebContents(); 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::IsWindowFullscreenForTabOrPending() { 43 return browser()->fullscreen_controller()-> 44 IsWindowFullscreenForTabOrPending(); 45} 46 47bool 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 55bool 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 63FullscreenExitBubbleType 64 FullscreenControllerTest::GetFullscreenExitBubbleType() { 65 return browser()->fullscreen_controller()->GetFullscreenExitBubbleType(); 66} 67 68bool FullscreenControllerTest::IsFullscreenBubbleDisplayed() { 69 FullscreenExitBubbleType type = 70 browser()->fullscreen_controller()->GetFullscreenExitBubbleType(); 71 return type != FEB_TYPE_NONE; 72} 73 74bool FullscreenControllerTest::IsFullscreenBubbleDisplayingButtons() { 75 FullscreenExitBubbleType type = 76 browser()->fullscreen_controller()->GetFullscreenExitBubbleType(); 77 return fullscreen_bubble::ShowButtonsForType(type); 78} 79 80void FullscreenControllerTest::AcceptCurrentFullscreenOrMouseLockRequest() { 81 browser()->fullscreen_controller()->OnAcceptFullscreenPermission(); 82} 83 84void FullscreenControllerTest::DenyCurrentFullscreenOrMouseLockRequest() { 85 browser()->fullscreen_controller()->OnDenyFullscreenPermission(); 86} 87 88void FullscreenControllerTest::GoBack() { 89 content::TestNavigationObserver observer( 90 browser()->tab_strip_model()->GetActiveWebContents(), 1); 91 chrome::GoBack(browser(), CURRENT_TAB); 92 observer.Wait(); 93} 94 95void FullscreenControllerTest::Reload() { 96 content::TestNavigationObserver observer( 97 browser()->tab_strip_model()->GetActiveWebContents(), 1); 98 chrome::Reload(browser(), CURRENT_TAB); 99 observer.Wait(); 100} 101 102void FullscreenControllerTest::SetPrivilegedFullscreen(bool is_privileged) { 103 browser()->fullscreen_controller()-> 104 SetPrivilegedFullscreenForTesting(is_privileged); 105} 106