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 1d04ee44151c4d06e3199df240202e27eee051aa..b0d3c1dc9060d9a7aad2c010951ca78f517e683d 100644 |
--- a/third_party/WebKit/Source/core/input/PointerEventManager.cpp |
+++ b/third_party/WebKit/Source/core/input/PointerEventManager.cpp |
@@ -443,7 +443,8 @@ WebInputEventResult PointerEventManager::sendMousePointerEvent( |
const String& canvasRegionId, |
const AtomicString& mouseEventType, |
const WebMouseEvent& mouseEvent, |
- const Vector<WebMouseEvent>& coalescedEvents) { |
+ const Vector<WebMouseEvent>& coalescedEvents, |
+ bool sendClickIfNeeded) { |
PointerEvent* pointerEvent = |
m_pointerEventFactory.create(mouseEventType, mouseEvent, coalescedEvents, |
m_frame->document()->domWindow()); |
@@ -496,6 +497,14 @@ WebInputEventResult PointerEventManager::sendMousePointerEvent( |
result, |
m_mouseEventManager->dispatchMouseEvent( |
mouseTarget, mouseEventType, mouseEvent, canvasRegionId, nullptr)); |
+ |
+ if (sendClickIfNeeded && mouseTarget && |
+ mouseEventType == EventTypeNames::mouseup) { |
+ WebInputEventResult clickEventResult = |
+ m_mouseEventManager->dispatchMouseClickIfNeeded( |
+ mouseTarget->toNode(), mouseEvent, canvasRegionId); |
+ result = EventHandlingUtil::mergeEventResult(clickEventResult, result); |
+ } |
} |
if (pointerEvent->type() == EventTypeNames::pointerup || |