diff --git a/Userland/Libraries/LibWeb/HTML/Parser/HTMLToken.h b/Userland/Libraries/LibWeb/HTML/Parser/HTMLToken.h index 548e3193a3..8a946397ca 100644 --- a/Userland/Libraries/LibWeb/HTML/Parser/HTMLToken.h +++ b/Userland/Libraries/LibWeb/HTML/Parser/HTMLToken.h @@ -37,6 +37,7 @@ public: struct Position { size_t line { 0 }; size_t column { 0 }; + size_t byte_offset { 0 }; }; struct Attribute { diff --git a/Userland/Libraries/LibWeb/HTML/Parser/HTMLTokenizer.cpp b/Userland/Libraries/LibWeb/HTML/Parser/HTMLTokenizer.cpp index c38a78102e..aa58a28c0b 100644 --- a/Userland/Libraries/LibWeb/HTML/Parser/HTMLTokenizer.cpp +++ b/Userland/Libraries/LibWeb/HTML/Parser/HTMLTokenizer.cpp @@ -223,6 +223,7 @@ void HTMLTokenizer::skip(size_t count) } else { m_source_positions.last().column++; } + m_source_positions.last().byte_offset += m_utf8_iterator.underlying_code_point_length_in_bytes(); } ++m_utf8_iterator; }