From d0c9c848b35f5af21f13b3b10c0022c9bd9a451f Mon Sep 17 00:00:00 2001 From: Yan Pujante Date: Fri, 21 Nov 2025 09:39:48 -0800 Subject: [PATCH 1/4] Fixes #25846 --- src/lib/libhtml5.js | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/lib/libhtml5.js b/src/lib/libhtml5.js index 7bdfd4d42c1c2..132335855ec9e 100644 --- a/src/lib/libhtml5.js +++ b/src/lib/libhtml5.js @@ -202,16 +202,19 @@ var LibraryHTML5 = { }, removeSingleHandler(eventHandler) { - for (var [i, handler] of JSEvents.eventHandlers.entries()) { + let success = false; + for (let i = 0; i < JSEvents.eventHandlers.length; ++i) { + const handler = JSEvents.eventHandlers[i]; if (handler.target === eventHandler.target && handler.eventTypeId === eventHandler.eventTypeId && handler.callbackfunc === eventHandler.callbackfunc && handler.userData === eventHandler.userData) { - JSEvents._removeHandler(i); - return {{{ cDefs.EMSCRIPTEN_RESULT_SUCCESS }}}; + // in some very rare cases (ex: Safari / fullscreen events), there is more than 1 handler (eventTypeString is different) + JSEvents._removeHandler(i--); + success = true; } } - return {{{ cDefs.EMSCRIPTEN_RESULT_INVALID_PARAM }}}; + return success ? {{{ cDefs.EMSCRIPTEN_RESULT_SUCCESS }}} : {{{ cDefs.EMSCRIPTEN_RESULT_INVALID_PARAM }}}; }, #if PTHREADS From 9265ba423ccba2650f24eb0e568af7e1bc516977 Mon Sep 17 00:00:00 2001 From: Yan Pujante Date: Fri, 21 Nov 2025 10:56:45 -0800 Subject: [PATCH 2/4] Run the tool to rebase sizes --- test/codesize/test_codesize_hello_O0.json | 8 ++++---- ...mal_runtime_code_size_random_printf_wasm.json | 4 ++-- ..._runtime_code_size_random_printf_wasm2js.json | 4 ++-- test/codesize/test_unoptimized_code_size.json | 16 ++++++++-------- 4 files changed, 16 insertions(+), 16 deletions(-) diff --git a/test/codesize/test_codesize_hello_O0.json b/test/codesize/test_codesize_hello_O0.json index ba98f374337cd..a93d8142c551e 100644 --- a/test/codesize/test_codesize_hello_O0.json +++ b/test/codesize/test_codesize_hello_O0.json @@ -1,10 +1,10 @@ { "a.out.js": 24194, "a.out.js.gz": 8693, - "a.out.nodebug.wasm": 15132, - "a.out.nodebug.wasm.gz": 7452, - "total": 39326, - "total_gz": 16145, + "a.out.nodebug.wasm": 15144, + "a.out.nodebug.wasm.gz": 7460, + "total": 39338, + "total_gz": 16153, "sent": [ "fd_write" ], diff --git a/test/codesize/test_minimal_runtime_code_size_random_printf_wasm.json b/test/codesize/test_minimal_runtime_code_size_random_printf_wasm.json index bde88665666a5..e6244fa386d50 100644 --- a/test/codesize/test_minimal_runtime_code_size_random_printf_wasm.json +++ b/test/codesize/test_minimal_runtime_code_size_random_printf_wasm.json @@ -1,4 +1,4 @@ { - "a.html": 10980, - "a.html.gz": 5738 + "a.html": 10988, + "a.html.gz": 5739 } diff --git a/test/codesize/test_minimal_runtime_code_size_random_printf_wasm2js.json b/test/codesize/test_minimal_runtime_code_size_random_printf_wasm2js.json index 84818c29a04bb..3958d422dd2b6 100644 --- a/test/codesize/test_minimal_runtime_code_size_random_printf_wasm2js.json +++ b/test/codesize/test_minimal_runtime_code_size_random_printf_wasm2js.json @@ -1,4 +1,4 @@ { - "a.html": 17169, - "a.html.gz": 7508 + "a.html": 17225, + "a.html.gz": 7548 } diff --git a/test/codesize/test_unoptimized_code_size.json b/test/codesize/test_unoptimized_code_size.json index 38553722bf9d6..c1b6c55f899c4 100644 --- a/test/codesize/test_unoptimized_code_size.json +++ b/test/codesize/test_unoptimized_code_size.json @@ -1,16 +1,16 @@ { "hello_world.js": 56928, "hello_world.js.gz": 17707, - "hello_world.wasm": 15132, - "hello_world.wasm.gz": 7452, + "hello_world.wasm": 15144, + "hello_world.wasm.gz": 7460, "no_asserts.js": 26632, "no_asserts.js.gz": 8884, - "no_asserts.wasm": 12181, - "no_asserts.wasm.gz": 5981, + "no_asserts.wasm": 12193, + "no_asserts.wasm.gz": 5990, "strict.js": 54903, "strict.js.gz": 17041, - "strict.wasm": 15132, - "strict.wasm.gz": 7447, - "total": 180908, - "total_gz": 64512 + "strict.wasm": 15144, + "strict.wasm.gz": 7455, + "total": 180944, + "total_gz": 64537 } From c4e83f42163d3e310fa21985e7ac3c918bac9b85 Mon Sep 17 00:00:00 2001 From: Yan Pujante Date: Fri, 21 Nov 2025 11:13:48 -0800 Subject: [PATCH 3/4] Revert "Run the tool to rebase sizes" This reverts commit 9265ba423ccba2650f24eb0e568af7e1bc516977. --- test/codesize/test_codesize_hello_O0.json | 8 ++++---- ...mal_runtime_code_size_random_printf_wasm.json | 4 ++-- ..._runtime_code_size_random_printf_wasm2js.json | 4 ++-- test/codesize/test_unoptimized_code_size.json | 16 ++++++++-------- 4 files changed, 16 insertions(+), 16 deletions(-) diff --git a/test/codesize/test_codesize_hello_O0.json b/test/codesize/test_codesize_hello_O0.json index a93d8142c551e..ba98f374337cd 100644 --- a/test/codesize/test_codesize_hello_O0.json +++ b/test/codesize/test_codesize_hello_O0.json @@ -1,10 +1,10 @@ { "a.out.js": 24194, "a.out.js.gz": 8693, - "a.out.nodebug.wasm": 15144, - "a.out.nodebug.wasm.gz": 7460, - "total": 39338, - "total_gz": 16153, + "a.out.nodebug.wasm": 15132, + "a.out.nodebug.wasm.gz": 7452, + "total": 39326, + "total_gz": 16145, "sent": [ "fd_write" ], diff --git a/test/codesize/test_minimal_runtime_code_size_random_printf_wasm.json b/test/codesize/test_minimal_runtime_code_size_random_printf_wasm.json index e6244fa386d50..bde88665666a5 100644 --- a/test/codesize/test_minimal_runtime_code_size_random_printf_wasm.json +++ b/test/codesize/test_minimal_runtime_code_size_random_printf_wasm.json @@ -1,4 +1,4 @@ { - "a.html": 10988, - "a.html.gz": 5739 + "a.html": 10980, + "a.html.gz": 5738 } diff --git a/test/codesize/test_minimal_runtime_code_size_random_printf_wasm2js.json b/test/codesize/test_minimal_runtime_code_size_random_printf_wasm2js.json index 3958d422dd2b6..84818c29a04bb 100644 --- a/test/codesize/test_minimal_runtime_code_size_random_printf_wasm2js.json +++ b/test/codesize/test_minimal_runtime_code_size_random_printf_wasm2js.json @@ -1,4 +1,4 @@ { - "a.html": 17225, - "a.html.gz": 7548 + "a.html": 17169, + "a.html.gz": 7508 } diff --git a/test/codesize/test_unoptimized_code_size.json b/test/codesize/test_unoptimized_code_size.json index c1b6c55f899c4..38553722bf9d6 100644 --- a/test/codesize/test_unoptimized_code_size.json +++ b/test/codesize/test_unoptimized_code_size.json @@ -1,16 +1,16 @@ { "hello_world.js": 56928, "hello_world.js.gz": 17707, - "hello_world.wasm": 15144, - "hello_world.wasm.gz": 7460, + "hello_world.wasm": 15132, + "hello_world.wasm.gz": 7452, "no_asserts.js": 26632, "no_asserts.js.gz": 8884, - "no_asserts.wasm": 12193, - "no_asserts.wasm.gz": 5990, + "no_asserts.wasm": 12181, + "no_asserts.wasm.gz": 5981, "strict.js": 54903, "strict.js.gz": 17041, - "strict.wasm": 15144, - "strict.wasm.gz": 7455, - "total": 180944, - "total_gz": 64537 + "strict.wasm": 15132, + "strict.wasm.gz": 7447, + "total": 180908, + "total_gz": 64512 } From 93b074a248a0aa1d7f4bac2214eaebd382f98b56 Mon Sep 17 00:00:00 2001 From: Sam Clegg Date: Fri, 21 Nov 2025 11:51:21 -0800 Subject: [PATCH 4/4] codesize --- test/codesize/test_codesize_hello_dylink_all.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/codesize/test_codesize_hello_dylink_all.json b/test/codesize/test_codesize_hello_dylink_all.json index 139779b4e2dfc..c7d6d21042b53 100644 --- a/test/codesize/test_codesize_hello_dylink_all.json +++ b/test/codesize/test_codesize_hello_dylink_all.json @@ -1,7 +1,7 @@ { - "a.out.js": 245720, + "a.out.js": 245732, "a.out.nodebug.wasm": 574007, - "total": 819727, + "total": 819739, "sent": [ "IMG_Init", "IMG_Load",