
When the code was originally written, "mouse lock" was a popular term in the gaming industry and the PointerLock API didn't even exist. Now that "pointer lock" is an established term, we are switching our codebase away from the old term to be consistent with the web platform API: https://developer.mozilla.org/en-US/docs/Web/API/Pointer_Lock_API There still are some names that aren't renamed in this CL, e.g. enum values recorded in metrics. There should be no behavioral changes. Low-Coverage-Reason: TRIVIAL_CHANGE This is a rename CL Bug: 1518948 Change-Id: Ib66d87e4919c2570109d7e6755ea91dfc18d42fc Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5148491 Commit-Queue: Takumi Fujimoto <takumif@chromium.org> Reviewed-by: Dmitry Gozman <dgozman@chromium.org> Reviewed-by: Mustaq Ahmed <mustaq@chromium.org> Reviewed-by: Vincent Scheib <scheib@chromium.org> Reviewed-by: Erik Chen <erikchen@chromium.org> Reviewed-by: Finnur Thorarinsson <finnur@chromium.org> Cr-Commit-Position: refs/heads/main@{#1251864}
67 lines
2.4 KiB
C++
67 lines
2.4 KiB
C++
// Copyright 2020 The Chromium Authors
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
#include "content/web_test/browser/web_test_shell_platform_delegate.h"
|
|
|
|
#include "base/command_line.h"
|
|
#include "content/public/browser/web_contents.h"
|
|
#include "content/web_test/browser/web_test_control_host.h"
|
|
#include "content/web_test/browser/web_test_javascript_dialog_manager.h"
|
|
#include "content/web_test/common/web_test_switches.h"
|
|
|
|
namespace content {
|
|
|
|
// This file contains platform-independent web test overrides of the
|
|
// ShellPlatformDelegate class. Platform-dependent code is found in the various
|
|
// platform-suffixed implementation files.
|
|
|
|
// static
|
|
bool WebTestShellPlatformDelegate::IsHeadless() {
|
|
// Headless by default in web tests, unless overridden on the command line.
|
|
return !base::CommandLine::ForCurrentProcess()->HasSwitch(
|
|
switches::kDisableHeadlessMode);
|
|
}
|
|
|
|
void WebTestShellPlatformDelegate::DidCreateOrAttachWebContents(
|
|
Shell* shell,
|
|
WebContents* web_contents) {
|
|
WebTestControlHost::Get()->DidCreateOrAttachWebContents(web_contents);
|
|
}
|
|
|
|
void WebTestShellPlatformDelegate::DidCloseLastWindow() {
|
|
// Some tests, or some fuzzer's test cases are closing every window. When
|
|
// this happens, the test runner must run the next test. For this reason, this
|
|
// do not call Shell::Shutdown(). It will be called manually at the end of:
|
|
// WebTestBrowserMainRunner::RunBrowserMain().
|
|
}
|
|
|
|
std::unique_ptr<JavaScriptDialogManager>
|
|
WebTestShellPlatformDelegate::CreateJavaScriptDialogManager(Shell* shell) {
|
|
return std::make_unique<WebTestJavaScriptDialogManager>();
|
|
}
|
|
|
|
bool WebTestShellPlatformDelegate::HandlePointerLockRequest(
|
|
Shell* shell,
|
|
WebContents* web_contents,
|
|
bool user_gesture,
|
|
bool last_unlocked_by_target) {
|
|
if (!user_gesture && !last_unlocked_by_target) {
|
|
web_contents->GotResponseToPointerLockRequest(
|
|
blink::mojom::PointerLockResult::kRequiresUserGesture);
|
|
}
|
|
|
|
WebTestControlHost::Get()->RequestPointerLock(web_contents);
|
|
// Always indicate that we have handled the request to lock the mouse.
|
|
return true;
|
|
}
|
|
|
|
bool WebTestShellPlatformDelegate::ShouldAllowRunningInsecureContent(
|
|
Shell* shell) {
|
|
WebTestControlHost* control_host = WebTestControlHost::Get();
|
|
return control_host->web_test_runtime_flags()
|
|
.running_insecure_content_allowed();
|
|
}
|
|
|
|
} // namespace content
|