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 3d22ce286adfef94bcd4c6da0034ce6f776fc87a..ae2d1960c00134a8a81b7efc023e38f762c9d8db 100644 |
--- a/third_party/WebKit/Source/core/input/PointerEventManager.cpp |
+++ b/third_party/WebKit/Source/core/input/PointerEventManager.cpp |
@@ -180,12 +180,13 @@ EventTarget* PointerEventManager::getEffectiveTargetForPointerEvent( |
void PointerEventManager::sendMouseAndPointerBoundaryEvents( |
Node* enteredNode, |
- const PlatformMouseEvent& mouseEvent) { |
+ const String& canvasRegionId, |
+ const WebMouseEvent& mouseEvent) { |
// Mouse event type does not matter as this pointerevent will only be used |
// to create boundary pointer events and its type will be overridden in |
// |sendBoundaryEvents| function. |
PointerEvent* dummyPointerEvent = m_pointerEventFactory.create( |
- EventTypeNames::mousedown, mouseEvent, Vector<PlatformMouseEvent>(), |
+ EventTypeNames::mousedown, mouseEvent, Vector<WebMouseEvent>(), |
m_frame->document()->domWindow()); |
// TODO(crbug/545647): This state should reset with pointercancel too. |
@@ -195,11 +196,11 @@ void PointerEventManager::sendMouseAndPointerBoundaryEvents( |
// behavior regarding preventMouseEvent state in that case. |
if (dummyPointerEvent->buttons() == 0 && dummyPointerEvent->isPrimary()) { |
m_preventMouseEventForPointerType[toPointerTypeIndex( |
- mouseEvent.pointerProperties().pointerType)] = false; |
+ mouseEvent.pointerType)] = false; |
} |
processCaptureAndPositionOfPointerEvent(dummyPointerEvent, enteredNode, |
- mouseEvent, true); |
+ canvasRegionId, mouseEvent, true); |
} |
void PointerEventManager::sendBoundaryEvents(EventTarget* exitedTarget, |
@@ -439,9 +440,10 @@ WebInputEventResult PointerEventManager::sendTouchPointerEvent( |
WebInputEventResult PointerEventManager::sendMousePointerEvent( |
Node* target, |
+ const String& canvasRegionId, |
const AtomicString& mouseEventType, |
- const PlatformMouseEvent& mouseEvent, |
- const Vector<PlatformMouseEvent>& coalescedEvents) { |
+ const WebMouseEvent& mouseEvent, |
+ const Vector<WebMouseEvent>& coalescedEvents) { |
PointerEvent* pointerEvent = |
m_pointerEventFactory.create(mouseEventType, mouseEvent, coalescedEvents, |
m_frame->document()->domWindow()); |
@@ -455,12 +457,12 @@ WebInputEventResult PointerEventManager::sendMousePointerEvent( |
if (pointerEvent->isPrimary()) { |
m_preventMouseEventForPointerType[toPointerTypeIndex( |
- mouseEvent.pointerProperties().pointerType)] = false; |
+ mouseEvent.pointerType)] = false; |
} |
} |
EventTarget* pointerEventTarget = processCaptureAndPositionOfPointerEvent( |
- pointerEvent, target, mouseEvent, true); |
+ pointerEvent, target, canvasRegionId, mouseEvent, true); |
EventTarget* effectiveTarget = getEffectiveTargetForPointerEvent( |
pointerEventTarget, pointerEvent->pointerId()); |
@@ -472,12 +474,12 @@ WebInputEventResult PointerEventManager::sendMousePointerEvent( |
pointerEvent->type() == EventTypeNames::pointerdown && |
pointerEvent->isPrimary()) { |
m_preventMouseEventForPointerType[toPointerTypeIndex( |
- mouseEvent.pointerProperties().pointerType)] = true; |
+ mouseEvent.pointerType)] = true; |
} |
if (pointerEvent->isPrimary() && |
!m_preventMouseEventForPointerType[toPointerTypeIndex( |
- mouseEvent.pointerProperties().pointerType)]) { |
+ mouseEvent.pointerType)]) { |
EventTarget* mouseTarget = effectiveTarget; |
// Event path could be null if pointer event is not dispatched and |
// that happens for example when pointer event feature is not enabled. |
@@ -491,8 +493,9 @@ WebInputEventResult PointerEventManager::sendMousePointerEvent( |
} |
} |
result = EventHandlingUtil::mergeEventResult( |
- result, m_mouseEventManager->dispatchMouseEvent( |
- mouseTarget, mouseEventType, mouseEvent, nullptr)); |
+ result, |
+ m_mouseEventManager->dispatchMouseEvent( |
+ mouseTarget, mouseEventType, mouseEvent, canvasRegionId, nullptr)); |
} |
if (pointerEvent->type() == EventTypeNames::pointerup || |
@@ -503,7 +506,7 @@ WebInputEventResult PointerEventManager::sendMousePointerEvent( |
if (pointerEvent->isPrimary()) { |
m_preventMouseEventForPointerType[toPointerTypeIndex( |
- mouseEvent.pointerProperties().pointerType)] = false; |
+ mouseEvent.pointerType)] = false; |
} |
} |
@@ -534,7 +537,8 @@ bool PointerEventManager::getPointerCaptureState( |
EventTarget* PointerEventManager::processCaptureAndPositionOfPointerEvent( |
PointerEvent* pointerEvent, |
EventTarget* hitTestTarget, |
- const PlatformMouseEvent& mouseEvent, |
+ const String& canvasRegionId, |
+ const WebMouseEvent& mouseEvent, |
bool sendMouseEvent) { |
processPendingPointerCapture(pointerEvent); |
@@ -547,7 +551,8 @@ EventTarget* PointerEventManager::processCaptureAndPositionOfPointerEvent( |
setNodeUnderPointer(pointerEvent, hitTestTarget); |
if (sendMouseEvent) { |
m_mouseEventManager->setNodeUnderMouse( |
- hitTestTarget ? hitTestTarget->toNode() : nullptr, mouseEvent); |
+ hitTestTarget ? hitTestTarget->toNode() : nullptr, canvasRegionId, |
+ mouseEvent); |
} |
return hitTestTarget; |
} |