LibWeb: Implement more of the "after body" insertion mode

This commit is contained in:
Andreas Kling 2020-05-28 18:52:32 +02:00
parent cba5d59adc
commit 00b44ab148
Notes: sideshowbarker 2024-07-19 06:01:35 +09:00

View file

@ -482,6 +482,25 @@ void HTMLDocumentParser::handle_after_body(HTMLToken& token)
return;
}
if (token.is_comment()) {
TODO();
}
if (token.is_doctype()) {
PARSE_ERROR();
return;
}
if (token.is_start_tag() && token.tag_name() == "html") {
process_using_the_rules_for(InsertionMode::InBody, token);
return;
}
if (token.is_end_of_file()) {
// FIXME: Stop parsing!
TODO();
}
if (token.is_end_tag() && token.tag_name() == "html") {
if (m_parsing_fragment) {
ASSERT_NOT_REACHED();
@ -489,7 +508,10 @@ void HTMLDocumentParser::handle_after_body(HTMLToken& token)
m_insertion_mode = InsertionMode::AfterAfterBody;
return;
}
ASSERT_NOT_REACHED();
PARSE_ERROR();
m_insertion_mode = InsertionMode::InBody;
process_using_the_rules_for(InsertionMode::InBody, token);
}
void HTMLDocumentParser::handle_after_after_body(HTMLToken& token)