1 // Copyright 2013 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.
5 #include "chrome/browser/apps/app_browsertest_util.h"
6 #include "chrome/browser/extensions/extension_test_message_listener.h"
7 #include "chrome/browser/ui/extensions/application_launch.h"
8 #include "chrome/test/base/interactive_test_utils.h"
10 class ExtensionPointerLockTest
: public extensions::PlatformAppBrowserTest
{
12 bool RunExtensionPointerLockTest(const char* app_path
) {
13 ExtensionTestMessageListener
launched_listener("Launched", true);
14 LoadAndLaunchPlatformApp(app_path
, &launched_listener
);
16 ResultCatcher catcher
;
18 if (!ui_test_utils::ShowAndFocusNativeWindow(
19 GetFirstAppWindow()->GetNativeWindow())) {
20 message_
= "Can't focus window";
24 launched_listener
.Reply("");
26 if (!catcher
.GetNextResult()) {
27 message_
= catcher
.message();
35 IN_PROC_BROWSER_TEST_F(ExtensionPointerLockTest
,
36 ExtensionPointerLockAccessFail
) {
37 // Test that pointer lock cannot be accessed from an extension without
39 ASSERT_TRUE(RunExtensionPointerLockTest("pointer_lock/no_permission"))
43 IN_PROC_BROWSER_TEST_F(ExtensionPointerLockTest
,
44 ExtensionPointerLockAccessPass
) {
45 // Test that pointer lock can be accessed from an extension with permission.
46 ASSERT_TRUE(RunExtensionPointerLockTest("pointer_lock/has_permission"))