diff --git a/dom/webidl/Element.webidl b/dom/webidl/Element.webidl index f4bf25bef9e8..8cc484419fd3 100644 --- a/dom/webidl/Element.webidl +++ b/dom/webidl/Element.webidl @@ -269,7 +269,7 @@ partial interface Element { // https://w3c.github.io/pointerlock/#extensions-to-the-element-interface partial interface Element { - [NeedsCallerType] + [NeedsCallerType, Pref="dom.pointer-lock.enabled"] void requestPointerLock(); }; diff --git a/modules/libpref/init/all.js b/modules/libpref/init/all.js index 7fc2a5ea9d59..363dd326c1cf 100644 --- a/modules/libpref/init/all.js +++ b/modules/libpref/init/all.js @@ -195,6 +195,12 @@ pref("dom.enable_performance_observer", true); // Enable requestIdleCallback API pref("dom.requestIdleCallback.enabled", true); +// Enable Pointer Lock API +// This is added for accessibility purpose. When user has no way to exit +// pointer lock (e.g. no keyboard available), they can use this pref to +// disable the Pointer Lock API altogether. +pref("dom.pointer-lock.enabled", true); + // Whether the Gamepad API is enabled pref("dom.gamepad.enabled", true); pref("dom.gamepad.test.enabled", false);