| Index: ui/events/event_dispatcher.cc
|
| diff --git a/ui/events/event_dispatcher.cc b/ui/events/event_dispatcher.cc
|
| index 1c11ef9fe5bd3063d0d55d63b4cc20ec9e543ae9..a1fbafa79c08f01c776fbcfb9a7ca10369db7ae5 100644
|
| --- a/ui/events/event_dispatcher.cc
|
| +++ b/ui/events/event_dispatcher.cc
|
| @@ -46,8 +46,12 @@ Event* EventDispatcherDelegate::current_event() {
|
| EventDispatchDetails EventDispatcherDelegate::DispatchEvent(EventTarget* target,
|
| Event* event) {
|
| CHECK(target);
|
| + Event::DispatcherApi dispatch_helper(event);
|
| + dispatch_helper.set_phase(EP_PREDISPATCH);
|
| + dispatch_helper.set_result(ER_UNHANDLED);
|
| +
|
| EventDispatchDetails details = PreDispatchEvent(target, event);
|
| - if (!details.dispatcher_destroyed)
|
| + if (!event->handled() && !details.dispatcher_destroyed)
|
| details = DispatchEventToTarget(target, event);
|
| if (!details.dispatcher_destroyed)
|
| details = PostDispatchEvent(target, *event);
|
|
|