diff --git a/Userland/Libraries/LibWeb/DOM/Document.cpp b/Userland/Libraries/LibWeb/DOM/Document.cpp index 12588a4048d..594227a5fa3 100644 --- a/Userland/Libraries/LibWeb/DOM/Document.cpp +++ b/Userland/Libraries/LibWeb/DOM/Document.cpp @@ -1114,9 +1114,6 @@ 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) diff --git a/Userland/Libraries/LibWeb/HTML/EventLoop/EventLoop.cpp b/Userland/Libraries/LibWeb/HTML/EventLoop/EventLoop.cpp index 19318d59f35..b3138ec1f81 100644 --- a/Userland/Libraries/LibWeb/HTML/EventLoop/EventLoop.cpp +++ b/Userland/Libraries/LibWeb/HTML/EventLoop/EventLoop.cpp @@ -249,7 +249,9 @@ void EventLoop::process() }); // 14. For each fully active Document in docs, run the update intersection observations steps for that Document, passing in now as the timestamp. [INTERSECTIONOBSERVER] - // OPTIMIZATION: We do this automatically after layout or viewport changes, so we don't need to do it here. + for_each_fully_active_document_in_docs([&](DOM::Document& document) { + document.run_the_update_intersection_observations_steps(now); + }); // FIXME: 15. Invoke the mark paint timing algorithm for each Document object in docs. diff --git a/Userland/Libraries/LibWeb/HTML/Navigable.cpp b/Userland/Libraries/LibWeb/HTML/Navigable.cpp index b70b398c965..8aff3c46695 100644 --- a/Userland/Libraries/LibWeb/HTML/Navigable.cpp +++ b/Userland/Libraries/LibWeb/HTML/Navigable.cpp @@ -29,7 +29,6 @@ #include #include #include -#include #include #include #include @@ -1949,9 +1948,6 @@ void Navigable::scroll_offset_did_change() // 3. Append doc to doc’s pending scroll event targets. doc->pending_scroll_event_targets().append(*doc); - - // OPTIMIZATION: We do this here instead of in HTML::EventLoop::process() to avoid redundant work. - doc->run_the_update_intersection_observations_steps(HighResolutionTime::unsafe_shared_current_time()); } CSSPixelRect Navigable::to_top_level_rect(CSSPixelRect const& a_rect)