mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 06:27:45 +00:00
LibWeb: Run IntersectionObserver steps only when needed
Instead of updating IOs in every iteration of the HTML event loop, we now only do it after a relayout, or after the viewport changes.
This commit is contained in:
parent
d3f8d24abb
commit
11b4216e65
3 changed files with 8 additions and 3 deletions
|
@ -1106,6 +1106,9 @@ void Document::update_layout()
|
|||
|
||||
m_needs_layout = false;
|
||||
m_layout_update_timer->stop();
|
||||
|
||||
// OPTIMIZATION: We do this here instead of in HTML::EventLoop::process() to avoid redundant work.
|
||||
run_the_update_intersection_observations_steps(HighResolutionTime::unsafe_shared_current_time());
|
||||
}
|
||||
|
||||
[[nodiscard]] static Element::RequiredInvalidationAfterStyleChange update_style_recursively(Node& node)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue