fix(browser): template elements should have content imported instead of the element itself.

This commit is contained in:
Alex Rickabaugh 2015-05-18 15:24:00 -07:00
parent 1054f6a9ab
commit c9ab8e4be8
1 changed files with 4 additions and 9 deletions

View File

@ -296,16 +296,11 @@ isShadowRoot(node): boolean {
return node instanceof DocumentFragment;
}
importIntoDoc(node: Node) {
var result = document.importNode(node, true);
// Workaround WebKit https://bugs.webkit.org/show_bug.cgi?id=137619
if (this.isTemplateElement(result) && !this.content(result).childNodes.length &&
this.content(node).childNodes.length) {
var childNodes = this.content(node).childNodes;
for (var i = 0; i < childNodes.length; ++i) {
this.content(result).appendChild(this.importIntoDoc(childNodes[i]));
var toImport = node;
if (this.isTemplateElement(node)) {
toImport = this.content(node);
}
}
return result;
return document.importNode(toImport, true);
}
isPageRule(rule): boolean {
return rule.type === CSSRule.PAGE_RULE;