mirror of
https://github.com/LadybirdBrowser/ladybird
synced 2026-04-26 09:45:06 +02:00
When a child navigable starts loading, the navigate algorithm calls set_delaying_load_events(true), creating a DocumentLoadEventDelayer on the parent document. This delayer is normally cleared when the navigation finalizes via set_delaying_load_events(false). However, when an iframe is removed from the DOM, the child navigable is destroyed. If the finalize step hasn't run yet, the delayer lingers until GC collects the Navigable, which can block the parent document's load event indefinitely. Fix this by explicitly clearing the "is delaying load events" flag in destroy_the_child_navigable() right after marking the navigable as destroyed.
17 KiB
17 KiB