| Index: third_party/WebKit/Source/core/events/EventDispatcher.cpp
|
| diff --git a/third_party/WebKit/Source/core/events/EventDispatcher.cpp b/third_party/WebKit/Source/core/events/EventDispatcher.cpp
|
| index 665cf82318b789725a9bfbd2449d95a3130e6e23..af33e2aac8023d84d24fcb1d8944e759b0a6163a 100644
|
| --- a/third_party/WebKit/Source/core/events/EventDispatcher.cpp
|
| +++ b/third_party/WebKit/Source/core/events/EventDispatcher.cpp
|
| @@ -32,6 +32,7 @@
|
| #include "core/events/MouseEvent.h"
|
| #include "core/events/ScopedEventQueue.h"
|
| #include "core/events/WindowEventContext.h"
|
| +#include "core/frame/Deprecation.h"
|
| #include "core/frame/FrameView.h"
|
| #include "core/frame/LocalDOMWindow.h"
|
| #include "core/frame/UseCounter.h"
|
| @@ -227,20 +228,20 @@ inline void EventDispatcher::dispatchEventPostProcess(EventDispatchHandlingState
|
| m_node->willCallDefaultEventHandler(*m_event);
|
| m_node->defaultEventHandler(m_event.get());
|
| ASSERT(!m_event->defaultPrevented());
|
| - if (m_event->defaultHandled())
|
| - return;
|
| // For bubbling events, call default event handlers on the same targets in the
|
| // same order as the bubbling phase.
|
| - if (m_event->bubbles()) {
|
| + if (!m_event->defaultHandled() && m_event->bubbles()) {
|
| size_t size = m_event->eventPath().size();
|
| for (size_t i = 1; i < size; ++i) {
|
| m_event->eventPath()[i].node()->willCallDefaultEventHandler(*m_event);
|
| m_event->eventPath()[i].node()->defaultEventHandler(m_event.get());
|
| ASSERT(!m_event->defaultPrevented());
|
| if (m_event->defaultHandled())
|
| - return;
|
| + break;
|
| }
|
| }
|
| + if (m_event->defaultHandled() && !m_event->isTrusted() && !isClick)
|
| + Deprecation::countDeprecation(m_node->document(), UseCounter::UntrustedEventDefaultHandled);
|
| }
|
| }
|
|
|
|
|