blob: 51f5f711ce63e3f34bb540e376e2f8a3479e5353 [file] [log] [blame]
// 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.
#include "chrome/browser/ui/fullscreen/fullscreen_controller_test.h"
#include "base/command_line.h"
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/browser_commands.h"
#include "chrome/browser/ui/browser_window.h"
#include "chrome/browser/ui/fullscreen/fullscreen_controller.h"
#include "chrome/browser/ui/tabs/tab_strip_model.h"
#include "chrome/common/chrome_switches.h"
#include "content/public/browser/web_contents.h"
#include "content/public/test/test_navigation_observer.h"
using content::WebContents;
const char FullscreenControllerTest::kFullscreenMouseLockHTML[] =
"files/fullscreen_mouselock/fullscreen_mouselock.html";
void FullscreenControllerTest::RequestToLockMouse(
bool user_gesture,
bool last_unlocked_by_target) {
WebContents* tab = browser()->tab_strip_model()->GetActiveWebContents();
browser()->RequestToLockMouse(tab, user_gesture,
last_unlocked_by_target);
}
void FullscreenControllerTest::LostMouseLock() {
browser()->LostMouseLock();
}
bool FullscreenControllerTest::SendEscapeToFullscreenController() {
return browser()->fullscreen_controller()->HandleUserPressedEscape();
}
bool FullscreenControllerTest::IsFullscreenForBrowser() {
return browser()->fullscreen_controller()->IsFullscreenForBrowser();
}
bool FullscreenControllerTest::IsFullscreenForTabOrPending() {
return browser()->fullscreen_controller()->IsFullscreenForTabOrPending();
}
bool FullscreenControllerTest::IsMouseLockPermissionRequested() {
FullscreenExitBubbleType type =
browser()->fullscreen_controller()->GetFullscreenExitBubbleType();
bool mouse_lock = false;
fullscreen_bubble::PermissionRequestedByType(type, NULL, &mouse_lock);
return mouse_lock;
}
bool FullscreenControllerTest::IsFullscreenPermissionRequested() {
FullscreenExitBubbleType type =
browser()->fullscreen_controller()->GetFullscreenExitBubbleType();
bool fullscreen = false;
fullscreen_bubble::PermissionRequestedByType(type, &fullscreen, NULL);
return fullscreen;
}
FullscreenExitBubbleType
FullscreenControllerTest::GetFullscreenExitBubbleType() {
return browser()->fullscreen_controller()->GetFullscreenExitBubbleType();
}
bool FullscreenControllerTest::IsFullscreenBubbleDisplayed() {
FullscreenExitBubbleType type =
browser()->fullscreen_controller()->GetFullscreenExitBubbleType();
return type != FEB_TYPE_NONE;
}
bool FullscreenControllerTest::IsFullscreenBubbleDisplayingButtons() {
FullscreenExitBubbleType type =
browser()->fullscreen_controller()->GetFullscreenExitBubbleType();
return fullscreen_bubble::ShowButtonsForType(type);
}
void FullscreenControllerTest::AcceptCurrentFullscreenOrMouseLockRequest() {
browser()->fullscreen_controller()->OnAcceptFullscreenPermission();
}
void FullscreenControllerTest::DenyCurrentFullscreenOrMouseLockRequest() {
browser()->fullscreen_controller()->OnDenyFullscreenPermission();
}
void FullscreenControllerTest::GoBack() {
content::TestNavigationObserver observer(
browser()->tab_strip_model()->GetActiveWebContents(), 1);
chrome::GoBack(browser(), CURRENT_TAB);
observer.Wait();
}
void FullscreenControllerTest::Reload() {
content::TestNavigationObserver observer(
browser()->tab_strip_model()->GetActiveWebContents(), 1);
chrome::Reload(browser(), CURRENT_TAB);
observer.Wait();
}
void FullscreenControllerTest::SetPrivilegedFullscreen(bool is_privileged) {
browser()->fullscreen_controller()->
SetPrivilegedFullscreenForTesting(is_privileged);
}