ladybird/Libraries/LibWeb/HTML/EventLoop
Shannon Booth 5f5975c81d LibWeb/HTML: Iterate safely in perform_a_microtask_checkpoint()
This list we are iterating over is removed from when there are
no more GC references to an ESO. This may be triggered by a GC
allocation. Since
UniversalGlobalScopeMixin::notify_about_rejected_promises performs
GC allocations (by, for example, allocating a GC function), it
is not safe to simply iterate over this list.

Fix this by taking a strong reference to all registered ESOs by
copying them across to a RootVector before iteration.

Fixes: #4652
2025-06-18 13:08:30 +02:00
..
EventLoop.cpp LibWeb/HTML: Iterate safely in perform_a_microtask_checkpoint() 2025-06-18 13:08:30 +02:00
EventLoop.h LibWeb: Don't take rendering task from queue while running rendering 2025-02-27 17:33:32 +01:00
Task.cpp LibWeb: Run queued HTML tasks after associated document is destroyed 2025-02-07 16:53:11 +01:00
Task.h LibWeb: Implement MediaCapabilities.decodingInfo() 2025-02-18 10:18:40 -07:00
TaskQueue.cpp LibWeb: Don't take rendering task from queue while running rendering 2025-02-27 17:33:32 +01:00
TaskQueue.h LibGC: Rename MarkedVector => RootVector 2024-12-26 19:10:44 +01:00