tree b228f8fc41972753814806eb15c3a3d3913cc4be
parent 2d6518822dc92c98f89393060afab48f069a303d
author shvaikalesh@gmail.com <shvaikalesh@gmail.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc> 1643227815 +0000
committer shvaikalesh@gmail.com <shvaikalesh@gmail.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc> 1643227815 +0000

globalThis.queueMicrotask() should report thrown exceptions
https://bugs.webkit.org/show_bug.cgi?id=235614

Reviewed by Geoff Garen.

LayoutTests/imported/w3c:

Rebaseline WPT tests that are now passing.

* web-platform-tests/html/webappapis/microtask-queuing/queue-microtask-exceptions.any-expected.txt:
* web-platform-tests/html/webappapis/microtask-queuing/queue-microtask-exceptions.any.serviceworker-expected.txt:
* web-platform-tests/html/webappapis/microtask-queuing/queue-microtask-exceptions.any.worker-expected.txt:

Source/JavaScriptCore:

1. Move JSGlobalObject::hasDebugger() to the header to facilitate
   inlining as it's used in a rather hot Microtask execution code.
2. Export a few Debugger methods for JSDOMMicrotask::run().
3. Remove the now-unused createJSMicrotask() overload.

* debugger/Debugger.h:
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::hasDebugger const): Deleted.
* runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::hasDebugger const):
* runtime/JSMicrotask.cpp:
* runtime/JSMicrotask.h:

Source/WebCore:

This patch introduces WebCore::JSDOMMicrotask so the queueMicrotask() could report
a thrown exception as per spec [1] and to avoid invocation of a userland function
from detached <iframe>, which aligns WebKit with Blink and Gecko.

Both this changes align the callback of queueMicrotask() with generated callback
functions / interfaces (see bug 232387) that are implemented via JSCallbackData.

[1] https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#microtask-queuing:report-the-exception

Tests: imported/w3c/web-platform-tests/html/webappapis/microtask-queuing/queue-microtask-exceptions.any.js
       fast/dom/callback-function-detached-frame-queue-microtask.html

* Headers.cmake:
* Sources.txt:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSDOMMicrotask.cpp: Added.
(WebCore::createJSDOMMicrotask):
(WebCore::JSDOMMicrotask::run):
* bindings/js/JSDOMMicrotask.h: Added.
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::queueMicrotask):
* bindings/js/JSWorkerGlobalScopeCustom.cpp:
(WebCore::JSWorkerGlobalScope::queueMicrotask):
* dom/EventLoop.h:

LayoutTests:

* TestExpectations: Unskip 3 WPT tests that are now passing.
* fast/dom/callback-function-detached-frame-queue-microtask-expected.txt: Added.
* fast/dom/callback-function-detached-frame-queue-microtask.html: Added.
* fast/dom/resources/callback-function-detached-frame-queue-microtask-iframe.html: Added.
* inspector/debugger/break-on-uncaught-exception-expected.txt:
* platform/mac-wk1/TestExpectations: Skip Service Worker test.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@288640 268f45cc-cd09-0410-ab3c-d52691b4dbfc
