Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(312)

Unified Diff: third_party/WebKit/Source/core/dom/Node.cpp

Issue 1479923002: Enumerate the return value of dispatchEvent so it is clear. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master_passive_uma_add
Patch Set: Add back the EventDispatchResult enum Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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())

Powered by Google App Engine
This is Rietveld 408576698