diff --git a/Userland/Libraries/LibWeb/HTML/TraversableNavigable.cpp b/Userland/Libraries/LibWeb/HTML/TraversableNavigable.cpp index fde231d79c..3b37550b04 100644 --- a/Userland/Libraries/LibWeb/HTML/TraversableNavigable.cpp +++ b/Userland/Libraries/LibWeb/HTML/TraversableNavigable.cpp @@ -917,6 +917,11 @@ void TraversableNavigable::destroy_top_level_traversable() // 5. Remove traversable from the user agent's top-level traversable set. user_agent_top_level_traversable_set().remove(this); + + // FIXME: Figure out why we need to do this... we shouldn't be leaking Navigables for all time. + // However, without this, we can keep stale destroyed traversables around. + set_has_been_destroyed(); + all_navigables().remove(this); } // https://html.spec.whatwg.org/multipage/browsing-the-web.html#finalize-a-same-document-navigation