| 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 21ce995d0f67a222d0160e4a6e62a6fa861c49a5..faae397f7c28449cbf92be3555ce00cf0a27f84b 100644
|
| --- a/third_party/WebKit/Source/core/input/PointerEventManager.cpp
|
| +++ b/third_party/WebKit/Source/core/input/PointerEventManager.cpp
|
| @@ -655,6 +655,24 @@ bool PointerEventManager::isActive(const int pointerId) const {
|
| return m_pointerEventFactory.isActive(pointerId);
|
| }
|
|
|
| +// This function checks the type of the pointer event to be touch as touch
|
| +// pointer events are the only ones that are directly dispatched from the main
|
| +// page managers to their target (event if target is in an iframe) and only
|
| +// those managers will keep track of these pointer events.
|
| +bool PointerEventManager::isTouchPointerIdActiveOnFrame(
|
| + int pointerId,
|
| + LocalFrame* frame) const {
|
| + if (m_pointerEventFactory.getPointerType(pointerId) !=
|
| + WebPointerProperties::PointerType::Touch)
|
| + return false;
|
| + Node* lastNodeReceivingEvent =
|
| + m_nodeUnderPointer.contains(pointerId)
|
| + ? m_nodeUnderPointer.get(pointerId).target->toNode()
|
| + : nullptr;
|
| + return lastNodeReceivingEvent &&
|
| + lastNodeReceivingEvent->document().frame() == frame;
|
| +}
|
| +
|
| bool PointerEventManager::isAnyTouchActive() const {
|
| return m_touchEventManager->isAnyTouchActive();
|
| }
|
|
|