LibWeb: Bail nicely on EOF in HTML parser "in body" state

If we reach the end of the token stream when "ignoring and moving on
to the next token" in the "in body" state, we should just not move
on to the next token, since there isn't one.

Covered by various WPT HTML parsing tests that will be imported in
a subsequent commit.
This commit is contained in:
Andreas Kling 2024-11-02 23:13:09 +01:00 committed by Andreas Kling
parent c2cd191864
commit cfa820922b
Notes: github-actions[bot] 2024-11-03 16:53:01 +00:00

View file

@ -1912,7 +1912,7 @@ void HTMLParser::handle_in_body(HTMLToken& token)
auto next_token = m_tokenizer.next_token();
if (next_token.has_value() && next_token.value().is_character() && next_token.value().code_point() == '\n') {
// Ignore it.
} else {
} else if (next_token.has_value()) {
process_using_the_rules_for(m_insertion_mode, next_token.value());
}
@ -2471,7 +2471,7 @@ void HTMLParser::handle_in_body(HTMLToken& token)
// FIXME: This step is not in the spec.
if (next_token.has_value() && next_token.value().is_character() && next_token.value().code_point() == '\n') {
// Ignore it.
} else {
} else if (next_token.has_value()) {
process_using_the_rules_for(m_insertion_mode, next_token.value());
}
return;