LibWeb: Add a PARSE_ERROR() macro to the new HTML parser

Unless otherwise stated, we shouldn't stop parsing just because there's
a parse error, so let's allow ourselves to continue.

With this change, we can now tokenize and parse the ACID1 test. :^)
This commit is contained in:
Andreas Kling 2020-05-25 20:02:27 +02:00
parent 406fd95f32
commit 50265858ab
Notes: sideshowbarker 2024-07-19 06:09:01 +09:00

View file

@ -41,6 +41,11 @@
ASSERT_NOT_REACHED(); \
} while (0)
#define PARSE_ERROR() \
do { \
dbg() << "Parse error!"; \
} while (0)
namespace Web {
HTMLDocumentParser::HTMLDocumentParser(const StringView& input)
@ -353,8 +358,7 @@ void HTMLDocumentParser::close_a_p_element()
{
generate_implied_end_tags("p");
if (current_node().tag_name() != "p") {
// Parse error.
TODO();
PARSE_ERROR();
}
for (;;) {
auto popped_element = m_stack_of_open_elements.pop();