[webkit-changes] [WebKit/WebKit] 038b32: Split NodeFlag into TypeFlag and StateFlag

Ryosuke Niwa noreply at github.com
Thu Dec 21 21:13:06 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 038b325a0082d69adbffc3404f6fc5951209f0f9
      https://github.com/WebKit/WebKit/commit/038b325a0082d69adbffc3404f6fc5951209f0f9
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2023-12-21 (Thu, 21 Dec 2023)

  Changed paths:
    M Source/WebCore/Modules/model-element/HTMLModelElement.h
    M Source/WebCore/cssjit/SelectorCompiler.cpp
    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/domjit/DOMJITHelpers.h
    M Source/WebCore/domjit/JSNodeDOMJIT.cpp
    M Source/WebCore/html/HTMLFormControlElement.h
    M Source/WebCore/html/HTMLFrameElementBase.h
    M Source/WebCore/html/HTMLFrameSetElement.h
    M Source/WebCore/html/HTMLImageElement.h
    M Source/WebCore/html/HTMLLIElement.h
    M Source/WebCore/html/HTMLMediaElement.h
    M Source/WebCore/html/HTMLOptionElement.h
    M Source/WebCore/html/HTMLPlugInElement.h
    M Source/WebCore/html/HTMLProgressElement.h
    M Source/WebCore/html/HTMLUnknownElement.h
    M Source/WebCore/html/shadow/DateTimeFieldElement.h
    M Source/WebCore/html/shadow/SliderThumbElement.h
    M Source/WebCore/html/shadow/SpinButtonElement.h
    M Source/WebCore/html/shadow/SwitchThumbElement.h
    M Source/WebCore/html/shadow/SwitchTrackElement.h
    M Source/WebCore/html/shadow/TextControlInnerElements.h
    M Source/WebCore/html/track/TextTrackCue.h
    M Source/WebCore/mathml/MathMLMathElement.h
    M Source/WebCore/mathml/MathMLTokenElement.h
    M Source/WebCore/mathml/MathMLUnknownElement.h
    M Source/WebCore/svg/SVGUnknownElement.h

  Log Message:
  -----------
  Split NodeFlag into TypeFlag and StateFlag
https://bugs.webkit.org/show_bug.cgi?id=266778

Reviewed by Antti Koivisto and Tim Nguyen.

This PR splits NodeFlag, which is currently a single 32-bit flag with some values representing types and others
denoting states, into two 16-bit flags: TypeFlag and StateFlag. TypeFlag is immutable once Node is initialized.

* Source/WebCore/cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateSpecialFailureInQuirksModeForActiveAndHoverIfNeeded):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsLastChild):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsOnlyChild):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsLink):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateNthLastChildParentCheckAndRelationUpdate):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsFirstLink):
* Source/WebCore/dom/Element.cpp:
(WebCore::Element::setIsLink):
(WebCore::Element::invalidateForQueryContainerSizeChange):
(WebCore::Element::needsUpdateQueryContainerDependentStyle const):
(WebCore::Element::clearNeedsUpdateQueryContainerDependentStyle):
(WebCore::Element::resolveComputedStyle):
(WebCore::Element::setFullscreenFlag):
(WebCore::Element::setIFrameFullscreenFlag):
* Source/WebCore/dom/Element.h:
(WebCore::Element::isLink const):
(WebCore::Element::hasFullscreenFlag const):
(WebCore::Element::hasIFrameFullscreenFlag const):
(WebCore::Element::effectiveLangKnownToMatchDocumentElement const):
(WebCore::Element::setEffectiveLangKnownToMatchDocumentElement):
(WebCore::Element::hasEverHadSmoothScroll const):
(WebCore::Element::setHasEverHadSmoothScroll):
* Source/WebCore/dom/Node.cpp:
(WebCore::Node::invalidateStyle):
* Source/WebCore/dom/Node.h:
(WebCore::Node::needsSVGRendererUpdate const):
(WebCore::Node::setNeedsSVGRendererUpdate):
(WebCore::Node::selfOrPrecedingNodesAffectDirAuto const):
(WebCore::Node::setSelfOrPrecedingNodesAffectDirAuto):
(WebCore::Node::isUserActionElement const):
(WebCore::Node::setUserActionElement):
(WebCore::Node::stateFlagsMemoryOffset):
(WebCore::Node::flagIsLink):
(WebCore::Node::flagIsParsingChildren):
(WebCore::Node::hasStateFlag const):
(WebCore::Node::setStateFlag const):
(WebCore::Node::clearStateFlag const):
(WebCore::Node::isParsingChildrenFinished const):
(WebCore::Node::setIsParsingChildrenFinished):
(WebCore::Node::clearIsParsingChildrenFinished):
(WebCore::Node::setHasValidStyle):
(WebCore::Node::setNodeFlag const): Deleted.
(WebCore::Node::clearNodeFlag const): Deleted.

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




More information about the webkit-changes mailing list