Bug 284351

Summary: RepaintRects need to be recomputed when state changes that affects them
Product: WebKit Reporter: Simon Fraser (smfr) <simon.fraser>
Component: Layout and RenderingAssignee: Simon Fraser (smfr) <simon.fraser>
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   
Bug Depends on:    
Bug Blocks: 267252    

Simon Fraser (smfr)
Reported 2024-12-09 21:11:15 PST
With the PR in bug 267252 applied, these two tests hit assertions in repaint rect verification (RenderLayer.cpp:1230): imported/blink/fast/hidpi/border-background-align.html printing/iframe-print.html This is because bug 267252 eliminates a layout that happens when the state of `isPrinting` or deviceScaleFactor changes, so `updateLayerPositions()` doesn't do a full traversal, and we don't recompute new repaint rects. printing/iframe-print.html asserts because the return value of `RenderView::computeVisibleRectsInContainer()` is affecting by printing. imported/blink/fast/hidpi/border-background-align.html asserts because `deviceScaleFactor` affects rect rounding.
Attachments
Radar WebKit Bug Importer
Comment 1 2024-12-09 21:11:23 PST
Simon Fraser (smfr)
Comment 2 2024-12-09 21:16:47 PST
EWS
Comment 3 2024-12-10 08:55:33 PST
Committed 287607@main (abd0e960c37b): <https://commits.webkit.org/287607@main> Reviewed commits have been landed. Closing PR #37688 and removing active labels.
Note You need to log in before you can comment on or make changes to this bug.