[webkit-changes] [WebKit/WebKit] 66ab9a: Introduce BoxModelPainter

Antti Koivisto noreply at github.com
Tue Sep 6 23:35:43 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 66ab9a4c5a45a52e560032f92644f05c8831ee0e
      https://github.com/WebKit/WebKit/commit/66ab9a4c5a45a52e560032f92644f05c8831ee0e
  Author: Antti Koivisto <antti at apple.com>
  Date:   2022-09-06 (Tue, 06 Sep 2022)

  Changed paths:
    M Source/WebCore/Sources.txt
    M Source/WebCore/WebCore.xcodeproj/project.pbxproj
    A Source/WebCore/rendering/BoxModelPainter.cpp
    A Source/WebCore/rendering/BoxModelPainter.h
    M Source/WebCore/rendering/InlineBoxPainter.cpp
    M Source/WebCore/rendering/RenderBox.cpp
    M Source/WebCore/rendering/RenderBoxModelObject.cpp
    M Source/WebCore/rendering/RenderBoxModelObject.h
    M Source/WebCore/rendering/RenderElement.cpp
    M Source/WebCore/rendering/RenderInline.cpp
    M Source/WebCore/rendering/RenderMultiColumnSet.cpp
    M Source/WebCore/rendering/RenderObject.cpp
    M Source/WebCore/rendering/RenderObject.h
    M Source/WebCore/rendering/RenderTable.cpp
    M Source/WebCore/rendering/RenderTableCell.cpp
    M Source/WebCore/rendering/RenderTableSection.cpp
    M Source/WebCore/rendering/style/NinePieceImage.cpp
    M Source/WebCore/rendering/style/NinePieceImage.h
    M Source/WebCore/rendering/style/StyleCachedImage.cpp
    M Source/WebCore/rendering/style/StyleCachedImage.h
    M Source/WebCore/rendering/style/StyleGeneratedImage.cpp
    M Source/WebCore/rendering/style/StyleGeneratedImage.h
    M Source/WebCore/rendering/style/StyleImage.h
    M Source/WebCore/rendering/style/StyleMultiImage.cpp
    M Source/WebCore/rendering/style/StyleMultiImage.h

  Log Message:
  -----------
  Introduce BoxModelPainter
https://bugs.webkit.org/show_bug.cgi?id=244842
<rdar://problem/99594391>

Reviewed by Alan Bujtas.

This patch introduces BoxModelPainter and moves border painting functions from RenderBoxModelObject there.
The patch is mostly mechanical and does not try to refactor the code.

In future BoxModelPainter will also paint backgrounds.

* Source/WebCore/Sources.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/rendering/BoxModelPainter.cpp: Added.
(WebCore::BoxModelPainter::BoxModelPainter):
(WebCore::BoxModelPainter::allCornersClippedOut):
(WebCore::calculateSideRect):
(WebCore::shrinkRectByOneDevicePixel):
(WebCore::BoxModelPainter::paintBorder):
(WebCore::BoxModelPainter::paintNinePieceImage):
(WebCore::BoxModelPainter::paintTranslucentBorderSides):
(WebCore::borderWillArcInnerEdge):
(WebCore::styleRequiresClipPolygon):
(WebCore::borderStyleFillsBorderArea):
(WebCore::borderStyleHasInnerDetail):
(WebCore::borderStyleIsDottedOrDashed):
(WebCore::borderStyleHasUnmatchedColorsAtCorner):
(WebCore::colorsMatchAtCorner):
(WebCore::colorNeedsAntiAliasAtCorner):
(WebCore::willBeOverdrawn):
(WebCore::borderStylesRequireMitre):
(WebCore::joinRequiresMitre):
(WebCore::calculateAdjustedInnerBorder):
(WebCore::BoxModelPainter::paintBorderSides):
(WebCore::BoxModelPainter::paintOneBorderSide):
(WebCore::BoxModelPainter::drawBoxSideFromPath):
(WebCore::BoxModelPainter::clipBorderSidePolygon):
(WebCore::BoxModelPainter::borderInnerRectAdjustedForBleedAvoidance const):
(WebCore::BoxModelPainter::shouldAntialiasLines):
(WebCore::BoxModelPainter::calculateBorderStyleColor):
(WebCore::BoxModelPainter::document const):
* Source/WebCore/rendering/BoxModelPainter.h: Added.
* Source/WebCore/rendering/InlineBoxPainter.cpp:
(WebCore::InlineBoxPainter::paintMask):
(WebCore::InlineBoxPainter::paintDecorations):
* Source/WebCore/rendering/RenderBox.cpp:
(WebCore::RenderBox::paintBoxDecorations):
(WebCore::RenderBox::paintMaskImages):
* Source/WebCore/rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintBoxShadow):
(WebCore::RenderBoxModelObject::borderInnerRectAdjustedForBleedAvoidance const): Deleted.
(WebCore::RenderBoxModelObject::paintNinePieceImage): Deleted.
(WebCore::allCornersClippedOut): Deleted.
(WebCore::borderWillArcInnerEdge): Deleted.
(WebCore::styleRequiresClipPolygon): Deleted.
(WebCore::borderStyleFillsBorderArea): Deleted.
(WebCore::borderStyleHasInnerDetail): Deleted.
(WebCore::borderStyleIsDottedOrDashed): Deleted.
(WebCore::borderStyleHasUnmatchedColorsAtCorner): Deleted.
(WebCore::colorsMatchAtCorner): Deleted.
(WebCore::colorNeedsAntiAliasAtCorner): Deleted.
(WebCore::willBeOverdrawn): Deleted.
(WebCore::borderStylesRequireMitre): Deleted.
(WebCore::joinRequiresMitre): Deleted.
(WebCore::calculateAdjustedInnerBorder): Deleted.
(WebCore::RenderBoxModelObject::paintOneBorderSide): Deleted.
(WebCore::calculateSideRect): Deleted.
(WebCore::RenderBoxModelObject::paintBorderSides): Deleted.
(WebCore::RenderBoxModelObject::paintTranslucentBorderSides): Deleted.
(WebCore::RenderBoxModelObject::paintBorder): Deleted.
(WebCore::RenderBoxModelObject::drawBoxSideFromPath): Deleted.
(WebCore::RenderBoxModelObject::clipBorderSidePolygon): Deleted.
(WebCore::RenderBoxModelObject::shouldAntialiasLines): Deleted.
* Source/WebCore/rendering/RenderBoxModelObject.h:
* Source/WebCore/rendering/RenderElement.cpp:
(WebCore::RenderElement::drawLineForBoxSide const):
* Source/WebCore/rendering/RenderInline.cpp:
(WebCore::RenderInline::paintOutlineForLine):
* Source/WebCore/rendering/RenderMultiColumnSet.cpp:
(WebCore::RenderMultiColumnSet::paintColumnRules):
* Source/WebCore/rendering/RenderObject.cpp:
(WebCore::RenderObject::calculateBorderStyleColor): Deleted.
* Source/WebCore/rendering/RenderObject.h:
* Source/WebCore/rendering/RenderTable.cpp:
(WebCore::RenderTable::paintBoxDecorations):
* Source/WebCore/rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::paintCollapsedBorders):
(WebCore::RenderTableCell::paintBoxDecorations):
* Source/WebCore/rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::paintRowGroupBorderIfRequired):
* Source/WebCore/rendering/style/NinePieceImage.cpp:
(WebCore::NinePieceImage::paint const):
* Source/WebCore/rendering/style/NinePieceImage.h:
* Source/WebCore/rendering/style/StyleCachedImage.cpp:
(WebCore::StyleCachedImage::image const):
* Source/WebCore/rendering/style/StyleCachedImage.h:
* Source/WebCore/rendering/style/StyleGeneratedImage.cpp:
(WebCore::StyleGeneratedImage::image const):
* Source/WebCore/rendering/style/StyleGeneratedImage.h:
* Source/WebCore/rendering/style/StyleImage.h:
* Source/WebCore/rendering/style/StyleMultiImage.cpp:
(WebCore::StyleMultiImage::image const):
* Source/WebCore/rendering/style/StyleMultiImage.h:

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




More information about the webkit-changes mailing list