0
Files
src/content/browser/pointer_lock_browsertest_ios.mm
Avi Drissman 9bf75c5e9a Remove ARC boilerplate in /content
ARC is now enabled by default, so there’s no need to enforce it
against files being put into non-ARC targets.

Bug: 1468376
Change-Id: If25307bfbea5a1df8937b433dde5fa83871cff74
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4738888
Auto-Submit: Avi Drissman <avi@chromium.org>
Reviewed-by: Leonard Grey <lgrey@chromium.org>
Commit-Queue: Robert Sesek <rsesek@chromium.org>
Reviewed-by: Robert Sesek <rsesek@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1178112}
2023-08-01 22:39:26 +00:00

64 lines
1.9 KiB
Plaintext

// Copyright 2023 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/browser/pointer_lock_browsertest.h"
#include "content/browser/renderer_host/render_widget_host_impl.h"
#include "content/browser/renderer_host/render_widget_host_view_ios.h"
#include "content/browser/web_contents/web_contents_view_ios.h"
namespace content {
class MockPointerLockRenderWidgetHostView : public RenderWidgetHostViewIOS {
public:
MockPointerLockRenderWidgetHostView(RenderWidgetHost* host)
: RenderWidgetHostViewIOS(host) {}
~MockPointerLockRenderWidgetHostView() override {
if (mouse_locked_) {
UnlockMouse();
}
}
blink::mojom::PointerLockResult LockMouse(
bool request_unadjusted_movement) override {
mouse_locked_ = true;
mouse_lock_unadjusted_movement_ = request_unadjusted_movement;
return blink::mojom::PointerLockResult::kSuccess;
}
blink::mojom::PointerLockResult ChangeMouseLock(
bool request_unadjusted_movement) override {
mouse_lock_unadjusted_movement_ = request_unadjusted_movement;
return blink::mojom::PointerLockResult::kSuccess;
}
void UnlockMouse() override {
if (RenderWidgetHostImpl* host =
RenderWidgetHostImpl::From(GetRenderWidgetHost())) {
host->LostMouseLock();
}
mouse_locked_ = false;
mouse_lock_unadjusted_movement_ = false;
}
bool IsMouseLocked() override { return mouse_locked_; }
bool GetIsMouseLockedUnadjustedMovementForTesting() override {
return mouse_lock_unadjusted_movement_;
}
bool HasFocus() override { return true; }
bool CanBeMouseLocked() override { return true; }
};
void InstallCreateHooksForPointerLockBrowserTests() {
WebContentsViewIOS::InstallCreateHookForTests(
[](RenderWidgetHost* host) -> RenderWidgetHostViewIOS* {
return new MockPointerLockRenderWidgetHostView(host);
});
}
} // namespace content