From 961acdecc3c0be9ef0bc67131f2375d0c1f5af9e Mon Sep 17 00:00:00 2001 From: noriaki watanabe Date: Wed, 28 May 2025 08:21:52 +0900 Subject: [PATCH 1/2] Refactor BeforeAttributeName state to unconditionally set reconsume --- core/src/renderer/html/token.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/src/renderer/html/token.rs b/core/src/renderer/html/token.rs index 1f5120c..e8fe85d 100644 --- a/core/src/renderer/html/token.rs +++ b/core/src/renderer/html/token.rs @@ -302,13 +302,13 @@ impl Iterator for HtmlTokenizer { } // https://html.spec.whatwg.org/multipage/parsing.html#before-attribute-name-state State::BeforeAttributeName => { + self.reconsume = true; + if c == '/' || c == '>' || self.is_eof() { - self.reconsume = true; self.state = State::AfterAttributeName; continue; } - self.reconsume = true; self.state = State::AttributeName; self.start_new_attribute(); } From d78078194b8d6df85c711ba3a053fcce4551a884 Mon Sep 17 00:00:00 2001 From: noriaki watanabe Date: Wed, 28 May 2025 08:22:07 +0900 Subject: [PATCH 2/2] Refactor ScriptDataEndTagOpen state to unconditionally set reconsume --- core/src/renderer/html/token.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/src/renderer/html/token.rs b/core/src/renderer/html/token.rs index e8fe85d..7e4aea0 100644 --- a/core/src/renderer/html/token.rs +++ b/core/src/renderer/html/token.rs @@ -491,14 +491,14 @@ impl Iterator for HtmlTokenizer { } // https://html.spec.whatwg.org/multipage/parsing.html#script-data-end-tag-open-state State::ScriptDataEndTagOpen => { + self.reconsume = true; + if c.is_ascii_alphabetic() { - self.reconsume = true; self.state = State::ScriptDataEndTagName; self.create_tag(false); continue; } - self.reconsume = true; self.state = State::ScriptData; // TODO: emit '<' and '/' // "Emit a U+003C LESS-THAN SIGN character token and a U+002F SOLIDUS character