[webkit-changes] [WebKit/WebKit] 35c1f1: Generalize RenderElementType as TypeFlag and make ...

Ryosuke Niwa noreply at github.com
Tue Dec 19 16:11:52 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 35c1f16c757919912b753c31234880400a5c6f25
      https://github.com/WebKit/WebKit/commit/35c1f16c757919912b753c31234880400a5c6f25
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M Source/WebCore/rendering/RenderBlock.cpp
    M Source/WebCore/rendering/RenderBlock.h
    M Source/WebCore/rendering/RenderBlockFlow.cpp
    M Source/WebCore/rendering/RenderBlockFlow.h
    M Source/WebCore/rendering/RenderBox.cpp
    M Source/WebCore/rendering/RenderBox.h
    M Source/WebCore/rendering/RenderBoxModelObject.cpp
    M Source/WebCore/rendering/RenderBoxModelObject.h
    M Source/WebCore/rendering/RenderElement.cpp
    M Source/WebCore/rendering/RenderElement.h
    M Source/WebCore/rendering/RenderFlexibleBox.cpp
    M Source/WebCore/rendering/RenderFragmentContainer.cpp
    M Source/WebCore/rendering/RenderFragmentContainer.h
    M Source/WebCore/rendering/RenderFragmentedFlow.cpp
    M Source/WebCore/rendering/RenderImage.cpp
    M Source/WebCore/rendering/RenderImage.h
    M Source/WebCore/rendering/RenderInline.cpp
    M Source/WebCore/rendering/RenderLayerModelObject.cpp
    M Source/WebCore/rendering/RenderLayerModelObject.h
    M Source/WebCore/rendering/RenderMedia.cpp
    M Source/WebCore/rendering/RenderMultiColumnSpannerPlaceholder.cpp
    M Source/WebCore/rendering/RenderObject.cpp
    M Source/WebCore/rendering/RenderObject.h
    M Source/WebCore/rendering/RenderReplaced.cpp
    M Source/WebCore/rendering/RenderReplaced.h
    M Source/WebCore/rendering/RenderText.cpp
    M Source/WebCore/rendering/RenderTextControl.cpp
    M Source/WebCore/rendering/RenderWidget.cpp
    M Source/WebCore/rendering/svg/RenderSVGBlock.cpp
    M Source/WebCore/rendering/svg/RenderSVGModelObject.cpp
    M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGModelObject.cpp

  Log Message:
  -----------
  Generalize RenderElementType as TypeFlag and make it const
https://bugs.webkit.org/show_bug.cgi?id=266659

Reviewed by Simon Fraser.

This PR generalizes RenderElementType as TypeFlag to be used with any RenderObject instead of
just RenderElement and moves IsAnonymous, IsText, and IsBox flags from RenderObjectFlag.

It also renames the member variable to m_typeFlags and makes it const so that its value doesn't
change once RenderObject is initialized. This PR also makes m_type const as well.

Finally, this PR also creates RenderReplaced specific type flags (ReplacedFlag) and moves
IsImage, IsMedia, IsWidget over there to free up more bits in TypeFlag.

* Source/WebCore/rendering/RenderBlock.cpp:
(WebCore::RenderBlock::RenderBlock):
* Source/WebCore/rendering/RenderBlock.h:
* Source/WebCore/rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::RenderBlockFlow):
* Source/WebCore/rendering/RenderBlockFlow.h:
(WebCore::RenderBlockFlow::RenderBlockFlow):
* Source/WebCore/rendering/RenderBox.cpp:
(WebCore::RenderBox::RenderBox):
* Source/WebCore/rendering/RenderBox.h:
* Source/WebCore/rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::RenderBoxModelObject):
* Source/WebCore/rendering/RenderBoxModelObject.h:
* Source/WebCore/rendering/RenderElement.cpp:
(WebCore::RenderElement::RenderElement):
* Source/WebCore/rendering/RenderElement.h:
* Source/WebCore/rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::RenderFlexibleBox):
* Source/WebCore/rendering/RenderFragmentContainer.cpp:
(WebCore::RenderFragmentContainer::RenderFragmentContainer):
* Source/WebCore/rendering/RenderFragmentContainer.h:
* Source/WebCore/rendering/RenderFragmentedFlow.cpp:
(WebCore::RenderFragmentedFlow::RenderFragmentedFlow):
* Source/WebCore/rendering/RenderImage.cpp:
(WebCore::RenderImage::RenderImage):
* Source/WebCore/rendering/RenderImage.h:
* Source/WebCore/rendering/RenderInline.cpp:
(WebCore::RenderInline::RenderInline):
* Source/WebCore/rendering/RenderLayerModelObject.cpp:
(WebCore::RenderLayerModelObject::RenderLayerModelObject):
* Source/WebCore/rendering/RenderLayerModelObject.h:
* Source/WebCore/rendering/RenderMedia.cpp:
(WebCore::RenderMedia::RenderMedia):
* Source/WebCore/rendering/RenderMultiColumnSpannerPlaceholder.cpp:
(WebCore::RenderMultiColumnSpannerPlaceholder::RenderMultiColumnSpannerPlaceholder):
* Source/WebCore/rendering/RenderObject.cpp:
(WebCore::RenderObject::RenderObject):
(WebCore::RenderObject::RenderObjectRareData::RenderObjectRareData):
(WebCore::RenderObject::setIsRenderFragmentedFlow): Deleted.
* Source/WebCore/rendering/RenderObject.h:
(WebCore::RenderObject::isRenderReplaced const):
(WebCore::RenderObject::isRenderBoxModelObject const):
(WebCore::RenderObject::isRenderBlock const):
(WebCore::RenderObject::isRenderBlockFlow const):
(WebCore::RenderObject::isRenderInline const):
(WebCore::RenderObject::isRenderLayerModelObject const):
(WebCore::RenderObject::isRenderMedia const):
(WebCore::RenderObject::isRenderImage const):
(WebCore::RenderObject::isRenderFragmentContainer const):
(WebCore::RenderObject::isRenderTextControl const):
(WebCore::RenderObject::isRenderWidget const):
(WebCore::RenderObject::isLegacyRenderSVGModelObject const):
(WebCore::RenderObject::isRenderSVGModelObject const):
(WebCore::RenderObject::isRenderSVGBlock const):
(WebCore::RenderObject::isAnonymous const):
(WebCore::RenderObject::isRenderText const):
(WebCore::RenderObject::isRenderBox const):
(WebCore::RenderObject::isRenderFragmentedFlow const):
(WebCore::RenderObject::isRenderFlexibleBox const):
(WebCore::RenderObject::replacedFlags const):
(WebCore::RenderObject::setReplacedFlags):
(WebCore::RenderObject::svgFlags const):
(WebCore::RenderObject::setSVGFlags):
(WebCore::RenderObject::setIsRenderText): Deleted.
(WebCore::RenderObject::setIsRenderBox): Deleted.
* Source/WebCore/rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::RenderReplaced):
* Source/WebCore/rendering/RenderReplaced.h:
(WebCore::RenderReplaced::RenderReplaced):
* Source/WebCore/rendering/RenderText.cpp:
(WebCore::RenderText::RenderText):
(WebCore::m_containsOnlyASCII): Deleted.
* Source/WebCore/rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::RenderTextControl):
* Source/WebCore/rendering/RenderWidget.cpp:
(WebCore::RenderWidget::RenderWidget):
* Source/WebCore/rendering/svg/RenderSVGBlock.cpp:
(WebCore::RenderSVGBlock::RenderSVGBlock):
* Source/WebCore/rendering/svg/RenderSVGModelObject.cpp:
(WebCore::RenderSVGModelObject::RenderSVGModelObject):
* Source/WebCore/rendering/svg/legacy/LegacyRenderSVGModelObject.cpp:
(WebCore::LegacyRenderSVGModelObject::LegacyRenderSVGModelObject):

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




More information about the webkit-changes mailing list