tree 20ede3d2fd6dc723b4c1f44daa5e865927ae84a4
parent 495441023b6db336e0a72c60444899dd69a7928d
author Antonio Gomes <tonikitoo@igalia.com> 1625519178 +0000
committer Chromium LUCI CQ <chromium-scoped@luci-project-accounts.iam.gserviceaccount.com> 1625519178 +0000

[ozone/wayland] Implement PointerLock

In Wayland, it is not possible that the client controls the Pointer
(cursor) position. The existing cross-platform Chrome implementation
for "Mouse Lock" rely on this premise, which is not in place.

  WaylandWindow::MoveCursorTo(Point)

Wayland, then, provides two extensions supported by major Desktop
compositors (eg Gnome) and Exo, in order to fill the gap:
zwp_pointer_contraints and zwp_relative_pointer_manager.

This CL implements both, and provide the Pointer Lock functionality
to both Chrome/Wayland desktop and Lacros.

Here is flow with the current CL when a pointer lock is requested
by the HTML content:

   Renderer
      |
      | (mojo)
      |
   Browser
      |------> RenderWidgetHostViewEventHandler::LockMouse()
                              |
                              | (asks)
                              |
                 WindowTreeHost::SupportsMouseLock()
                          /               \
                         / yes             \ no
                        /                   \
          WTH::LockMouse()                   \
                  |                         (Current code path..)
                  |
  WaylandExtension::LockPointer(true)
                  |
                  |
  WaylandTopLevelWindow::LockPointer(true)
                  |
                  | enables
                  |
  ZwpPointerConstraints
                  +
                  ZwpRelativePointerManager

BUG=1208843
TEST=https://mdn.github.io/dom-examples/pointer-lock/

Change-Id: Ia9ee6b896b23f2ee8ba502c43fb09b16c515195a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2983858
Commit-Queue: Antonio Gomes <tonikitoo@igalia.com>
Reviewed-by: Sadrul Chowdhury <sadrul@chromium.org>
Reviewed-by: Scott Violet <sky@chromium.org>
Reviewed-by: Maksim Sisov <msisov@igalia.com>
Cr-Commit-Position: refs/heads/master@{#898696}
