diff options
-rw-r--r-- | components/script/dom/element.rs | 1 | ||||
-rw-r--r-- | components/script/dom/servoparser/html.rs | 6 | ||||
-rw-r--r-- | tests/wpt/metadata/html/syntax/serializing-html-fragments/serializing.html.ini | 57 |
3 files changed, 6 insertions, 58 deletions
diff --git a/components/script/dom/element.rs b/components/script/dom/element.rs index 34ab0b4ffdb..4cff642f57f 100644 --- a/components/script/dom/element.rs +++ b/components/script/dom/element.rs @@ -1097,7 +1097,6 @@ impl Element { local_name!("input") | local_name!("keygen") | local_name!("link") | - local_name!("menuitem") | local_name!("meta") | local_name!("param") | local_name!("source") | diff --git a/components/script/dom/servoparser/html.rs b/components/script/dom/servoparser/html.rs index 3ebf4b391b6..62fe26153ed 100644 --- a/components/script/dom/servoparser/html.rs +++ b/components/script/dom/servoparser/html.rs @@ -210,6 +210,12 @@ impl<'a> Serialize for &'a Node { ) -> io::Result<()> { let node = *self; + if let TraversalScope::ChildrenOnly(_) = traversal_scope { + if node.downcast::<Element>().map_or(false, |e| e.is_void()) { + return Ok(()); + } + } + let iter = SerializationIterator::new(node, traversal_scope != IncludeNode); for cmd in iter { diff --git a/tests/wpt/metadata/html/syntax/serializing-html-fragments/serializing.html.ini b/tests/wpt/metadata/html/syntax/serializing-html-fragments/serializing.html.ini index 3aa97242608..df554bda226 100644 --- a/tests/wpt/metadata/html/syntax/serializing-html-fragments/serializing.html.ini +++ b/tests/wpt/metadata/html/syntax/serializing-html-fragments/serializing.html.ini @@ -6,63 +6,6 @@ [outerHTML Attribute in non-standard namespace] expected: FAIL - [innerHTML Void context node area] - expected: FAIL - - [innerHTML Void context node base] - expected: FAIL - - [innerHTML Void context node basefont] - expected: FAIL - - [innerHTML Void context node bgsound] - expected: FAIL - - [innerHTML Void context node br] - expected: FAIL - - [innerHTML Void context node col] - expected: FAIL - - [innerHTML Void context node embed] - expected: FAIL - - [innerHTML Void context node frame] - expected: FAIL - - [innerHTML Void context node hr] - expected: FAIL - - [innerHTML Void context node img] - expected: FAIL - - [innerHTML Void context node input] - expected: FAIL - - [innerHTML Void context node keygen] - expected: FAIL - - [innerHTML Void context node link] - expected: FAIL - - [innerHTML Void context node menuitem] - expected: FAIL - - [innerHTML Void context node meta] - expected: FAIL - - [innerHTML Void context node param] - expected: FAIL - - [innerHTML Void context node source] - expected: FAIL - - [innerHTML Void context node track] - expected: FAIL - - [innerHTML Void context node wbr] - expected: FAIL - [innerHTML void as first child with following siblings area] expected: FAIL |