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