LibWeb/CSS: Allow CSSImportRule's document to be null on construction

It's possible to parse an `@import` rule that isn't attached to a
document. We only actually need it to have one when fetching the linked
style sheet, and that should only happen when the CSSImportRule is
attached to a document. So, we can just accept a null pointer when
constructing it.

We relied on that Document to get the Realm, so pass that in as a
separate parameter.
This commit is contained in:
Sam Atkins 2025-04-08 16:50:51 +01:00 committed by Tim Ledbetter
parent a8ab4d64c4
commit 1abc628cd8
Notes: github-actions[bot] 2025-04-09 17:47:38 +00:00
3 changed files with 8 additions and 9 deletions

View file

@ -198,7 +198,7 @@ GC::Ptr<CSSImportRule> Parser::convert_to_import_rule(AtRule const& rule)
return {};
}
return CSSImportRule::create(resolved_url.release_value(), const_cast<DOM::Document&>(*document()), supports, move(media_query_list));
return CSSImportRule::create(realm(), resolved_url.release_value(), const_cast<DOM::Document*>(m_document.ptr()), supports, move(media_query_list));
}
Optional<FlyString> Parser::parse_layer_name(TokenStream<ComponentValue>& tokens, AllowBlankLayerName allow_blank_layer_name)