Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: ea5e30e46342b0e755281a1ffb2f23c37a2b9bcd
https://github.com/WebKit/WebKit/commit/ea5e30e46342b0e755281a1ffb2f23c37a2b9bcd
Author: Ryosuke Niwa <[email protected]>
Date: 2023-12-21 (Thu, 21 Dec 2023)
Changed paths:
M Source/WebCore/dom/Document.cpp
M Source/WebCore/dom/Element.cpp
M Source/WebCore/dom/Element.h
M Source/WebCore/dom/EventTarget.h
M Source/WebCore/dom/GCReachableRef.cpp
M Source/WebCore/dom/GCReachableRef.h
M Source/WebCore/dom/Node.cpp
M Source/WebCore/dom/Node.h
M Source/WebCore/dom/PseudoElement.cpp
M Source/WebCore/dom/ShadowRoot.cpp
M Source/WebCore/html/HTMLMaybeFormAssociatedCustomElement.cpp
M Source/WebCore/html/HTMLMaybeFormAssociatedCustomElement.h
M Source/WebCore/svg/SVGElement.h
Log Message:
-----------
Move Node flags for ownerships and relationships to EventTargetFlag
https://bugs.webkit.org/show_bug.cgi?id=266754
Reviewed by Tim Nguyen.
This PR consolidates NodeFlag flags that express ownership and relationships
with other objects
to EventTargetFlag. NodeFlag now represents Node's types and its own state.
The lower 16-bit of NodeFlag is now reserved for type information, and only
upper 16-bits can be
used to express Node's states.
It also generalizes GCReachableRefMap so that it works with any EventTarget
instead of just Node.
* Source/WebCore/dom/Document.cpp:
(WebCore::Document::Document):
* Source/WebCore/dom/Element.cpp:
(WebCore::Element::addToTopLayer):
(WebCore::Element::removeFromTopLayer):
* Source/WebCore/dom/Element.h:
(WebCore::Element::isInTopLayer const):
(WebCore::Element::effectiveLangKnownToMatchDocumentElement const):
(WebCore::Element::setEffectiveLangKnownToMatchDocumentElement):
(WebCore::Element::hasEverHadSmoothScroll const):
(WebCore::Element::setHasEverHadSmoothScroll):
* Source/WebCore/dom/EventTarget.h:
(WebCore::EventTarget::isInGCReacheableRefMap const): Moved from Node.
(WebCore::EventTarget::setIsInGCReacheableRefMap): Ditto.
(WebCore::EventTarget::clearEventTargetFlag): Added.
(WebCore::EventTarget::setEventTargetFlag): Use OptionSet to manipulate
bitfields for clarity
and simplicity.
* Source/WebCore/dom/GCReachableRef.cpp:
(WebCore::GCReachableRefMap::map):
* Source/WebCore/dom/GCReachableRef.h:
(WebCore::GCReachableRefMap::contains): Now works with any EventTarget, not
just Node.
(WebCore::GCReachableRefMap::add): Ditto.
(WebCore::GCReachableRefMap::remove): Ditto.
* Source/WebCore/dom/Node.cpp:
(WebCore::Node::insertedIntoAncestor):
(WebCore::Node::removedFromAncestor):
(WebCore::Node::moveTreeToNewScope):
* Source/WebCore/dom/Node.h:
(WebCore::Node::hasSyntheticAttrChildNodes const):
(WebCore::Node::setHasSyntheticAttrChildNodes):
(WebCore::Node::hasShadowRootContainingSlots const):
(WebCore::Node::setHasShadowRootContainingSlots):
(WebCore::Node::isConnected const):
(WebCore::Node::isInShadowTree const):
(WebCore::Node::isInTreeScope const):
(WebCore::Node::hasBeenInUserAgentShadowTree const):
(WebCore::Node::isInGCReacheableRefMap const): Deleted.
(WebCore::Node::setIsInGCReacheableRefMap): Deleted.
* Source/WebCore/dom/PseudoElement.cpp:
(WebCore::PseudoElement::PseudoElement):
* Source/WebCore/dom/ShadowRoot.cpp:
(WebCore::ShadowRoot::ShadowRoot):
* Source/WebCore/html/HTMLMaybeFormAssociatedCustomElement.cpp:
(WebCore::HTMLMaybeFormAssociatedCustomElement::setInterfaceIsFormAssociated):
* Source/WebCore/html/HTMLMaybeFormAssociatedCustomElement.h:
* Source/WebCore/svg/SVGElement.h:
(WebCore::SVGElement::hasPendingResources const):
(WebCore::SVGElement::setHasPendingResources):
(WebCore::SVGElement::clearHasPendingResources):
Canonical link: https://commits.webkit.org/272421@main
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes