From e11ae33c664a3873ca3383ac4582f2ed9ccc5f1e Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Mon, 20 Sep 2021 17:04:55 +0200 Subject: LibWeb: Pop entire stack of open elements at the end of parsing --- Userland/Libraries/LibWeb/HTML/Parser/HTMLDocumentParser.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Userland/Libraries/LibWeb/HTML/Parser/HTMLDocumentParser.cpp b/Userland/Libraries/LibWeb/HTML/Parser/HTMLDocumentParser.cpp index dad672ce76..88e4493257 100644 --- a/Userland/Libraries/LibWeb/HTML/Parser/HTMLDocumentParser.cpp +++ b/Userland/Libraries/LibWeb/HTML/Parser/HTMLDocumentParser.cpp @@ -179,6 +179,10 @@ void HTMLDocumentParser::run(const AK::URL& url) m_document->set_ready_state("interactive"); + // 3. Pop all the nodes off the stack of open elements. + while (!m_stack_of_open_elements.is_empty()) + m_stack_of_open_elements.pop(); + auto scripts_to_execute_when_parsing_has_finished = m_document->take_scripts_to_execute_when_parsing_has_finished({}); for (auto& script : scripts_to_execute_when_parsing_has_finished) { // FIXME: Spin the event loop until the script is ready to be parser executed and there's no style sheets blocking scripts. -- cgit v1.2.3