[webkit-changes] [WebKit/WebKit] f650a4: Incorrect repaint when inline content shrinks vert...

Alan Baradlay noreply at github.com
Fri Jan 20 09:05:46 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: f650a441093e94116e8b60e89d2b499dbefed017
      https://github.com/WebKit/WebKit/commit/f650a441093e94116e8b60e89d2b499dbefed017
  Author: Alan Baradlay <zalan at apple.com>
  Date:   2023-01-20 (Fri, 20 Jan 2023)

  Changed paths:
    A LayoutTests/fast/repaint/leftover-after-shrinking-content-expected.txt
    A LayoutTests/fast/repaint/leftover-after-shrinking-content.html
    A LayoutTests/platform/mac-wk1/fast/repaint/leftover-after-shrinking-content-expected.txt
    M Source/WebCore/layout/integration/inline/LayoutIntegrationLineLayout.cpp
    M Source/WebCore/rendering/RenderBlockFlow.cpp
    M Source/WebCore/rendering/RenderBlockFlow.h

  Log Message:
  -----------
  Incorrect repaint when inline content shrinks vertically
https://bugs.webkit.org/show_bug.cgi?id=250864
<rdar://103363945>

Reviewed by Antti Koivisto.

After-layout-repaint-rects take both before and after layout dimensions.
This patch ensures that we have access to the "before geometry" even when we nuke the inline content
as part of "line layout path" invalidation before running inline layout (this is going to change soon when we introduce partial invalidation).

* LayoutTests/fast/repaint/leftover-after-shrinking-content-expected.txt: Added.
* LayoutTests/fast/repaint/leftover-after-shrinking-content.html: Added.
* Source/WebCore/layout/integration/inline/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::LineLayout::lastLineIndexForContentHeight const):
* Source/WebCore/rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::layoutInlineChildren):
(WebCore::RenderBlockFlow::invalidateLineLayoutPath):
(WebCore::RenderBlockFlow::layoutModernLines):
* Source/WebCore/rendering/RenderBlockFlow.h:

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




More information about the webkit-changes mailing list