[webkit-changes] [WebKit/WebKit] fb8c8c: REGRESSION(271747 at main): (swift.org, stackoverflow...

mattwoodrow noreply at github.com
Wed Jan 29 12:27:35 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: fb8c8c610fb07236d197ab9284f79bf3970d2a28
      https://github.com/WebKit/WebKit/commit/fb8c8c610fb07236d197ab9284f79bf3970d2a28
  Author: Matt Woodrow <mattwoodrow at apple.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

  Changed paths:
    M LayoutTests/fast/block/height-percentage-descendants-with-absolute-pos-containingblock-expected.txt
    M LayoutTests/fast/css/highlight-text-repaint-expected.txt
    M LayoutTests/fast/repaint/highlight-paint-after-range-change-expected.txt
    M LayoutTests/fast/repaint/highlight-removed-when-cleared-expected.txt
    M LayoutTests/fast/repaint/vertical-text-repaint-expected.txt
    M LayoutTests/fast/repaint/vertical-text-repaint.html
    A LayoutTests/platform/glib/fast/block/height-percentage-descendants-with-absolute-pos-containingblock-expected.txt
    A LayoutTests/platform/gtk/fast/repaint/highlight-paint-after-range-change-expected.txt
    A LayoutTests/platform/gtk/fast/repaint/highlight-removed-when-cleared-expected.txt
    M LayoutTests/platform/ios/fast/block/height-percentage-descendants-with-absolute-pos-containingblock-expected.txt
    M LayoutTests/platform/ios/fast/css/highlight-text-repaint-expected.txt
    M Source/WebCore/rendering/RenderText.cpp
    M Source/WebCore/rendering/RenderText.h

  Log Message:
  -----------
  REGRESSION(271747 at main): (swift.org, stackoverflow.com): Text does not render with the correct color when first scrolled into view.
https://bugs.webkit.org/show_bug.cgi?id=286239
<rdar://142394895>

Reviewed by Alan Baradlay.

RenderText::clippedOverflowRect defers to the containing block to return the rect. If the containing block is a scroller, then this returns the visible subset of the scroller.

If the scroller is composited and has painted tiled content outside of the visible area, then this repaint rect doesn't cause these offscreen pixels to be repainted.

Fix by implementing localRectsForRepaint instead to return the actual overflow bounds of the text.

* LayoutTests/fast/block/height-percentage-descendants-with-absolute-pos-containingblock-expected.txt:
* LayoutTests/fast/css/highlight-text-repaint-expected.txt:
* LayoutTests/fast/repaint/highlight-paint-after-range-change-expected.txt:
* LayoutTests/fast/repaint/highlight-removed-when-cleared-expected.txt:
* LayoutTests/fast/repaint/vertical-text-repaint-expected.txt:
* LayoutTests/fast/repaint/vertical-text-repaint.html:
* Source/WebCore/rendering/RenderText.cpp:
(WebCore::RenderText::localRectsForRepaint const):
(WebCore::RenderText::clippedOverflowRect const): Deleted.
(WebCore::RenderText::rectsForRepaintingAfterLayout const): Deleted.
* Source/WebCore/rendering/RenderText.h:

Canonical link: https://commits.webkit.org/289517@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