Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 0f23344c411ae58815ada68fecacc834e7eab319 https://github.com/WebKit/WebKit/commit/0f23344c411ae58815ada68fecacc834e7eab319 Author: Simon Fraser <simon.fra...@apple.com> Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths: A LayoutTests/fast/repaint/iframe-avoid-redundant-repaint-expected.txt A LayoutTests/fast/repaint/iframe-avoid-redundant-repaint.html M Source/WebCore/rendering/RenderView.cpp Log Message: ----------- Reduce repainting when the entire RenderView is dirtied https://bugs.webkit.org/show_bug.cgi?id=291458 rdar://149103053 Reviewed by Alan Baradlay. We can avoid some excess repaints in an iframe's contents by detecting that some earlier repaint dirtied the entire RenderView. Calling `layoutContext().setNeedsFullRepaint()` sets state on the layout context that avoid later repaints even computing repaint rects, via `RenderElement::checkForRepaintDuringLayout()`. This applies under a limited set of conditions: a non-composited iframe (i.e. non-scrollable, with no composited descendants), and when repaints are triggered by renderers without self-painting layers. * LayoutTests/fast/repaint/iframe-avoid-redundant-repaint-expected.txt: Added. * LayoutTests/fast/repaint/iframe-avoid-redundant-repaint.html: Added. * Source/WebCore/rendering/RenderView.cpp: (WebCore::RenderView::repaintViewRectangle const): Canonical link: https://commits.webkit.org/293674@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes