Implement the processing model of the HTML5 event loop to perform a microtask checkpoint after performing tasks's steps: https://html.spec.whatwg.org/multipage/webappapis.html#event-loop-processing-model
<rdar://problem/57449333>
Created attachment 384232 [details] Patch
Comment on attachment 384232 [details] Patch Attachment 384232 [details] did not pass win-ews (win): Output: https://webkit-queues.webkit.org/results/13274794 New failing tests: svg/as-image/svg-nested.html
Created attachment 384235 [details] Archive of layout-test-results from ews213 for win-future The attached test failures were seen while running run-webkit-tests on the win-ews. Bot: ews213 Port: win-future Platform: CYGWIN_NT-10.0-17763-3.0.5-338.x86_64-x86_64-64bit
Comment on attachment 384232 [details] Patch Ping reviewers.
Comment on attachment 384232 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=384232&action=review > Source/WebCore/dom/EventLoop.cpp:85 > + m_groupsWithSuspenedTasks.clear(); typo: m_groupsWithSuspenedTasks -> m_groupsWithSuspendedTasks > Source/WebCore/testing/Internals.h:780 > + ExceptionOr<void> queueMicrotaskInTask(Document&, const String& source, RefPtr<VoidCallback>&&); Kind of a strange name IMHO.
(In reply to Chris Dumez from comment #6) > Comment on attachment 384232 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=384232&action=review > > > Source/WebCore/dom/EventLoop.cpp:85 > > + m_groupsWithSuspenedTasks.clear(); > > typo: m_groupsWithSuspenedTasks -> m_groupsWithSuspendedTasks > > > Source/WebCore/testing/Internals.h:780 > > + ExceptionOr<void> queueMicrotaskInTask(Document&, const String& source, RefPtr<VoidCallback>&&); > > Kind of a strange name IMHO. How about queueTaskToQueueMicrotask?
(In reply to Ryosuke Niwa from comment #7) > (In reply to Chris Dumez from comment #6) > > Comment on attachment 384232 [details] > > Patch > > > > View in context: > > https://bugs.webkit.org/attachment.cgi?id=384232&action=review > > > > > Source/WebCore/dom/EventLoop.cpp:85 > > > + m_groupsWithSuspenedTasks.clear(); > > > > typo: m_groupsWithSuspenedTasks -> m_groupsWithSuspendedTasks > > > > > Source/WebCore/testing/Internals.h:780 > > > + ExceptionOr<void> queueMicrotaskInTask(Document&, const String& source, RefPtr<VoidCallback>&&); > > > > Kind of a strange name IMHO. > > How about queueTaskToQueueMicrotask? I like this better. It makes it clearer what the implementation actually does.
Committed r253091: <https://trac.webkit.org/changeset/253091>