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

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: Rebase Created 5 years 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 c76642f61dd995eb592dc5bf45c00116d42a44ad..a54e03deb049a9eb13cbe361a629438058b475c2 100644
--- a/third_party/WebKit/Source/core/dom/Node.cpp
+++ b/third_party/WebKit/Source/core/dom/Node.cpp
@@ -1980,7 +1980,7 @@ void Node::dispatchScopedEvent(PassRefPtrWillBeRawPtr<Event> event)
EventDispatcher::dispatchScopedEvent(*this, event->createMediator());
}
-bool Node::dispatchEventInternal(PassRefPtrWillBeRawPtr<Event> event)
+WebInputEventResult Node::dispatchEventInternal(PassRefPtrWillBeRawPtr<Event> event)
{
return EventDispatcher::dispatchEvent(*this, event->createMediator());
}
@@ -1998,16 +1998,19 @@ void Node::dispatchSubtreeModifiedEvent()
dispatchScopedEvent(MutationEvent::create(EventTypeNames::DOMSubtreeModified, true));
}
-bool Node::dispatchDOMActivateEvent(int detail, PassRefPtrWillBeRawPtr<Event> underlyingEvent)
+WebInputEventResult 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,
+WebInputEventResult Node::dispatchMouseEvent(const PlatformMouseEvent& nativeEvent, const AtomicString& eventType,
int detail, Node* relatedTarget)
{
RefPtrWillBeRawPtr<MouseEvent> event = MouseEvent::create(eventType, document().domWindow(), nativeEvent, detail, relatedTarget);
@@ -2036,7 +2039,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) != WebInputEventResult::NotHandled)
event->setDefaultHandled();
} else if (eventType == EventTypeNames::contextmenu) {
if (Page* page = document().page())

Powered by Google App Engine
This is Rietveld 408576698