LibWeb: Track whether HTMLLinkElement was enabled when created by parser

This information is needed by the script-blocking style sheet logic, and
its absence was causing a WPT test to crash.
This commit is contained in:
Andreas Kling 2025-04-24 12:36:54 +02:00 committed by Andreas Kling
parent 1772adb600
commit e5d62e9915
Notes: github-actions[bot] 2025-04-24 16:28:25 +00:00
5 changed files with 45 additions and 3 deletions

View file

@ -810,7 +810,9 @@ GC::Ref<DOM::Element> HTMLParser::create_element_for(HTMLToken const& token, Opt
// AD-HOC: Let <link> elements know which document they were originally parsed for.
// This is used for the render-blocking logic.
if (local_name == HTML::TagNames::link && namespace_ == Namespace::HTML) {
as<HTMLLinkElement>(*element).set_parser_document({}, document);
auto& link_element = as<HTMLLinkElement>(*element);
link_element.set_parser_document({}, document);
link_element.set_was_enabled_when_created_by_parser({}, !token.has_attribute(HTML::AttributeNames::disabled));
}
// 10. Append each attribute in the given token to element.