LibWeb: Visit ImportMapParseResult in HTMLScriptElement::visit_edges

The m_result Variant can hold a GC::Ref<ImportMapParseResult> when the
script element has type="importmap", but visit_edges only traced the
GC::Ref<Script> arm. This left the ImportMapParseResult unvisited,
allowing the GC to collect it while the element still held a reference.

ImportMapParseResult inherited from JS::Script::HostDefined, but no
JS::Script or JS::Module ever stored it as host_defined data, so
visit_host_defined_self was dead code. This removes the HostDefined
inheritance entirely and switches m_result visitation to Variant::visit
with a lambda that catches all GC::Ref arms.
This commit is contained in:
Praise-Garfield
2026-02-21 14:43:25 +00:00
committed by Tim Flynn
parent 786e93b6c7
commit 52ee05cb5d
Notes: github-actions[bot] 2026-02-21 16:15:52 +00:00
3 changed files with 5 additions and 13 deletions

View File

@@ -40,11 +40,6 @@ GC::Ref<ImportMapParseResult> ImportMapParseResult::create(JS::Realm& realm, Byt
return result;
}
void ImportMapParseResult::visit_host_defined_self(Visitor& visitor)
{
visitor.visit(*this);
}
void ImportMapParseResult::visit_edges(Visitor& visitor)
{
Base::visit_edges(visitor);