[webkit-changes] [WebKit/WebKit] 9f03d2: Remove an unneeded repaint call in RenderTableCell...

EWS noreply at github.com
Tue Sep 13 07:11:53 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 9f03d20e70c3494665b4415badea5e58fef62f4e
      https://github.com/WebKit/WebKit/commit/9f03d20e70c3494665b4415badea5e58fef62f4e
  Author: Ahmad Saleem <ahmad.saleem792 at gmail.com>
  Date:   2022-09-13 (Tue, 13 Sep 2022)

  Changed paths:
    A LayoutTests/fast/repaint/resize-table-column-repaint-cell-expected.txt
    A LayoutTests/fast/repaint/resize-table-column-repaint-cell.html
    M Source/WebCore/rendering/RenderTableCell.cpp

  Log Message:
  -----------
  Remove an unneeded repaint call in RenderTableCell::setCellLogicalWidth

Remove an unneeded repaint call in RenderTableCell::setCellLogicalWidth

https://bugs.webkit.org/show_bug.cgi?id=99521

Reviewed by Alan Bujtas.

Patch Authored by Julien Chaffraix

The repaint call in setCellLogicalWidth is superseded by the other repaint mechanism in the table code:

- If the table size changed, LayoutRepainter will repaint the whole table anyway.
- If a cell logical width changed, the cell will be marked for layout by setCellLogicalWidth and the *new* bounds fully repainted by LayoutRepainter. On top of that, any moved cell will be repainted in RenderTableSection::layoutRows (which is correct as we only place the cell at that time).

All in all, the existing repainting logic already handles this case properly.

* Source/WebCore/rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::setCellLogicalWidth) - Remove repaint code
* fast/repaint/resize-table-column-repaint-cell.html: Added.
* fast/repaint/resize-table-column-repaint-cell-expected.txt: Added.

Canonical link: https://commits.webkit.org/254440@main




More information about the webkit-changes mailing list