summaryrefslogtreecommitdiffstats
path: root/Source/WebCore/dom/EventDispatcher.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebCore/dom/EventDispatcher.cpp')
-rw-r--r--Source/WebCore/dom/EventDispatcher.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/Source/WebCore/dom/EventDispatcher.cpp b/Source/WebCore/dom/EventDispatcher.cpp
index ca2ed30..50d4997 100644
--- a/Source/WebCore/dom/EventDispatcher.cpp
+++ b/Source/WebCore/dom/EventDispatcher.cpp
@@ -99,6 +99,9 @@ void EventDispatcher::dispatchScopedEvent(Node* node, PassRefPtr<Event> event)
void EventDispatcher::dispatchSimulatedClick(Node* node, PassRefPtr<Event> underlyingEvent, bool sendMouseEvents, bool showPressedLook)
{
+ if (node->disabled())
+ return;
+
EventDispatcher dispatcher(node);
if (!gNodesDispatchingSimulatedClicks)
@@ -160,8 +163,8 @@ PassRefPtr<EventTarget> EventDispatcher::adjustToShadowBoundaries(PassRefPtr<Nod
}
if (!diverged) {
- // The relatedTarget is a parent or shadowHost of the target.
- if (isShadowRootOrSVGShadowRoot(m_node.get()))
+ // The relatedTarget is an ancestor or shadowHost of the target.
+ if (m_node->shadowHost() == relatedTarget.get())
lowestCommonBoundary = m_ancestors.begin();
} else if ((*firstDivergentBoundary) == m_node.get()) {
// Since ancestors does not contain target itself, we must account