Skip to content

Commit a26aed9

Browse files
committed
Remove references to mozRequestPointerLock and friends. NFC
The official `requestPointerLock` API is supported in all the browsers that we support. See https://developer.mozilla.org/en-US/docs/Web/API/Element/requestPointerLock
1 parent cc1de1a commit a26aed9

File tree

2 files changed

+6
-31
lines changed

2 files changed

+6
-31
lines changed

src/lib/libbrowser.js

Lines changed: 2 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -146,32 +146,16 @@ var LibraryBrowser = {
146146

147147
function pointerLockChange() {
148148
var canvas = Browser.getCanvas();
149-
Browser.pointerLock = document['pointerLockElement'] === canvas ||
150-
document['mozPointerLockElement'] === canvas ||
151-
document['webkitPointerLockElement'] === canvas ||
152-
document['msPointerLockElement'] === canvas;
149+
Browser.pointerLock = document.pointerLockElement === canvas;
153150
}
154151
var canvas = Browser.getCanvas();
155152
if (canvas) {
156153
// forced aspect ratio can be enabled by defining 'forcedAspectRatio' on Module
157154
// Module['forcedAspectRatio'] = 4 / 3;
158155

159-
canvas.requestPointerLock = canvas['requestPointerLock'] ||
160-
canvas['mozRequestPointerLock'] ||
161-
canvas['webkitRequestPointerLock'] ||
162-
canvas['msRequestPointerLock'] ||
163-
(() => {});
164-
canvas.exitPointerLock = document['exitPointerLock'] ||
165-
document['mozExitPointerLock'] ||
166-
document['webkitExitPointerLock'] ||
167-
document['msExitPointerLock'] ||
168-
(() => {}); // no-op if function does not exist
169-
canvas.exitPointerLock = canvas.exitPointerLock.bind(document);
156+
canvas.exitPointerLock = document.exitPointerLock.bind(document);
170157

171158
document.addEventListener('pointerlockchange', pointerLockChange, false);
172-
document.addEventListener('mozpointerlockchange', pointerLockChange, false);
173-
document.addEventListener('webkitpointerlockchange', pointerLockChange, false);
174-
document.addEventListener('mspointerlockchange', pointerLockChange, false);
175159

176160
if (Module['elementPointerLock']) {
177161
canvas.addEventListener("click", (ev) => {

src/lib/libhtml5.js

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1543,7 +1543,7 @@ var LibraryHTML5 = {
15431543

15441544
$fillPointerlockChangeEventData__deps: ['$JSEvents', '$stringToUTF8'],
15451545
$fillPointerlockChangeEventData: (eventStruct) => {
1546-
var pointerLockElement = document.pointerLockElement || document.mozPointerLockElement || document.webkitPointerLockElement || document.msPointerLockElement;
1546+
var pointerLockElement = document.pointerLockElement;
15471547
var isPointerlocked = !!pointerLockElement;
15481548
#if !SAFE_HEAP
15491549
// Assigning a boolean to HEAP32 with expected type coercion.
@@ -1595,10 +1595,9 @@ var LibraryHTML5 = {
15951595
'$specialHTMLTargets'
15961596
#endif
15971597
],
1598-
emscripten_set_pointerlockchange_callback_on_thread__docs: '/** @suppress {missingProperties} */', // Closure does not see document.body.mozRequestPointerLock etc.
15991598
emscripten_set_pointerlockchange_callback_on_thread: (target, userData, useCapture, callbackfunc, targetThread) => {
16001599
// TODO: Currently not supported in pthreads or in --proxy-to-worker mode. (In pthreads mode, document object is not defined)
1601-
if (!document || !document.body || (!document.body.requestPointerLock && !document.body.mozRequestPointerLock && !document.body.webkitRequestPointerLock && !document.body.msRequestPointerLock)) {
1600+
if (!document || !document.body?.requestPointerLock) {
16021601
return {{{ cDefs.EMSCRIPTEN_RESULT_NOT_SUPPORTED }}};
16031602
}
16041603

@@ -1608,9 +1607,6 @@ var LibraryHTML5 = {
16081607
target = target ? findEventTarget(target) : specialHTMLTargets[{{{ cDefs.EMSCRIPTEN_EVENT_TARGET_DOCUMENT }}}]; // Pointer lock change events need to be captured from 'document' by default instead of 'window'
16091608
#endif
16101609
if (!target) return {{{ cDefs.EMSCRIPTEN_RESULT_UNKNOWN_TARGET }}};
1611-
registerPointerlockChangeEventCallback(target, userData, useCapture, callbackfunc, {{{ cDefs.EMSCRIPTEN_EVENT_POINTERLOCKCHANGE }}}, "mozpointerlockchange", targetThread);
1612-
registerPointerlockChangeEventCallback(target, userData, useCapture, callbackfunc, {{{ cDefs.EMSCRIPTEN_EVENT_POINTERLOCKCHANGE }}}, "webkitpointerlockchange", targetThread);
1613-
registerPointerlockChangeEventCallback(target, userData, useCapture, callbackfunc, {{{ cDefs.EMSCRIPTEN_EVENT_POINTERLOCKCHANGE }}}, "mspointerlockchange", targetThread);
16141610
return registerPointerlockChangeEventCallback(target, userData, useCapture, callbackfunc, {{{ cDefs.EMSCRIPTEN_EVENT_POINTERLOCKCHANGE }}}, "pointerlockchange", targetThread);
16151611
},
16161612

@@ -1644,10 +1640,9 @@ var LibraryHTML5 = {
16441640
'$specialHTMLTargets'
16451641
#endif
16461642
],
1647-
emscripten_set_pointerlockerror_callback_on_thread__docs: '/** @suppress {missingProperties} */', // Closure does not see document.body.mozRequestPointerLock etc.
16481643
emscripten_set_pointerlockerror_callback_on_thread: (target, userData, useCapture, callbackfunc, targetThread) => {
16491644
// TODO: Currently not supported in pthreads or in --proxy-to-worker mode. (In pthreads mode, document object is not defined)
1650-
if (!document || !document.body.requestPointerLock && !document.body.mozRequestPointerLock && !document.body.webkitRequestPointerLock && !document.body.msRequestPointerLock) {
1645+
if (!document || !document.body?.requestPointerLock) {
16511646
return {{{ cDefs.EMSCRIPTEN_RESULT_NOT_SUPPORTED }}};
16521647
}
16531648

@@ -1658,18 +1653,14 @@ var LibraryHTML5 = {
16581653
#endif
16591654

16601655
if (!target) return {{{ cDefs.EMSCRIPTEN_RESULT_UNKNOWN_TARGET }}};
1661-
registerPointerlockErrorEventCallback(target, userData, useCapture, callbackfunc, {{{ cDefs.EMSCRIPTEN_EVENT_POINTERLOCKERROR }}}, "mozpointerlockerror", targetThread);
1662-
registerPointerlockErrorEventCallback(target, userData, useCapture, callbackfunc, {{{ cDefs.EMSCRIPTEN_EVENT_POINTERLOCKERROR }}}, "webkitpointerlockerror", targetThread);
1663-
registerPointerlockErrorEventCallback(target, userData, useCapture, callbackfunc, {{{ cDefs.EMSCRIPTEN_EVENT_POINTERLOCKERROR }}}, "mspointerlockerror", targetThread);
16641656
return registerPointerlockErrorEventCallback(target, userData, useCapture, callbackfunc, {{{ cDefs.EMSCRIPTEN_EVENT_POINTERLOCKERROR }}}, "pointerlockerror", targetThread);
16651657
},
16661658

16671659
emscripten_get_pointerlock_status__proxy: 'sync',
16681660
emscripten_get_pointerlock_status__deps: ['$fillPointerlockChangeEventData'],
1669-
emscripten_get_pointerlock_status__docs: '/** @suppress {missingProperties} */', // Closure does not see document.body.mozRequestPointerLock etc.
16701661
emscripten_get_pointerlock_status: (pointerlockStatus) => {
16711662
if (pointerlockStatus) fillPointerlockChangeEventData(pointerlockStatus);
1672-
if (!document.body || (!document.body.requestPointerLock && !document.body.mozRequestPointerLock && !document.body.webkitRequestPointerLock && !document.body.msRequestPointerLock)) {
1663+
if (!document || !document.body?.requestPointerLock) {
16731664
return {{{ cDefs.EMSCRIPTEN_RESULT_NOT_SUPPORTED }}};
16741665
}
16751666
return {{{ cDefs.EMSCRIPTEN_RESULT_SUCCESS }}};

0 commit comments

Comments
 (0)