aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/parse
diff options
context:
space:
mode:
Diffstat (limited to 'components/script/parse')
-rw-r--r--components/script/parse/html.rs9
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));
}