ladybird/Libraries/LibWeb/IntersectionObserver
Aliaksandr Kalenik 2222654db4 LibWeb: Skip update_layout in IntersectionObserver internal lookups
When the update intersection observations steps run (HTML rendering
update step 19), the algorithm calls Element::get_bounding_client_rect()
on each observed target and on element-typed roots. That path always
calls update_layout_if_needed_for_node() before reading the paintable
rect.

By the time step 19 runs, layout is already up to date: step 16 has
just laid out the document, and the preamble of step 19 itself flushes
any post-step-16 invalidation with a single update_layout call. So each
per-target update_layout call inside getBoundingClientRect is a
guaranteed no-op early-exit.
2026-05-03 12:25:04 +02:00
..
IntersectionObserver.cpp LibWeb: Skip update_layout in IntersectionObserver internal lookups 2026-05-03 12:25:04 +02:00
IntersectionObserver.h LibWeb: Avoid IntersectionObserver registration lookups 2026-04-17 08:02:30 +02:00
IntersectionObserver.idl LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
IntersectionObserverEntry.cpp LibWeb/Bindings: Emit one bindings header and cpp per IDL 2026-04-21 07:36:13 +02:00
IntersectionObserverEntry.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
IntersectionObserverEntry.idl LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00