Index: third_party/WebKit/Source/core/dom/Node.cpp |
diff --git a/third_party/WebKit/Source/core/dom/Node.cpp b/third_party/WebKit/Source/core/dom/Node.cpp |
index 7e548db9ab627b4d60c3146a073d22d9287f2f1b..a900e248667bcdb9fa1998210e94be407fd56e6d 100644 |
--- a/third_party/WebKit/Source/core/dom/Node.cpp |
+++ b/third_party/WebKit/Source/core/dom/Node.cpp |
@@ -2043,7 +2043,7 @@ void Node::dispatchScopedEvent(PassRefPtrWillBeRawPtr<Event> event) |
EventDispatcher::dispatchScopedEvent(*this, event->createMediator()); |
} |
-bool Node::dispatchEventInternal(PassRefPtrWillBeRawPtr<Event> event) |
+EventTarget::DispatchEventResult Node::dispatchEventInternal(PassRefPtrWillBeRawPtr<Event> event) |
{ |
return EventDispatcher::dispatchEvent(*this, event->createMediator()); |
} |
@@ -2061,16 +2061,19 @@ void Node::dispatchSubtreeModifiedEvent() |
dispatchScopedEvent(MutationEvent::create(EventTypeNames::DOMSubtreeModified, true)); |
} |
-bool Node::dispatchDOMActivateEvent(int detail, PassRefPtrWillBeRawPtr<Event> underlyingEvent) |
+EventTarget::DispatchEventResult Node::dispatchDOMActivateEvent(int detail, PassRefPtrWillBeRawPtr<Event> underlyingEvent) |
{ |
ASSERT(!EventDispatchForbiddenScope::isEventDispatchForbidden()); |
RefPtrWillBeRawPtr<UIEvent> event = UIEvent::create(EventTypeNames::DOMActivate, true, true, document().domWindow(), detail); |
event->setUnderlyingEvent(underlyingEvent); |
dispatchScopedEvent(event); |
- return event->defaultHandled(); |
+ |
+ // TODO(dtapuska): Dispatching scoped events shouldn't check the return |
+ // type because the scoped event could get put off in the delayed queue. |
+ return event->eventResult(); |
} |
-bool Node::dispatchMouseEvent(const PlatformMouseEvent& nativeEvent, const AtomicString& eventType, |
+EventTarget::DispatchEventResult Node::dispatchMouseEvent(const PlatformMouseEvent& nativeEvent, const AtomicString& eventType, |
int detail, Node* relatedTarget) |
{ |
RefPtrWillBeRawPtr<MouseEvent> event = MouseEvent::create(eventType, document().domWindow(), nativeEvent, detail, relatedTarget); |
@@ -2099,7 +2102,7 @@ void Node::defaultEventHandler(Event* event) |
} |
} else if (eventType == EventTypeNames::click) { |
int detail = event->isUIEvent() ? static_cast<UIEvent*>(event)->detail() : 0; |
- if (dispatchDOMActivateEvent(detail, event)) |
+ if (dispatchDOMActivateEvent(detail, event) != EventTarget::DispatchEventResult::NotHandled) |
event->setDefaultHandled(); |
} else if (eventType == EventTypeNames::contextmenu) { |
if (Page* page = document().page()) |