From 9fca4b56d30048fb4560497a90665291eedbaae7 Mon Sep 17 00:00:00 2001 From: Kyle McLean Date: Wed, 3 Jun 2020 22:33:10 -0600 Subject: [PATCH] LibWeb: Parse end tags for "applet", "marquee", and "object" during "in body" --- Libraries/LibWeb/Parser/HTMLDocumentParser.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/Libraries/LibWeb/Parser/HTMLDocumentParser.cpp b/Libraries/LibWeb/Parser/HTMLDocumentParser.cpp index 25c66047b2..146e848d29 100644 --- a/Libraries/LibWeb/Parser/HTMLDocumentParser.cpp +++ b/Libraries/LibWeb/Parser/HTMLDocumentParser.cpp @@ -1169,7 +1169,18 @@ void HTMLDocumentParser::handle_in_body(HTMLToken& token) } if (token.is_end_tag() && token.tag_name().is_one_of("applet", "marquee", "object")) { - TODO(); + if (!m_stack_of_open_elements.has_in_scope(token.tag_name())) { + PARSE_ERROR(); + return; + } + + generate_implied_end_tags(); + if (current_node().tag_name() != token.tag_name()) { + PARSE_ERROR(); + } + m_stack_of_open_elements.pop_until_an_element_with_tag_name_has_been_popped(token.tag_name()); + m_list_of_active_formatting_elements.clear_up_to_the_last_marker(); + return; } if (token.is_start_tag() && token.tag_name() == "table") {