From aac1f74d585a6b2fbaae33d29d4139b11886ef53 Mon Sep 17 00:00:00 2001 From: Richard Harris Date: Sun, 7 Apr 2019 12:59:31 -0400 Subject: [PATCH] only use explicit namespace for top-level elements --- src/compile/nodes/Element.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/compile/nodes/Element.ts b/src/compile/nodes/Element.ts index daf1e6a063..bc1991c57e 100644 --- a/src/compile/nodes/Element.ts +++ b/src/compile/nodes/Element.ts @@ -73,13 +73,13 @@ const passive_events = new Set([ 'touchcancel' ]); -function get_namespace(parent: Element, element: Element) { +function get_namespace(parent: Element, element: Element, explicit_namespace: string) { const parent_element = parent.find_nearest(/^Element/); if (!parent_element) { - return svg.test(element.name) + return explicit_namespace || (svg.test(element.name) ? namespaces.svg - : null; + : null); } if (element.name.toLowerCase() === 'svg') return namespaces.svg; @@ -108,7 +108,7 @@ export default class Element extends Node { super(component, parent, scope, info); this.name = info.name; - this.namespace = component.namespace || get_namespace(parent, this); + this.namespace = get_namespace(parent, this, component.namespace); if (this.name === 'textarea') { if (info.children.length > 0) {