From 66a369c9eec1d40ac7e007aa78825ffd9dc69300 Mon Sep 17 00:00:00 2001 From: Anthony Ramine Date: Thu, 20 Aug 2015 01:21:36 +0200 Subject: [PATCH] Do not check if self-closing flag was acknowledged on end tags --- src/tree_builder/mod.rs | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/src/tree_builder/mod.rs b/src/tree_builder/mod.rs index 060774a0..e167073e 100644 --- a/src/tree_builder/mod.rs +++ b/src/tree_builder/mod.rs @@ -23,8 +23,7 @@ use string_cache::QualName; use tendril::StrTendril; use tokenizer; -use tokenizer::{Doctype, Tag}; -use tokenizer::TokenSink; +use tokenizer::{Doctype, StartTag, Tag, TokenSink}; use tokenizer::states as tok_state; use util::str::is_ascii_whitespace; @@ -319,10 +318,8 @@ impl TreeBuilder let mut more_tokens = VecDeque::new(); loop { - let is_self_closing = match token { - TagToken(Tag { self_closing: c, .. }) => c, - _ => false, - }; + let should_have_acknowledged_self_closing_flag = + matches!(token, TagToken(Tag { self_closing: true, kind: StartTag, .. })); let result = if self.is_foreign(&token) { self.step_foreign(token) } else { @@ -331,7 +328,7 @@ impl TreeBuilder }; match result { Done => { - if is_self_closing { + if should_have_acknowledged_self_closing_flag { self.sink.parse_error(Borrowed("Unacknowledged self-closing tag")); } token = unwrap_or_return!(more_tokens.pop_front(), ());