[webkit-changes] [WebKit/WebKit] 47dcec: Fix extents of background-images for table cell gr...
Eddie Kohler
noreply at github.com
Sun Aug 25 06:34:23 PDT 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 47dcecbf0d79bf840895cd7a8b3254c34b675a73
https://github.com/WebKit/WebKit/commit/47dcecbf0d79bf840895cd7a8b3254c34b675a73
Author: Eddie Kohler <ekohler at gmail.com>
Date: 2024-08-25 (Sun, 25 Aug 2024)
Changed paths:
A LayoutTests/fast/table/row-background-image-extent-expected.html
A LayoutTests/fast/table/row-background-image-extent.html
M Source/WebCore/rendering/BackgroundPainter.cpp
M Source/WebCore/rendering/BackgroundPainter.h
M Source/WebCore/rendering/RenderTableCell.cpp
Log Message:
-----------
Fix extents of background-images for table cell groups
https://bugs.webkit.org/show_bug.cgi?id=278038
Reviewed by Simon Fraser.
RenderTableCell::paintBackgroundsBehindCell() uses BackgroundPainter, with primary
renderer set to the cell renderer. This improperly shrinks a row (or column) image
to fit inside the cell's border. The row (or column) image is actually sized to the
row (or column) box, which is the union of the relevant cells' border-boxes.
It would not be correct, though, to construct the BackgroundPainter with primary
renderer set to the row or column. This is because the cell might have rounded
edges; and if it does, those rounded edges should clip the row or column
background image. (Space between cells is transparent.)
So give BackgroundPainter the ability to override a FillLayer's clip and origin.
* LayoutTests/fast/table/row-background-image-extent-expected.html: Added.
* LayoutTests/fast/table/row-background-image-extent.html: Added.
* Source/WebCore/rendering/BackgroundPainter.cpp:
(WebCore::BackgroundPainter::paintFillLayer):
(WebCore::BackgroundPainter::calculateBackgroundImageGeometry):
* Source/WebCore/rendering/BackgroundPainter.h:
(WebCore::BackgroundPainter::setOverrideClip):
* Source/WebCore/rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::paintBackgroundsBehindCell):
Canonical link: https://commits.webkit.org/282712@main
To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications
More information about the webkit-changes
mailing list