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

Reply via email to