ASSERTION FAILED: !node || node->isShadowRoot() in WebCore::EventRetargeter::eventTar...
[WebKit-https.git] / Source / WebCore / dom / EventRetargeter.h
index 6ddac006311d48c96fc54dde64bfe0a80a6833ad..ff2b625e02081cc66a84b9d0207597e7400343b9 100644 (file)
@@ -90,7 +90,8 @@ inline EventTarget* EventRetargeter::eventTargetRespectingTargetRules(Node* refe
 
     // Spec: The event handling for the non-exposed tree works as if the referenced element had been textually included
     // as a deeply cloned child of the 'use' element, except that events are dispatched to the SVGElementInstance objects
-    Element* shadowHostElement = toShadowRoot(referenceNode->treeScope()->rootNode())->hostElement();
+    Node* rootNode = referenceNode->treeScope()->rootNode();
+    Element* shadowHostElement = rootNode->isShadowRoot() ? toShadowRoot(rootNode)->hostElement() : 0;
     // At this time, SVG nodes are not supported in non-<use> shadow trees.
     if (!shadowHostElement || !shadowHostElement->hasTagName(SVGNames::useTag))
         return referenceNode;