From c0e81b26b6a86ce6e7c5e0402075b9ee4e7edc52 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Wed, 18 Dec 2019 22:16:27 +0100 Subject: [PATCH] LibHTML: Ignore layout repaints outside the visible viewport Now that Frame knows the visible viewport rect, it can easily ignore repaint requests from e.g elements that are not currently scrolled into view. :^) --- Libraries/LibHTML/Frame.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Libraries/LibHTML/Frame.cpp b/Libraries/LibHTML/Frame.cpp index b87fd356cc..0b26eb002a 100644 --- a/Libraries/LibHTML/Frame.cpp +++ b/Libraries/LibHTML/Frame.cpp @@ -45,6 +45,9 @@ void Frame::set_viewport_rect(const Rect& rect) void Frame::set_needs_display(const Rect& rect) { + if (!m_viewport_rect.intersects(rect)) + return; + if (!on_set_needs_display) return; on_set_needs_display(rect);