Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 47dcecbf0d79bf840895cd7a8b3254c34b675a73
https://github.com/WebKit/WebKit/commit/47dcecbf0d79bf840895cd7a8b3254c34b675a73
Author: Eddie Kohler <[email protected]>
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
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes