diff options
Diffstat (limited to 'components/script/parse')
-rw-r--r-- | components/script/parse/html.rs | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/components/script/parse/html.rs b/components/script/parse/html.rs index d7e1535e487..7a0ae327008 100644 --- a/components/script/parse/html.rs +++ b/components/script/parse/html.rs @@ -203,7 +203,14 @@ impl<'a> Serializable for &'a Node { try!(serializer.start_elem(name.clone(), attr_refs)); } - for handle in node.children() { + let children = if let Some(tpl) = HTMLTemplateElementCast::to_ref(node) { + // https://github.com/w3c/DOM-Parsing/issues/1 + NodeCast::from_ref(&*tpl.Content()).children() + } else { + node.children() + }; + + for handle in children { try!(handle.r().serialize(serializer, IncludeNode)); } |