From 96cc1138c0cff274c6516b92c5a81c944c476b90 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Sun, 24 May 2020 19:15:16 +0200 Subject: [PATCH] LibWeb: Remove tokenizer's premature character buffering optimization --- Libraries/LibWeb/Parser/HTMLTokenizer.cpp | 14 ++------------ Libraries/LibWeb/Parser/HTMLTokenizer.h | 1 - 2 files changed, 2 insertions(+), 13 deletions(-) diff --git a/Libraries/LibWeb/Parser/HTMLTokenizer.cpp b/Libraries/LibWeb/Parser/HTMLTokenizer.cpp index a5680b7a7e..5c46e36249 100644 --- a/Libraries/LibWeb/Parser/HTMLTokenizer.cpp +++ b/Libraries/LibWeb/Parser/HTMLTokenizer.cpp @@ -134,10 +134,9 @@ Optional HTMLTokenizer::next_token() } ANYTHING_ELSE { - if (m_current_token.type() != HTMLToken::Type::Character) - create_new_token(HTMLToken::Type::Character); + create_new_token(HTMLToken::Type::Character); m_current_token.m_comment_or_character.data.append(current_input_character.value()); - continue; + return m_current_token; } } END_STATE @@ -749,7 +748,6 @@ bool HTMLTokenizer::next_few_characters_are(const StringView& string) const void HTMLTokenizer::create_new_token(HTMLToken::Type type) { - flush_current_character_or_comment_if_needed(); m_current_token = {}; m_current_token.m_type = type; } @@ -761,7 +759,6 @@ HTMLTokenizer::HTMLTokenizer(const StringView& input) void HTMLTokenizer::will_switch_to([[maybe_unused]] State new_state) { - flush_current_character_or_comment_if_needed(); #ifdef TOKENIZER_TRACE dbg() << "[" << state_name(m_state) << "] Switch to " << state_name(new_state); #endif @@ -769,16 +766,9 @@ void HTMLTokenizer::will_switch_to([[maybe_unused]] State new_state) void HTMLTokenizer::will_reconsume_in([[maybe_unused]] State new_state) { - flush_current_character_or_comment_if_needed(); #ifdef TOKENIZER_TRACE dbg() << "[" << state_name(m_state) << "] Reconsume in " << state_name(new_state); #endif } -void HTMLTokenizer::flush_current_character_or_comment_if_needed() -{ - //if (m_current_token.type() == HTMLToken::Type::Character || m_current_token.type() == HTMLToken::Type::Comment) - // emit_current_token(); -} - } diff --git a/Libraries/LibWeb/Parser/HTMLTokenizer.h b/Libraries/LibWeb/Parser/HTMLTokenizer.h index 17b795baa5..b01b0e200e 100644 --- a/Libraries/LibWeb/Parser/HTMLTokenizer.h +++ b/Libraries/LibWeb/Parser/HTMLTokenizer.h @@ -147,7 +147,6 @@ private: void will_switch_to(State); void will_reconsume_in(State); - void flush_current_character_or_comment_if_needed(); State m_state { State::Data }; State m_return_state { State::Data };