Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 0f23344c411ae58815ada68fecacc834e7eab319
https://github.com/WebKit/WebKit/commit/0f23344c411ae58815ada68fecacc834e7eab319
Author: Simon Fraser <[email protected]>
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
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes