blob: e1ace6d66a38439586cce18214b4ee815342be1c [file] [log] [blame]
// Copyright (c) 2013 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/extensions/extension_apitest.h"
#include "chrome/browser/ui/browser_window.h"
#include "chrome/test/base/ui_test_utils.h"
// Window resizes are not completed by the time the callback happens,
// so these tests fail on linux/gtk. http://crbug.com/72369
#if defined(OS_LINUX) && !defined(USE_AURA)
#define MAYBE_FocusWindowDoesNotExitFullscreen \
DISABLED_FocusWindowDoesNotExitFullscreen
#define MAYBE_UpdateWindowSizeExitsFullscreen \
DISABLED_UpdateWindowSizeExitsFullscreen
#else
// TODO(linux_aura) http://crbug.com/163931
#if defined(OS_LINUX) && !defined(OS_CHROMEOS) && defined(USE_AURA)
#define MAYBE_FocusWindowDoesNotExitFullscreen \
DISABLED_FocusWindowDoesNotExitFullscreen
#else
#define MAYBE_FocusWindowDoesNotExitFullscreen FocusWindowDoesNotExitFullscreen
#endif
// Fails flakily: http://crbug.com/308041
#define MAYBE_UpdateWindowSizeExitsFullscreen DISABLED_UpdateWindowSizeExitsFullscreen
#endif // defined(OS_LINUX) && !defined(USE_AURA)
IN_PROC_BROWSER_TEST_F(ExtensionApiTest,
ExtensionFullscreenAccessFail) {
// Test that fullscreen can be accessed from an extension without permission.
ASSERT_TRUE(RunPlatformAppTest("fullscreen/no_permission")) << message_;
}
// Disabled, a user gesture is required for fullscreen. http://crbug.com/174178
IN_PROC_BROWSER_TEST_F(ExtensionApiTest,
DISABLED_ExtensionFullscreenAccessPass) {
// Test that fullscreen can be accessed from an extension with permission.
ASSERT_TRUE(RunPlatformAppTest("fullscreen/has_permission")) << message_;
}
IN_PROC_BROWSER_TEST_F(ExtensionApiTest,
MAYBE_FocusWindowDoesNotExitFullscreen) {
browser()->window()->EnterFullscreen(
GURL(), FEB_TYPE_BROWSER_FULLSCREEN_EXIT_INSTRUCTION);
bool is_fullscreen = browser()->window()->IsFullscreen();
ASSERT_TRUE(RunExtensionTest("window_update/focus")) << message_;
ASSERT_EQ(is_fullscreen, browser()->window()->IsFullscreen());
}
IN_PROC_BROWSER_TEST_F(ExtensionApiTest,
MAYBE_UpdateWindowSizeExitsFullscreen) {
browser()->window()->EnterFullscreen(
GURL(), FEB_TYPE_BROWSER_FULLSCREEN_EXIT_INSTRUCTION);
ASSERT_TRUE(RunExtensionTest("window_update/sizing")) << message_;
ASSERT_FALSE(browser()->window()->IsFullscreen());
}