[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