Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: ec977c8ae18ef88320387a697ba4231c5ac94820
https://github.com/WebKit/WebKit/commit/ec977c8ae18ef88320387a697ba4231c5ac94820
Author: Nipun Shukla <[email protected]>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M Source/WebCore/dom/ComposedTreeAncestorIterator.h
M Source/WebCore/dom/ComposedTreeIterator.h
M Source/WebCore/dom/Element.cpp
M Source/WebCore/dom/Element.h
M Source/WebCore/dom/ElementRareData.cpp
M Source/WebCore/dom/ElementRareData.h
M Source/WebCore/dom/Node.cpp
M Source/WebCore/dom/Node.h
M Source/WebCore/dom/NodeRareData.h
M Source/WebCore/page/text-extraction/TextExtraction.cpp
M Source/WebCore/style/StyleExtractor.cpp
Log Message:
-----------
Move shadow root out of ElementRareData and into Element
https://bugs.webkit.org/show_bug.cgi?id=308341
rdar://170835643
Reviewed by Ryosuke Niwa.
Store shadow root as a member of Element instead of in
ElementRareData, eliminating ElementRareData allocations.
Remove the redundant HasShadowRoot state flag and related
infrastructure.
There is no behavior change, correctness will be verified
with existing tests.
* Source/WebCore/dom/ComposedTreeAncestorIterator.h:
* Source/WebCore/dom/ComposedTreeIterator.h:
* Source/WebCore/dom/Element.cpp:
(WebCore::Element::addShadowRoot):
(WebCore::Element::removeShadowRoot):
(WebCore::Element::removeShadowRootSlow):
* Source/WebCore/dom/Element.h:
(WebCore::Node::shadowRoot const):
(WebCore::Element::shadowRoot const):
* Source/WebCore/dom/ElementRareData.cpp:
* Source/WebCore/dom/ElementRareData.h:
(WebCore::ElementRareData::useTypes const):
(WebCore::ElementRareData::~ElementRareData):
(WebCore::ElementRareData::clearShadowRoot): Deleted.
(WebCore::ElementRareData::shadowRoot const): Deleted.
(WebCore::ElementRareData::setShadowRoot): Deleted.
(WebCore::Node::shadowRoot const):
(WebCore::Element::shadowRoot const):
(WebCore::Element::removeShadowRoot): Deleted.
* Source/WebCore/dom/Node.cpp:
(WebCore::stringForRareDataUseType):
* Source/WebCore/dom/Node.h:
(WebCore::Node::hasShadowRoot const): Deleted.
(WebCore::Node::setHasShadowRoot): Deleted.
* Source/WebCore/dom/NodeRareData.h:
* Source/WebCore/page/text-extraction/TextExtraction.cpp:
* Source/WebCore/style/StyleExtractor.cpp:
Canonical link: https://commits.webkit.org/308069@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications