[webkit-changes] [WebKit/WebKit] 3afb34: Introduce BackgroundPainter
Antti Koivisto
noreply at github.com
Wed Sep 7 07:10:23 PDT 2022
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 3afb34f466db6634ec6b7cea95b9cf6a735b43af
https://github.com/WebKit/WebKit/commit/3afb34f466db6634ec6b7cea95b9cf6a735b43af
Author: Antti Koivisto <antti at apple.com>
Date: 2022-09-07 (Wed, 07 Sep 2022)
Changed paths:
M Source/WebCore/Sources.txt
M Source/WebCore/WebCore.xcodeproj/project.pbxproj
M Source/WebCore/loader/cache/CachedImage.cpp
M Source/WebCore/loader/cache/CachedImage.h
A Source/WebCore/rendering/BackgroundPainter.cpp
A Source/WebCore/rendering/BackgroundPainter.h
A Source/WebCore/rendering/BorderPainter.cpp
A Source/WebCore/rendering/BorderPainter.h
R Source/WebCore/rendering/BoxModelPainter.cpp
R Source/WebCore/rendering/BoxModelPainter.h
M Source/WebCore/rendering/InlineBoxPainter.cpp
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/RenderInline.cpp
M Source/WebCore/rendering/RenderMultiColumnSet.cpp
M Source/WebCore/rendering/RenderReplaced.cpp
M Source/WebCore/rendering/RenderTable.cpp
M Source/WebCore/rendering/RenderTableCell.cpp
M Source/WebCore/rendering/RenderTableSection.cpp
M Source/WebCore/rendering/RenderWidget.cpp
Log Message:
-----------
Introduce BackgroundPainter
https://bugs.webkit.org/show_bug.cgi?id=244884
<rdar://99644792>
Reviewed by Alan Bujtas.
Factor background code out of the RenderBoxModelObject.
Also rename BoxModelPainter -> BorderPainter. It is better to use more focused types.
* Source/WebCore/Sources.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/loader/cache/CachedImage.cpp:
(WebCore::CachedImage::isClientWaitingForAsyncDecoding const):
* Source/WebCore/loader/cache/CachedImage.h:
* Source/WebCore/rendering/BackgroundPainter.cpp: Added.
(WebCore::BackgroundPainter::BackgroundPainter):
(WebCore::applyBoxShadowForBackground):
(WebCore::BackgroundPainter::paintFillLayer):
(WebCore::BackgroundPainter::clipRoundedInnerRect):
(WebCore::BackgroundPainter::backgroundRoundedRectAdjustedForBleedAvoidance const):
(WebCore::BackgroundPainter::getBackgroundRoundedRect const):
(WebCore::BackgroundPainter::borderInnerRectAdjustedForBleedAvoidance const):
(WebCore::BackgroundPainter::document const):
(WebCore::BackgroundPainter::view const):
* Source/WebCore/rendering/BackgroundPainter.h: Added.
(WebCore::BackgroundPainter::paintFillLayer):
* Source/WebCore/rendering/BorderPainter.cpp: Renamed from Source/WebCore/rendering/BoxModelPainter.cpp.
(WebCore::BorderPainter::BorderPainter):
(WebCore::BorderPainter::allCornersClippedOut):
(WebCore::calculateSideRect):
(WebCore::shrinkRectByOneDevicePixel):
(WebCore::BorderPainter::paintBorder):
(WebCore::BorderPainter::paintNinePieceImage):
(WebCore::BorderPainter::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::BorderPainter::paintBorderSides):
(WebCore::BorderPainter::paintOneBorderSide):
(WebCore::BorderPainter::drawBoxSideFromPath):
(WebCore::BorderPainter::clipBorderSidePolygon):
(WebCore::BorderPainter::borderInnerRectAdjustedForBleedAvoidance const):
(WebCore::BorderPainter::shouldAntialiasLines):
(WebCore::BorderPainter::calculateBorderStyleColor):
(WebCore::BorderPainter::document const):
* Source/WebCore/rendering/BorderPainter.h: Renamed from Source/WebCore/rendering/BoxModelPainter.h.
* Source/WebCore/rendering/InlineBoxPainter.cpp:
(WebCore::InlineBoxPainter::paintMask):
(WebCore::InlineBoxPainter::paintDecorations):
(WebCore::InlineBoxPainter::paintFillLayer):
* Source/WebCore/rendering/RenderBox.cpp:
(WebCore::RenderBox::paintBoxDecorations):
(WebCore::RenderBox::paintMaskImages):
(WebCore::RenderBox::paintFillLayers):
(WebCore::RenderBox::paintFillLayer): Deleted.
* Source/WebCore/rendering/RenderBox.h:
* Source/WebCore/rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::chooseInterpolationQuality const):
(WebCore::RenderBoxModelObject::calculateFillTileSize const):
(WebCore::resolveEdgeRelativeLength):
(WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry const):
(WebCore::RenderBoxModelObject::paintBoxShadow):
(WebCore::RenderBoxModelObject::getBackgroundRoundedRect const): Deleted.
(WebCore::RenderBoxModelObject::clipRoundedInnerRect): Deleted.
(WebCore::shrinkRectByOneDevicePixel): Deleted.
(WebCore::RenderBoxModelObject::backgroundRoundedRectAdjustedForBleedAvoidance const): Deleted.
(WebCore::applyBoxShadowForBackground): Deleted.
(WebCore::RenderBoxModelObject::chooseInterpolationQuality): Deleted.
(WebCore::RenderBoxModelObject::paintFillLayerExtended): Deleted.
* Source/WebCore/rendering/RenderBoxModelObject.h:
(WebCore::RenderBoxModelObject::paintFillLayerExtended): Deleted.
* 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/RenderReplaced.cpp:
(WebCore::RenderReplaced::paint):
* 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/RenderWidget.cpp:
(WebCore::RenderWidget::paint):
Canonical link: https://commits.webkit.org/254229@main
More information about the webkit-changes
mailing list