Chromium Code Reviews| Index: third_party/WebKit/Source/core/input/PointerEventManager.cpp |
| diff --git a/third_party/WebKit/Source/core/input/PointerEventManager.cpp b/third_party/WebKit/Source/core/input/PointerEventManager.cpp |
| index 798a336662dfbd9f8346265269e2788c16a9cc0a..03e51099dae60ceb9e3bb7937723e96928b39cba 100644 |
| --- a/third_party/WebKit/Source/core/input/PointerEventManager.cpp |
| +++ b/third_party/WebKit/Source/core/input/PointerEventManager.cpp |
| @@ -8,6 +8,7 @@ |
| #include "core/dom/ElementTraversal.h" |
| #include "core/dom/shadow/FlatTreeTraversal.h" |
| #include "core/events/MouseEvent.h" |
| +#include "core/frame/EventHandlerRegistry.h" |
| #include "core/frame/LocalFrameView.h" |
| #include "core/frame/UseCounter.h" |
| #include "core/html/HTMLCanvasElement.h" |
| @@ -28,6 +29,9 @@ namespace { |
| size_t ToPointerTypeIndex(WebPointerProperties::PointerType t) { |
| return static_cast<size_t>(t); |
| } |
| +bool HasPointerEventListener(const EventHandlerRegistry& registry) { |
| + return registry.HasEventHandlers(EventHandlerRegistry::kPointerEvent); |
| +} |
| Vector<std::pair<WebTouchPoint, TimeTicks>> GetCoalescedPoints( |
| const Vector<WebTouchEvent>& coalesced_events, |
| @@ -159,8 +163,11 @@ WebInputEventResult PointerEventManager::DispatchPointerEvent( |
| } |
| } |
| - if (!RuntimeEnabledFeatures::pointerEventEnabled()) |
| + if (!frame_ || !frame_->GetPage() || |
| + !HasPointerEventListener(frame_->GetPage()->GetEventHandlerRegistry()) || |
| + !RuntimeEnabledFeatures::pointerEventEnabled()) |
|
dtapuska
2017/06/01 16:03:01
We should probably log a bug to remove RuntimeEnab
Navid Zolghadr
2017/06/01 16:10:41
We have a bug for this:
crbug.com/687976
eirage
2017/06/01 19:59:24
Acknowledged.
|
| return WebInputEventResult::kNotHandled; |
| + |
| if (!check_for_listener || target->HasEventListeners(event_type)) { |
| UseCounter::Count(frame_, UseCounter::kPointerEventDispatch); |
| if (event_type == EventTypeNames::pointerdown) |