RESOLVED FIXED291916
REGRESSION (292627@main): Doubled text on maps.google.com
https://bugs.webkit.org/show_bug.cgi?id=291916
Summary REGRESSION (292627@main): Doubled text on maps.google.com
Attachments
Testcase (578 bytes, text/html)
2025-04-22 15:58 PDT, Matt Woodrow
no flags
Matt Woodrow
Comment 1 2025-04-22 15:58:01 PDT
Created attachment 475014 [details] Testcase Reduced test case: Has a composited layer that requires a backing store (that can’t be optimised away to a color). Scroller with overflow:auto inside, forcing non-overlay scrollbars and initially no overflow (which makes the layer not-self-painting). Change to an inner element that adds overflow to the scroller. The new overflow causes RenderLayerScrollableArea::computeHasCompositedScrollableOverflow to determine that we need a compositing layer (and also implicitly makes the layer self painting). This calls RenderLayerCompositor::layerGainedCompositedScrollableOverflow to repaint the relevant pixels that will no longer be occupied by the scroller. The cached repaint container is nullptr (not-self-painting layers don’t have one), so this repaint targets the RenderView. That’s incorrect, and we leave the dirty pixels in the outer layer but also draw them into the scroller’s layer (offset slightly, due to the presence of the scrollbar). This regressed because previously we recomputed the repaint container each time, and did so in the intermediate state between making the layer self painting, and applying the compositing change, so the ‘right’ one was computed.
Matt Woodrow
Comment 2 2025-04-22 15:58:19 PDT
Matt Woodrow
Comment 3 2025-04-22 16:04:20 PDT
EWS
Comment 4 2025-04-28 16:53:12 PDT
Committed 294225@main (0d37fd4f8a3e): <https://commits.webkit.org/294225@main> Reviewed commits have been landed. Closing PR #44388 and removing active labels.
Note You need to log in before you can comment on or make changes to this bug.