Skip to content

Commit 95d2bf9

Browse files
authored
Remove use of global event object from libhtml5.js. NFC (#25827)
This fallback to `windows.event` goes all the way back to the original implementation in 2014: 96895e6. According to AI the reason for this code was likely IE support: """ This common JavaScript pattern used in legacy code to ensure cross-browser compatibility for accessing the event object. This was necessary because older versions of Microsoft Internet Explorer (IE) handled events differently than the standards-compliant browsers. """
1 parent a31d5e8 commit 95d2bf9

File tree

4 files changed

+17
-18
lines changed

4 files changed

+17
-18
lines changed

src/lib/libglut.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -257,7 +257,6 @@ var LibraryGLUT = {
257257
Browser.calculateMouseEvent(event);
258258

259259
// cross-browser wheel delta
260-
var e = window.event || event; // old IE support
261260
// Note the minus sign that flips browser wheel direction (positive direction scrolls page down) to native wheel direction (positive direction is mouse wheel up)
262261
var delta = -Browser.getMouseWheelDelta(event);
263262
delta = (delta == 0) ? 0 : (delta > 0 ? Math.max(delta, 1) : Math.min(delta, -1)); // Quantize to integer so that minimum scroll is at least +/- 1.

src/lib/libhtml5.js

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -504,7 +504,7 @@ var LibraryHTML5 = {
504504
JSEvents.mouseEvent ||= _malloc(eventSize);
505505
target = findEventTarget(target);
506506

507-
var mouseEventHandlerFunc = (e = event) => {
507+
var mouseEventHandlerFunc = (e) => {
508508
// TODO: Make this access thread safe, or this could update live while app is reading it.
509509
fillMouseEventData(JSEvents.mouseEvent, e, target);
510510

@@ -595,7 +595,7 @@ var LibraryHTML5 = {
595595
JSEvents.wheelEvent ||= _malloc(eventSize)
596596

597597
// The DOM Level 3 events spec event 'wheel'
598-
var wheelHandlerFunc = (e = event) => {
598+
var wheelHandlerFunc = (e) => {
599599
var wheelEvent = JSEvents.wheelEvent;
600600
fillMouseEventData(wheelEvent, e, target);
601601
{{{ makeSetValue('wheelEvent', C_STRUCTS.EmscriptenWheelEvent.deltaX, 'e["deltaX"]', 'double') }}};
@@ -656,7 +656,7 @@ var LibraryHTML5 = {
656656
#else
657657
#endif
658658

659-
var uiEventHandlerFunc = (e = event) => {
659+
var uiEventHandlerFunc = (e) => {
660660
if (e.target != target) {
661661
// Never take ui events such as scroll via a 'bubbled' route, but always from the direct element that
662662
// was targeted. Otherwise e.g. if app logs a message in response to a page scroll, the Emscripten log
@@ -717,7 +717,7 @@ var LibraryHTML5 = {
717717
var eventSize = {{{ C_STRUCTS.EmscriptenFocusEvent.__size__ }}};
718718
JSEvents.focusEvent ||= _malloc(eventSize);
719719

720-
var focusEventHandlerFunc = (e = event) => {
720+
var focusEventHandlerFunc = (e) => {
721721
var nodeName = JSEvents.getNodeNameForTarget(e.target);
722722
var id = e.target.id ? e.target.id : '';
723723

@@ -780,7 +780,7 @@ var LibraryHTML5 = {
780780
var eventSize = {{{ C_STRUCTS.EmscriptenDeviceOrientationEvent.__size__ }}};
781781
JSEvents.deviceOrientationEvent ||= _malloc(eventSize);
782782

783-
var deviceOrientationEventHandlerFunc = (e = event) => {
783+
var deviceOrientationEventHandlerFunc = (e) => {
784784
fillDeviceOrientationEventData(JSEvents.deviceOrientationEvent, e, target); // TODO: Thread-safety with respect to emscripten_get_deviceorientation_status()
785785

786786
#if PTHREADS
@@ -850,7 +850,7 @@ var LibraryHTML5 = {
850850
var eventSize = {{{ C_STRUCTS.EmscriptenDeviceMotionEvent.__size__ }}};
851851
JSEvents.deviceMotionEvent ||= _malloc(eventSize);
852852

853-
var deviceMotionEventHandlerFunc = (e = event) => {
853+
var deviceMotionEventHandlerFunc = (e) => {
854854
fillDeviceMotionEventData(JSEvents.deviceMotionEvent, e, target); // TODO: Thread-safety with respect to emscripten_get_devicemotion_status()
855855

856856
#if PTHREADS
@@ -932,7 +932,7 @@ var LibraryHTML5 = {
932932
var eventSize = {{{ C_STRUCTS.EmscriptenOrientationChangeEvent.__size__ }}};
933933
JSEvents.orientationChangeEvent ||= _malloc(eventSize);
934934

935-
var orientationChangeEventHandlerFunc = (e = event) => {
935+
var orientationChangeEventHandlerFunc = (e) => {
936936
var orientationChangeEvent = JSEvents.orientationChangeEvent;
937937
fillOrientationChangeEventData(orientationChangeEvent);
938938

@@ -1041,7 +1041,7 @@ var LibraryHTML5 = {
10411041
var eventSize = {{{ C_STRUCTS.EmscriptenFullscreenChangeEvent.__size__ }}};
10421042
JSEvents.fullscreenChangeEvent ||= _malloc(eventSize);
10431043

1044-
var fullscreenChangeEventhandlerFunc = (e = event) => {
1044+
var fullscreenChangeEventhandlerFunc = (e) => {
10451045
var fullscreenChangeEvent = JSEvents.fullscreenChangeEvent;
10461046
fillFullscreenChangeEventData(fullscreenChangeEvent);
10471047

@@ -1541,7 +1541,7 @@ var LibraryHTML5 = {
15411541
var eventSize = {{{ C_STRUCTS.EmscriptenPointerlockChangeEvent.__size__ }}};
15421542
JSEvents.pointerlockChangeEvent ||= _malloc(eventSize);
15431543

1544-
var pointerlockChangeEventHandlerFunc = (e = event) => {
1544+
var pointerlockChangeEventHandlerFunc = (e) => {
15451545
var pointerlockChangeEvent = JSEvents.pointerlockChangeEvent;
15461546
fillPointerlockChangeEventData(pointerlockChangeEvent);
15471547

@@ -1590,7 +1590,7 @@ var LibraryHTML5 = {
15901590
targetThread = JSEvents.getTargetThreadForEventCallback(targetThread);
15911591
#endif
15921592

1593-
var pointerlockErrorEventHandlerFunc = (e = event) => {
1593+
var pointerlockErrorEventHandlerFunc = (e) => {
15941594
#if PTHREADS
15951595
if (targetThread) __emscripten_run_callback_on_thread(targetThread, callbackfunc, eventTypeId, 0, userData);
15961596
else
@@ -1739,7 +1739,7 @@ var LibraryHTML5 = {
17391739
var eventSize = {{{ C_STRUCTS.EmscriptenVisibilityChangeEvent.__size__ }}};
17401740
JSEvents.visibilityChangeEvent ||= _malloc(eventSize);
17411741

1742-
var visibilityChangeEventHandlerFunc = (e = event) => {
1742+
var visibilityChangeEventHandlerFunc = (e) => {
17431743
var visibilityChangeEvent = JSEvents.visibilityChangeEvent;
17441744
fillVisibilityChangeEventData(visibilityChangeEvent);
17451745

@@ -1938,7 +1938,7 @@ var LibraryHTML5 = {
19381938
var eventSize = {{{ C_STRUCTS.EmscriptenGamepadEvent.__size__ }}};
19391939
JSEvents.gamepadEvent ||= _malloc(eventSize);
19401940

1941-
var gamepadEventHandlerFunc = (e = event) => {
1941+
var gamepadEventHandlerFunc = (e) => {
19421942
var gamepadEvent = JSEvents.gamepadEvent;
19431943
fillGamepadEventData(gamepadEvent, e["gamepad"]);
19441944

@@ -2026,7 +2026,7 @@ var LibraryHTML5 = {
20262026

20272027
$registerBeforeUnloadEventCallback__deps: ['$JSEvents', '$findEventTarget'],
20282028
$registerBeforeUnloadEventCallback: (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) => {
2029-
var beforeUnloadEventHandlerFunc = (e = event) => {
2029+
var beforeUnloadEventHandlerFunc = (e) => {
20302030
// Note: This is always called on the main browser thread, since it needs synchronously return a value!
20312031
var confirmationMessage = {{{ makeDynCall('pipp', 'callbackfunc') }}}(eventTypeId, 0, userData);
20322032

@@ -2081,7 +2081,7 @@ var LibraryHTML5 = {
20812081
var eventSize = {{{ C_STRUCTS.EmscriptenBatteryEvent.__size__ }}};
20822082
JSEvents.batteryEvent ||= _malloc(eventSize)
20832083

2084-
var batteryEventHandlerFunc = (e = event) => {
2084+
var batteryEventHandlerFunc = (e) => {
20852085
var batteryEvent = JSEvents.batteryEvent;
20862086
fillBatteryEventData(batteryEvent, battery);
20872087

src/lib/libhtml5_webgl.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -429,7 +429,7 @@ var LibraryHtml5WebGL = {
429429
target ||= Module['canvas'];
430430
#endif
431431

432-
var webGlEventHandlerFunc = (e = event) => {
432+
var webGlEventHandlerFunc = (e) => {
433433
#if PTHREADS
434434
if (targetThread) __emscripten_run_callback_on_thread(targetThread, callbackfunc, eventTypeId, 0, userData);
435435
else

test/codesize/test_codesize_hello_dylink_all.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
2-
"a.out.js": 245799,
2+
"a.out.js": 245679,
33
"a.out.nodebug.wasm": 574007,
4-
"total": 819806,
4+
"total": 819686,
55
"sent": [
66
"IMG_Init",
77
"IMG_Load",

0 commit comments

Comments
 (0)