Files
sousa-gecko/testing/web-platform/meta/pointerlock/pointerlock-maintains-mousedown.html.ini
T
Edgar Chen d98f16e74d Bug 1255338 - Part 2: Reset pointer position for pointer lock from parent process; r=smaug
This is gated behind a new pref: dom.pointer-lock.reset-to-center-from-parent.enabled.
The patch preserves the original behavior as much as possible when the pref is off.
There are some changes that affect both code paths, but they are minor and
should not affect the main logic.

Here are some major change when the pref is enabled:
- Pointer recentering and computation of the center point are now handled in the parent process.
- Locking native pointer is initiated from parent process as well.
- When a remote target requests pointer lock, the parent process captures the mouse
  on the top-level browser element. This is necessary because the center of the
  chrome window may not correspond to the web page (for example, when a DevTools
  panel is open and resized to be very large).
- This patch introduces an optimization that recenters the pointer only when it
  moves within a 25% boundary buffer near the edge of the window, reducing the
  number of recentering operations. Since each platform now uses a native API to
  "lock" the pointer, we do not need to worry as much about the pointer escaping
  pointer lock by moving outside the browser window at high speed.

Differential Revision: https://phabricator.services.mozilla.com/D296321
2026-06-26 17:35:07 +00:00

11 lines
418 B
INI

# See https://bugzilla.mozilla.org/show_bug.cgi?id=1255338#c32.
prefs: [dom.pointer-lock.reset-to-center-from-parent.enabled:true]
[pointerlock-maintains-mousedown.html?unadjustedmovement=true]
expected:
if os == "linux": ERROR
if os == "android": ERROR
[Tests that mousemove events during pointer lock report correct button state]
expected:
if os == "linux": FAIL
if os == "android": FAIL