Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: fa5a06a66c96bc6864e684d9f9f07b115f39c60e
https://github.com/WebKit/WebKit/commit/fa5a06a66c96bc6864e684d9f9f07b115f39c60e
Author: Ryosuke Niwa <[email protected]>
Date: 2023-02-07 (Tue, 07 Feb 2023)
Changed paths:
M
LayoutTests/imported/w3c/web-platform-tests/custom-elements/range-and-constructors-expected.txt
M Source/WebCore/dom/CustomElementReactionQueue.cpp
M Source/WebCore/dom/CustomElementReactionQueue.h
M Source/WebCore/dom/Range.cpp
Log Message:
-----------
Range APIs do not construct / move trees in tree order (observable by custom
elements)
https://bugs.webkit.org/show_bug.cgi?id=188279
Reviewed by Chris Dumez.
In order to match the spec'ed upgrade order, create a nested custom element
reaction stack
which is used as a holding tank of upgrade reactions during
Range::processContents.
At the end, we traverse the document fragment top-down and re-enqueue each
element to the real
custom element reaction stack in the tree order.
*
LayoutTests/imported/w3c/web-platform-tests/custom-elements/range-and-constructors-expected.txt:
* Source/WebCore/dom/CustomElementReactionQueue.cpp:
(WebCore::CustomElementQueue::takeElements): Added.
(WebCore::CustomElementReactionQueue::enqueueElementsOnAppropriateElementQueue):
Added.
(WebCore::CustomElementReactionStack::takeElements): Added.
* Source/WebCore/dom/CustomElementReactionQueue.h:
* Source/WebCore/dom/Range.cpp:
(WebCore::Range::processContents):
Canonical link: https://commits.webkit.org/259987@main
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes