Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 7b29d177b63b208975414df5582923bcc419f19f
      
https://github.com/WebKit/WebKit/commit/7b29d177b63b208975414df5582923bcc419f19f
  Author: Ryosuke Niwa <rn...@webkit.org>
  Date:   2025-04-28 (Mon, 28 Apr 2025)

  Changed paths:
    M Source/WebCore/dom/Document.cpp
    M Source/WebCore/dom/Document.h
    M Source/WebCore/dom/DocumentFragment.cpp
    M Source/WebCore/dom/Element.cpp
    M Source/WebCore/dom/Element.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/dom/Text.cpp
    M Source/WebCore/domjit/DOMJITHelpers.h
    M Source/WebCore/html/HTMLFormControlElement.cpp

  Log Message:
  -----------
  Free up three bits in Node::StateFlag / Node::ElementStateFlag
https://bugs.webkit.org/show_bug.cgi?id=292174

Reviewed by Anne van Kesteren.

This PR merges Node::StateFlag and Node::ElementStateFlag and free up 3 bits by
moving two bits to Node::TypeFlag and overloading them with mutually exclusive 
bits
in Node::TypeFlag.

It also convert StateFlag::DeletionHasBegun to its own boolean 
m_deletionHasBegun
since it's only useful in debug builds to free up another bit in 
Node::StateFlag.

In addition, this PR removes two unused functions in DOM JIT:
branchTestIsShadowRootFlagOnNode and branchTestIsElementOrShadowRootFlagOnNode.

* Source/WebCore/dom/Document.cpp:
(WebCore::Document::removedLastRef):
* Source/WebCore/dom/Document.h:
(WebCore::Document::decrementReferencingNodeCount):
* Source/WebCore/dom/DocumentFragment.cpp:
(WebCore::DocumentFragment::createForInnerOuterHTML):
* Source/WebCore/dom/Element.cpp:
(WebCore::Element::~Element):
(WebCore::Element::invalidateForQueryContainerSizeChange):
(WebCore::Element::needsUpdateQueryContainerDependentStyle const):
(WebCore::Element::clearNeedsUpdateQueryContainerDependentStyle):
(WebCore::Element::setFullscreenFlag):
(WebCore::Element::identifier const):
* Source/WebCore/dom/Element.h:
(WebCore::Element::hasFullscreenFlag const):
(WebCore::Element::hasEverHadSmoothScroll const):
(WebCore::Element::setHasEverHadSmoothScroll):
* Source/WebCore/dom/Node.cpp:
(WebCore::Node::removedLastRef):
* Source/WebCore/dom/Node.h:
(WebCore::Node::isFormControlElement const):
(WebCore::Node::isPseudoElement const):
(WebCore::Node::isTreeScope const):
(WebCore::Node::isShadowRoot const):
(WebCore::Node::needsSVGRendererUpdate const):
(WebCore::Node::setNeedsSVGRendererUpdate):
(WebCore::Node::isInCustomElementReactionQueue const):
(WebCore::Node::setIsInCustomElementReactionQueue):
(WebCore::Node::clearIsInCustomElementReactionQueue):
(WebCore::Node::usesNullCustomElementRegistry const):
(WebCore::Node::setUsesNullCustomElementRegistry const):
(WebCore::Node::clearUsesNullCustomElementRegistry const):
(WebCore::Node::usesScopedCustomElementRegistryMap const):
(WebCore::Node::setUsesScopedCustomElementRegistryMap):
(WebCore::Node::clearUsesScopedCustomElementRegistryMap):
(WebCore::Node::isUserActionElement const):
(WebCore::Node::setUserActionElement):
(WebCore::Node::isEditingText const):
(WebCore::Node::isDocumentFragmentForInnerOuterHTML const):
(WebCore::Node::flagIsElement):
(WebCore::Node::deletionHasBegun const):
(WebCore::Node::flagIsShadowRoot): Deleted.
(WebCore::Node::hasElementStateFlag const): Deleted.
(WebCore::Node::clearElementStateFlag const): Deleted.
(WebCore::Node::setElementStateFlag const): Deleted.
* Source/WebCore/dom/PseudoElement.cpp:
(WebCore::PseudoElement::PseudoElement):
(WebCore::m_pseudoId):
* Source/WebCore/dom/ShadowRoot.cpp:
(WebCore::ShadowRoot::ShadowRoot):
* Source/WebCore/dom/Text.cpp:
(WebCore::Text::createEditingText):
* Source/WebCore/domjit/DOMJITHelpers.h:
(WebCore::DOMJIT::branchTestIsShadowRootFlagOnNode): Deleted.
(WebCore::DOMJIT::branchTestIsElementOrShadowRootFlagOnNode): Deleted.
* Source/WebCore/html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::HTMLFormControlElement):

Canonical link: https://commits.webkit.org/294205@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to