diff --git a/Userland/Libraries/LibWeb/HTML/Parser/HTMLParser.cpp b/Userland/Libraries/LibWeb/HTML/Parser/HTMLParser.cpp index 8d5761f2e1..1ae6320ce8 100644 --- a/Userland/Libraries/LibWeb/HTML/Parser/HTMLParser.cpp +++ b/Userland/Libraries/LibWeb/HTML/Parser/HTMLParser.cpp @@ -121,6 +121,7 @@ static bool is_html_integration_point(DOM::Element const& element) HTMLParser::HTMLParser(DOM::Document& document, StringView input, String const& encoding) : m_tokenizer(input, encoding) + , m_scripting_enabled(document.is_scripting_enabled()) , m_document(JS::make_handle(document)) { m_tokenizer.set_parser({}, *this); @@ -132,7 +133,8 @@ HTMLParser::HTMLParser(DOM::Document& document, StringView input, String const& } HTMLParser::HTMLParser(DOM::Document& document) - : m_document(JS::make_handle(document)) + : m_scripting_enabled(document.is_scripting_enabled()) + , m_document(JS::make_handle(document)) { m_document->set_parser({}, *this); m_tokenizer.set_parser({}, *this); diff --git a/Userland/Libraries/LibWeb/HTML/Parser/HTMLParser.h b/Userland/Libraries/LibWeb/HTML/Parser/HTMLParser.h index 861acc4b08..fe80150197 100644 --- a/Userland/Libraries/LibWeb/HTML/Parser/HTMLParser.h +++ b/Userland/Libraries/LibWeb/HTML/Parser/HTMLParser.h @@ -169,7 +169,11 @@ private: bool m_foster_parenting { false }; bool m_frameset_ok { true }; bool m_parsing_fragment { false }; + + // https://html.spec.whatwg.org/multipage/parsing.html#scripting-flag + // The scripting flag is set to "enabled" if scripting was enabled for the Document with which the parser is associated when the parser was created, and "disabled" otherwise. bool m_scripting_enabled { true }; + bool m_invoked_via_document_write { false }; bool m_aborted { false }; bool m_parser_pause_flag { false };