Index: third_party/WebKit/Source/core/events/EventPath.cpp |
diff --git a/third_party/WebKit/Source/core/events/EventPath.cpp b/third_party/WebKit/Source/core/events/EventPath.cpp |
index b958b89089ed270a78e7d1c8bc5464aa4ad8c40b..54175abd8187e80108dcf4befd82cc5ff9af9db8 100644 |
--- a/third_party/WebKit/Source/core/events/EventPath.cpp |
+++ b/third_party/WebKit/Source/core/events/EventPath.cpp |
@@ -34,6 +34,7 @@ |
#include "core/dom/shadow/ShadowRoot.h" |
#include "core/events/TouchEvent.h" |
#include "core/events/TouchEventContext.h" |
+#include "core/html/HTMLSlotElement.h" |
namespace blink { |
@@ -127,6 +128,13 @@ void EventPath::calculatePath() |
current = insertionPoints.last(); |
continue; |
} |
+ if (current->isChildOfV1ShadowHost()) { |
+ if (HTMLSlotElement* slot = current->assignedSlot()) { |
+ current = slot; |
+ nodesInPath.append(current); |
+ continue; |
+ } |
+ } |
if (current->isShadowRoot()) { |
if (m_event && shouldStopAtShadowRoot(*m_event, *toShadowRoot(current), *m_node)) |
break; |