浏览代码

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 <blink> elements that are not currently
scrolled into view. :^)
Andreas Kling 5 年之前
父节点
当前提交
c0e81b26b6
共有 1 个文件被更改,包括 3 次插入0 次删除
  1. 3 0
      Libraries/LibHTML/Frame.cpp

+ 3 - 0
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);