Skip to content

Commit 1207afa

Browse files
committed
Factor LegacyInlineFlowBox painting into a class
https://bugs.webkit.org/show_bug.cgi?id=230683 Reviewed by Alan Bujtas. Introduce InlineBoxPainter, similar to TextBoxPainter. * Sources.txt: * WebCore.xcodeproj/project.pbxproj: * rendering/InlineBoxPainter.cpp: Added. (WebCore::InlineBoxPainter::InlineBoxPainter): (WebCore::InlineBoxPainter::paint): (WebCore::clipRectForNinePieceImageStrip): (WebCore::InlineBoxPainter::paintMask): (WebCore::InlineBoxPainter::paintDecorations): (WebCore::InlineBoxPainter::style const): (WebCore::InlineBoxPainter::constrainToLineTopAndBottomIfNeeded const): (WebCore::InlineBoxPainter::paintFillLayers): (WebCore::InlineBoxPainter::paintFillLayer): (WebCore::InlineBoxPainter::paintBoxShadow): * rendering/InlineBoxPainter.h: Added. (WebCore::InlineBoxPainter::renderer const): (WebCore::InlineBoxPainter::isHorizontal const): * rendering/LegacyInlineFlowBox.cpp: (WebCore::LegacyInlineFlowBox::paint): (WebCore::LegacyInlineFlowBox::paintFillLayers): Deleted. (WebCore::LegacyInlineFlowBox::paintFillLayer): Deleted. (WebCore::LegacyInlineFlowBox::paintBoxShadow): Deleted. (WebCore::LegacyInlineFlowBox::constrainToLineTopAndBottomIfNeeded const): Deleted. (WebCore::clipRectForNinePieceImageStrip): Deleted. (WebCore::LegacyInlineFlowBox::paintBoxDecorations): Deleted. (WebCore::LegacyInlineFlowBox::paintMask): Deleted. * rendering/LegacyInlineFlowBox.h: * rendering/RenderBoxModelObject.cpp: (WebCore::RenderBoxModelObject::getBackgroundRoundedRect const): (WebCore::RenderBoxModelObject::backgroundRoundedRectAdjustedForBleedAvoidance const): (WebCore::RenderBoxModelObject::paintMaskForTextFillBox): (WebCore::RenderBoxModelObject::paintFillLayerExtended): (WebCore::RenderBoxModelObject::boxShadowShouldBeAppliedToBackground const): * rendering/RenderBoxModelObject.h: * rendering/RenderImage.cpp: (WebCore::RenderImage::boxShadowShouldBeAppliedToBackground const): * rendering/RenderImage.h: * rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::boxShadowShouldBeAppliedToBackground const): * rendering/RenderTableCell.h: Canonical link: https://commits.webkit.org/242049@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@282959 268f45cc-cd09-0410-ab3c-d52691b4dbfc
1 parent d19121f commit 1207afa

13 files changed

Lines changed: 524 additions & 322 deletions

Source/WebCore/ChangeLog

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,52 @@
1+
2021-09-23 Antti Koivisto <antti@apple.com>
2+
3+
Factor LegacyInlineFlowBox painting into a class
4+
https://bugs.webkit.org/show_bug.cgi?id=230683
5+
6+
Reviewed by Alan Bujtas.
7+
8+
Introduce InlineBoxPainter, similar to TextBoxPainter.
9+
10+
* Sources.txt:
11+
* WebCore.xcodeproj/project.pbxproj:
12+
* rendering/InlineBoxPainter.cpp: Added.
13+
(WebCore::InlineBoxPainter::InlineBoxPainter):
14+
(WebCore::InlineBoxPainter::paint):
15+
(WebCore::clipRectForNinePieceImageStrip):
16+
(WebCore::InlineBoxPainter::paintMask):
17+
(WebCore::InlineBoxPainter::paintDecorations):
18+
(WebCore::InlineBoxPainter::style const):
19+
(WebCore::InlineBoxPainter::constrainToLineTopAndBottomIfNeeded const):
20+
(WebCore::InlineBoxPainter::paintFillLayers):
21+
(WebCore::InlineBoxPainter::paintFillLayer):
22+
(WebCore::InlineBoxPainter::paintBoxShadow):
23+
* rendering/InlineBoxPainter.h: Added.
24+
(WebCore::InlineBoxPainter::renderer const):
25+
(WebCore::InlineBoxPainter::isHorizontal const):
26+
* rendering/LegacyInlineFlowBox.cpp:
27+
(WebCore::LegacyInlineFlowBox::paint):
28+
(WebCore::LegacyInlineFlowBox::paintFillLayers): Deleted.
29+
(WebCore::LegacyInlineFlowBox::paintFillLayer): Deleted.
30+
(WebCore::LegacyInlineFlowBox::paintBoxShadow): Deleted.
31+
(WebCore::LegacyInlineFlowBox::constrainToLineTopAndBottomIfNeeded const): Deleted.
32+
(WebCore::clipRectForNinePieceImageStrip): Deleted.
33+
(WebCore::LegacyInlineFlowBox::paintBoxDecorations): Deleted.
34+
(WebCore::LegacyInlineFlowBox::paintMask): Deleted.
35+
* rendering/LegacyInlineFlowBox.h:
36+
* rendering/RenderBoxModelObject.cpp:
37+
(WebCore::RenderBoxModelObject::getBackgroundRoundedRect const):
38+
(WebCore::RenderBoxModelObject::backgroundRoundedRectAdjustedForBleedAvoidance const):
39+
(WebCore::RenderBoxModelObject::paintMaskForTextFillBox):
40+
(WebCore::RenderBoxModelObject::paintFillLayerExtended):
41+
(WebCore::RenderBoxModelObject::boxShadowShouldBeAppliedToBackground const):
42+
* rendering/RenderBoxModelObject.h:
43+
* rendering/RenderImage.cpp:
44+
(WebCore::RenderImage::boxShadowShouldBeAppliedToBackground const):
45+
* rendering/RenderImage.h:
46+
* rendering/RenderTableCell.cpp:
47+
(WebCore::RenderTableCell::boxShadowShouldBeAppliedToBackground const):
48+
* rendering/RenderTableCell.h:
49+
150
2021-09-23 Andres Gonzalez <andresg_22@apple.com>
251

352
Remove AXDRTElementIdAttribute from the AX object platform wrapper interface.

Source/WebCore/Sources.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2207,6 +2207,7 @@ rendering/HitTestLocation.cpp
22072207
rendering/HitTestResult.cpp
22082208
rendering/HitTestingTransformState.cpp
22092209
rendering/ImageQualityController.cpp
2210+
rendering/InlineBoxPainter.cpp
22102211
rendering/InlineIterator.cpp
22112212
rendering/LayerAncestorClippingStack.cpp
22122213
rendering/LayerOverlapMap.cpp

Source/WebCore/WebCore.xcodeproj/project.pbxproj

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5339,6 +5339,7 @@
53395339
E4E94D6122FF158A00DD191F /* LegacyLineLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = E4A1AC7822FAFD500017B75B /* LegacyLineLayout.h */; settings = {ATTRIBUTES = (Private, ); }; };
53405340
E4F0BE3125712F6E009E7431 /* CaretRectComputation.h in Headers */ = {isa = PBXBuildFile; fileRef = E4F0BE2E25710A75009E7431 /* CaretRectComputation.h */; };
53415341
E4F38D1B2626F13B007B1064 /* DefaultResourceLoadPriority.h in Headers */ = {isa = PBXBuildFile; fileRef = E4F38D192626F13B007B1064 /* DefaultResourceLoadPriority.h */; };
5342+
E4F819C626FB4EBF0094E162 /* InlineBoxPainter.h in Headers */ = {isa = PBXBuildFile; fileRef = E4F819C526FB4EBF0094E162 /* InlineBoxPainter.h */; };
53425343
E4F9EEF3156DA00700D23E7E /* StyleSheetContents.h in Headers */ = {isa = PBXBuildFile; fileRef = E4F9EEF1156D84C400D23E7E /* StyleSheetContents.h */; settings = {ATTRIBUTES = (Private, ); }; };
53435344
E50620842540919C00C43091 /* ContactsRequestData.h in Headers */ = {isa = PBXBuildFile; fileRef = E50620832540919B00C43091 /* ContactsRequestData.h */; settings = {ATTRIBUTES = (Private, ); }; };
53445345
E516699120FF9918009D2C27 /* ListButtonArrow@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = E516698F20FF9916009D2C27 /* ListButtonArrow@2x.png */; };
@@ -16607,6 +16608,8 @@
1660716608
E4F0BE3025710A76009E7431 /* CaretRectComputation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CaretRectComputation.cpp; sourceTree = "<group>"; };
1660816609
E4F38D192626F13B007B1064 /* DefaultResourceLoadPriority.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DefaultResourceLoadPriority.h; sourceTree = "<group>"; };
1660916610
E4F38D1C2626F144007B1064 /* DefaultResourceLoadPriority.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DefaultResourceLoadPriority.cpp; sourceTree = "<group>"; };
16611+
E4F819C226FB4EAF0094E162 /* InlineBoxPainter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InlineBoxPainter.cpp; sourceTree = "<group>"; };
16612+
E4F819C526FB4EBF0094E162 /* InlineBoxPainter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InlineBoxPainter.h; sourceTree = "<group>"; };
1661016613
E4F9EEF0156D84C400D23E7E /* StyleSheetContents.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StyleSheetContents.cpp; sourceTree = "<group>"; };
1661116614
E4F9EEF1156D84C400D23E7E /* StyleSheetContents.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StyleSheetContents.h; sourceTree = "<group>"; };
1661216615
E4FB4B35239BEB10003C336A /* LayoutIntegrationInlineContent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = LayoutIntegrationInlineContent.cpp; sourceTree = "<group>"; };
@@ -29905,6 +29908,8 @@
2990529908
9307F1D60AF2D59000DBA31A /* HitTestResult.h */,
2990629909
B51A2F4017D7D5DA0072517A /* ImageQualityController.cpp */,
2990729910
B51A2F3E17D7D3A40072517A /* ImageQualityController.h */,
29911+
E4F819C226FB4EAF0094E162 /* InlineBoxPainter.cpp */,
29912+
E4F819C526FB4EBF0094E162 /* InlineBoxPainter.h */,
2990829913
930C90DC19CF965300D6C21A /* InlineIterator.cpp */,
2990929914
BCE789151120D6080060ECE5 /* InlineIterator.h */,
2991029915
0FEC120B22BF2CC7004E9D35 /* LayerAncestorClippingStack.cpp */,
@@ -32899,10 +32904,12 @@
3289932904
51EEAA741BEFFAB100218008 /* IndexValueEntry.h in Headers */,
3290032905
517138F81BF128BB000D5F01 /* IndexValueStore.h in Headers */,
3290132906
CD063F831E23FA8900812BE3 /* InitDataRegistry.h in Headers */,
32907+
E4F819C626FB4EBF0094E162 /* InlineBoxPainter.h in Headers */,
3290232908
E30592641E27A3AD00D57C98 /* InlineClassicScript.h in Headers */,
3290332909
6FE198172178397C00446F08 /* InlineContentBreaker.h in Headers */,
3290432910
111FA1C826F0F30F003B8F16 /* InlineDamage.h in Headers */,
3290532911
11513D0326D981E8004D3FAA /* InlineDisplayContentBuilder.h in Headers */,
32912+
6F91421125152138004E4FEA /* InlineDisplayLine.h in Headers */,
3290632913
6F7CA3CA208C2B2E002F29AB /* InlineFormattingContext.h in Headers */,
3290732914
47C4D57D26508BCB00C7AB1F /* InlineFormattingGeometry.h in Headers */,
3290832915
6FE636E82647962900F0951E /* InlineFormattingQuirks.h in Headers */,
@@ -32916,7 +32923,6 @@
3291632923
11C3227D26D958CE00328F4D /* InlineLineBoxBuilder.h in Headers */,
3291732924
6F6EE74326D44EE300374CDA /* InlineLineBoxVerticalAligner.h in Headers */,
3291832925
6F26EB48234004A5006906E2 /* InlineLineBuilder.h in Headers */,
32919-
6F91421125152138004E4FEA /* InlineDisplayLine.h in Headers */,
3292032926
6FC3F9472516756700A49BEA /* InlineLineRun.h in Headers */,
3292132927
F45775CE241437D5002DF1A0 /* InlinePathData.h in Headers */,
3292232928
6F40DA822513033A00EC04B7 /* InlineRect.h in Headers */,

0 commit comments

Comments
 (0)