fix(IE11): first fixes

Closes #1179
This commit is contained in:
Marc Laval 2015-03-31 22:56:45 +02:00
parent a96c149793
commit 90d9a1df3f
1 changed files with 12 additions and 8 deletions

View File

@ -56,8 +56,12 @@ export class BrowserDomAdapter extends GenericBrowserDomAdapter {
type(node:string) {
return node.type;
}
content(node:HTMLTemplateElement):Node {
return node.content;
content(node:HTMLElement):Node {
if (this.hasProperty(node, "content")) {
return node.content;
} else {
return node;
}
}
firstChild(el):Node {
return el.firstChild;
@ -216,10 +220,10 @@ export class BrowserDomAdapter extends GenericBrowserDomAdapter {
return element.removeAttribute(attribute);
}
templateAwareRoot(el) {
return el instanceof HTMLTemplateElement ? el.content : el;
return this.isTemplateElement(el) ? this.content(el) : el;
}
createHtmlDocument() {
return document.implementation.createHTMLDocument();
return document.implementation.createHTMLDocument('fakeTitle');
}
defaultDoc() {
return document;
@ -234,7 +238,7 @@ export class BrowserDomAdapter extends GenericBrowserDomAdapter {
return n instanceof HTMLElement && n.matches(selector);
}
isTemplateElement(el:any):boolean {
return el instanceof HTMLTemplateElement;
return el instanceof HTMLElement && el.nodeName == "TEMPLATE";
}
isTextNode(node:Node):boolean {
return node.nodeType === Node.TEXT_NODE;
@ -255,10 +259,10 @@ export class BrowserDomAdapter extends GenericBrowserDomAdapter {
var result = document.importNode(node, true);
// Workaround WebKit https://bugs.webkit.org/show_bug.cgi?id=137619
if (this.isTemplateElement(result) &&
!result.content.childNodes.length && node.content.childNodes.length) {
var childNodes = node.content.childNodes;
!this.content(result).childNodes.length && this.content(node).childNodes.length) {
var childNodes = this.content(node).childNodes;
for (var i = 0; i < childNodes.length; ++i) {
result.content.appendChild(
this.content(result).appendChild(
this.importIntoDoc(childNodes[i]));
}
}