diff --git a/elements/design-host/design-host.html b/elements/design-host/design-host.html index 434a63f7..27f11408 100644 --- a/elements/design-host/design-host.html +++ b/elements/design-host/design-host.html @@ -66,7 +66,8 @@ }, loadHtml: function(html, callback) { - var raw = document.createElement('div'); + // use a template to ensure the polymer-element does not upgrade + var raw = document.createElement('template'); raw.innerHTML = html; // remove imports var imports = raw.querySelectorAll('link[rel=import]').array(); @@ -74,7 +75,7 @@ i.remove(); }); // absorb polymer-element - this.polymerElement = raw.querySelector('polymer-element'); + this.polymerElement = raw.content.querySelector('polymer-element'); if (!this.polymerElement) { throw new Error('Must load a '); } @@ -86,6 +87,8 @@ // absorb template var template = this.polymerElement.querySelector('template'); if (template) { + // ensure template is owned by document so that its contents upgrade + document.adoptNode(template); // absorb styles, convert :host style var style = template.content.querySelector('style'); if (style) {