Bug 291916

Summary: REGRESSION (292627@main): Doubled text on maps.google.com
Product: WebKit Reporter: Matt Woodrow <mattwoodrow>
Component: Layout and RenderingAssignee: Matt Woodrow <mattwoodrow>
Status: RESOLVED FIXED    
Severity: Normal CC: bfulgham, simon.fraser, webkit-bug-importer, zalan
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Testcase none

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.