From e7c894e8f54ebd2d9fd61c97a265906ac54e2068 Mon Sep 17 00:00:00 2001 From: Yoshiya Hinosawa Date: Fri, 20 May 2022 11:57:05 +0900 Subject: fix: prevent Deno.exit to fail when dispatchEvent tampered (#14665) Co-authored-by: Colin Ihrig --- runtime/js/30_os.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'runtime') diff --git a/runtime/js/30_os.js b/runtime/js/30_os.js index e8467c268..9cc2ba5c7 100644 --- a/runtime/js/30_os.js +++ b/runtime/js/30_os.js @@ -8,6 +8,8 @@ SymbolFor, } = window.__bootstrap.primordials; + const windowDispatchEvent = window.dispatchEvent.bind(window); + function loadavg() { return core.opSync("op_loadavg"); } @@ -51,7 +53,7 @@ if (!window[SymbolFor("isUnloadDispatched")]) { // Invokes the `unload` hooks before exiting // ref: https://github.com/denoland/deno/issues/3603 - window.dispatchEvent(new Event("unload")); + windowDispatchEvent(new Event("unload")); } if (exitHandler) { -- cgit v1.2.3