RESOLVED FIXED 282518
compositingStatusChanged can set invalid repaint rects while backing sharing state is in-flight
https://bugs.webkit.org/show_bug.cgi?id=282518
Summary compositingStatusChanged can set invalid repaint rects while backing sharing ...
Matt Woodrow
Reported 2024-11-03 16:39:26 PST
When RenderLayerCompositor::computeCompositingRequirements makes a layer composited, it calls compositingStatusChanged to recompute the repaint rects on descendants. This happens before updateBackingSharingAfterDescendantTraversal, so any backing sharing happening on descendants hasn't yet been resolved. Backing sharing always clears the state on layers, and then re-sets it once completed, even if there aren't any changes. This means we recompute the repaint rects using the 'repaint container' as if backing sharing wasn't happening, which is incorrect. Once backing sharing is finalised, we would recompute again if there had been changes, but if not this invalid state remains.
Attachments
Radar WebKit Bug Importer
Comment 1 2024-11-03 16:55:51 PST
Matt Woodrow
Comment 2 2024-11-03 17:21:46 PST
EWS
Comment 3 2024-11-05 12:51:43 PST
Committed 286181@main (6d0d68f4fda3): <https://commits.webkit.org/286181@main> Reviewed commits have been landed. Closing PR #36109 and removing active labels.
Note You need to log in before you can comment on or make changes to this bug.