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

Reply via email to