From c30d95f2e36cb3519e1e23c0934b388ebba6bc2c Mon Sep 17 00:00:00 2001 From: Nayeem Rahman Date: Tue, 19 Apr 2022 09:59:51 +0100 Subject: feat(ext/web): add globalThis.reportError() (#13799) --- ext/web/02_event.js | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'ext/web/02_event.js') diff --git a/ext/web/02_event.js b/ext/web/02_event.js index 677768ac9..06df6429c 100644 --- a/ext/web/02_event.js +++ b/ext/web/02_event.js @@ -1367,6 +1367,20 @@ reportExceptionStackedCalls--; } + function checkThis(thisArg) { + if (thisArg !== null && thisArg !== undefined && thisArg !== globalThis) { + throw new TypeError("Illegal invocation"); + } + } + + // https://html.spec.whatwg.org/#dom-reporterror + function reportError(error) { + checkThis(this); + const prefix = "Failed to call 'reportError'"; + webidl.requiredArguments(arguments.length, 1, { prefix }); + reportException(error); + } + window.Event = Event; window.EventTarget = EventTarget; window.ErrorEvent = ErrorEvent; @@ -1377,6 +1391,7 @@ window.dispatchEvent = EventTarget.prototype.dispatchEvent; window.addEventListener = EventTarget.prototype.addEventListener; window.removeEventListener = EventTarget.prototype.removeEventListener; + window.reportError = reportError; window.__bootstrap.eventTarget = { EventTarget, setEventTargetData, -- cgit v1.2.3