diff --git a/Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp b/Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp index 39be9f7d04..5599f2d5bd 100644 --- a/Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp +++ b/Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp @@ -106,6 +106,13 @@ void TokenStream::reconsume_current_input_token() --m_iterator_offset; } +template +void TokenStream::rewind_to_position(int position) +{ + VERIFY(position <= m_iterator_offset); + m_iterator_offset = position; +} + template void TokenStream::skip_whitespace() { diff --git a/Userland/Libraries/LibWeb/CSS/Parser/Parser.h b/Userland/Libraries/LibWeb/CSS/Parser/Parser.h index fabe517920..0eace6cfc2 100644 --- a/Userland/Libraries/LibWeb/CSS/Parser/Parser.h +++ b/Userland/Libraries/LibWeb/CSS/Parser/Parser.h @@ -61,6 +61,9 @@ public: T const& current_token(); void reconsume_current_input_token(); + int position() const { return m_iterator_offset; } + void rewind_to_position(int); + void skip_whitespace(); void dump_all_tokens();