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 dacc7caf55374804525a1f7d4822434b025e2306..07ca4c321313c07233dcd4f1129e9ae7da2e3e05 100644 |
| --- a/third_party/WebKit/Source/core/input/PointerEventManager.cpp |
| +++ b/third_party/WebKit/Source/core/input/PointerEventManager.cpp |
| @@ -490,6 +490,32 @@ WebInputEventResult PointerEventManager::SendTouchPointerEvent( |
| return result; |
| } |
| +WebInputEventResult PointerEventManager::HandlePointerEvent( |
| + const WebPointerEvent& web_pointer_event, |
| + Node* target) { |
| + if (web_pointer_event.GetType() == WebInputEvent::Type::kPointerCancel) { |
|
mustaq
2017/07/10 16:17:30
Nit: DCHECK for kPointerCancel instead, until we h
Navid Zolghadr
2017/07/11 15:41:06
Done.
|
| + PointerEvent* pointer_event = |
| + pointer_event_factory_.CreatePointerCancelEvent(web_pointer_event); |
| + |
| + EventTarget* effective_target = |
| + GetEffectiveTargetForPointerEvent(target, pointer_event->pointerId()); |
| + WebInputEventResult result = |
| + DispatchPointerEvent(effective_target, pointer_event); |
| + |
| + ReleasePointerCapture(pointer_event->pointerId()); |
| + |
| + // TODO(nzolghadr): Instead of |ProcessPendingPointerCapture| maybe we |
| + // should have used ProcessCaptureAndPositionOfPointerEvent but that might |
| + // be sending boundary events however we probably not want that all the |
| + // time. |
| + ProcessPendingPointerCapture(pointer_event); |
| + |
| + RemovePointer(pointer_event); |
| + return result; |
| + } |
| + return WebInputEventResult::kNotHandled; |
| +} |
| + |
| WebInputEventResult PointerEventManager::SendMousePointerEvent( |
| Node* target, |
| const String& canvas_region_id, |