Index: third_party/WebKit/Source/core/events/PointerEventManager.cpp |
diff --git a/third_party/WebKit/Source/core/events/PointerEventManager.cpp b/third_party/WebKit/Source/core/events/PointerEventManager.cpp |
deleted file mode 100644 |
index 233058eb74900b7c91624203906e13bd34e0639d..0000000000000000000000000000000000000000 |
--- a/third_party/WebKit/Source/core/events/PointerEventManager.cpp |
+++ /dev/null |
@@ -1,215 +0,0 @@ |
-// Copyright 2015 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "core/events/PointerEventManager.h" |
- |
-namespace blink { |
- |
-namespace { |
- |
-inline int toInt(WebPointerProperties::PointerType t) { return static_cast<int>(t); } |
- |
-const char* pointerTypeNameForWebPointPointerType(WebPointerProperties::PointerType type) |
-{ |
- switch (type) { |
- case WebPointerProperties::PointerType::Unknown: |
- return ""; |
- case WebPointerProperties::PointerType::Touch: |
- return "touch"; |
- case WebPointerProperties::PointerType::Pen: |
- return "pen"; |
- case WebPointerProperties::PointerType::Mouse: |
- return "mouse"; |
- } |
- ASSERT_NOT_REACHED(); |
- return ""; |
-} |
- |
-} // namespace |
- |
-const PointerEventManager::MappedId PointerEventManager::s_invalidId = 0; |
- |
-// Mouse id is 1 to behave the same as MS Edge for compatibility reasons. |
-const PointerEventManager::MappedId PointerEventManager::s_mouseId = 1; |
- |
-EventTarget* PointerEventManager::getCapturingNode(PassRefPtrWillBeRawPtr<PointerEvent> pointerEvent) |
-{ |
- // TODO(nzolghadr): Add APIs to set the capturing nodes and return the correct node here |
- return nullptr; |
-} |
- |
-float getPointerEventPressure(float force, int buttons) |
-{ |
- if (std::isnan(force)) |
- return buttons ? 0.5 : 0; |
- return force; |
-} |
- |
-void PointerEventManager::setIdAndType(PointerEventInit &pointerEventInit, |
- const WebPointerProperties &pointerProperties) |
-{ |
- const WebPointerProperties::PointerType pointerType = pointerProperties.pointerType; |
- MappedId pointerId = add(PointerEventManager::IncomingId(toInt(pointerType), pointerProperties.id)); |
- pointerEventInit.setPointerId(pointerId); |
- pointerEventInit.setPointerType(pointerTypeNameForWebPointPointerType(pointerType)); |
- pointerEventInit.setIsPrimary(isPrimary(pointerId)); |
-} |
- |
-PassRefPtrWillBeRawPtr<PointerEvent> PointerEventManager::create(const AtomicString& type, |
- const PlatformMouseEvent& mouseEvent, |
- PassRefPtrWillBeRawPtr<Node> relatedTarget, |
- PassRefPtrWillBeRawPtr<AbstractView> view) |
-{ |
- PointerEventInit pointerEventInit; |
- |
- setIdAndType(pointerEventInit, mouseEvent.pointerProperties()); |
- |
- pointerEventInit.setScreenX(mouseEvent.globalPosition().x()); |
- pointerEventInit.setScreenY(mouseEvent.globalPosition().y()); |
- pointerEventInit.setClientX(mouseEvent.position().x()); |
- pointerEventInit.setClientY(mouseEvent.position().y()); |
- |
- pointerEventInit.setButton(mouseEvent.button()); |
- pointerEventInit.setButtons(MouseEvent::platformModifiersToButtons(mouseEvent.modifiers())); |
- pointerEventInit.setPressure(getPointerEventPressure( |
- mouseEvent.pointerProperties().force, pointerEventInit.buttons())); |
- |
- UIEventWithKeyState::setFromPlatformModifiers(pointerEventInit, mouseEvent.modifiers()); |
- |
- pointerEventInit.setBubbles(type != EventTypeNames::pointerenter |
- && type != EventTypeNames::pointerleave); |
- pointerEventInit.setCancelable(type != EventTypeNames::pointerenter |
- && type != EventTypeNames::pointerleave && type != EventTypeNames::pointercancel); |
- |
- pointerEventInit.setView(view); |
- if (relatedTarget) |
- pointerEventInit.setRelatedTarget(relatedTarget); |
- |
- return PointerEvent::create(type, pointerEventInit); |
-} |
- |
-PassRefPtrWillBeRawPtr<PointerEvent> PointerEventManager::create(const AtomicString& type, |
- const PlatformTouchPoint& touchPoint, PlatformEvent::Modifiers modifiers, |
- const double width, const double height, |
- const double clientX, const double clientY) |
-{ |
- const PlatformTouchPoint::State pointState = touchPoint.state(); |
- |
- bool pointerReleasedOrCancelled = pointState == PlatformTouchPoint::TouchReleased |
- || pointState == PlatformTouchPoint::TouchCancelled; |
- |
- bool isEnterOrLeave = false; |
- |
- PointerEventInit pointerEventInit; |
- |
- setIdAndType(pointerEventInit, touchPoint.pointerProperties()); |
- |
- pointerEventInit.setWidth(width); |
- pointerEventInit.setHeight(height); |
- pointerEventInit.setTiltX(touchPoint.pointerProperties().tiltX); |
- pointerEventInit.setTiltY(touchPoint.pointerProperties().tiltY); |
- pointerEventInit.setScreenX(touchPoint.screenPos().x()); |
- pointerEventInit.setScreenY(touchPoint.screenPos().y()); |
- pointerEventInit.setClientX(clientX); |
- pointerEventInit.setClientY(clientY); |
- pointerEventInit.setButton(0); |
- pointerEventInit.setButtons(pointerReleasedOrCancelled ? 0 : 1); |
- pointerEventInit.setPressure(getPointerEventPressure( |
- touchPoint.force(), pointerEventInit.buttons())); |
- |
- UIEventWithKeyState::setFromPlatformModifiers(pointerEventInit, modifiers); |
- |
- pointerEventInit.setBubbles(!isEnterOrLeave); |
- pointerEventInit.setCancelable(!isEnterOrLeave && pointState != PlatformTouchPoint::TouchCancelled); |
- |
- return PointerEvent::create(type, pointerEventInit); |
-} |
- |
- |
-PassRefPtrWillBeRawPtr<PointerEvent> PointerEventManager::createPointerCancel(const PlatformTouchPoint& touchPoint) |
-{ |
- PointerEventInit pointerEventInit; |
- |
- setIdAndType(pointerEventInit, touchPoint.pointerProperties()); |
- |
- pointerEventInit.setBubbles(true); |
- pointerEventInit.setCancelable(false); |
- |
- return PointerEvent::create(EventTypeNames::pointercancel, pointerEventInit); |
-} |
- |
-PointerEventManager::PointerEventManager() |
-{ |
- clear(); |
-} |
- |
-PointerEventManager::~PointerEventManager() |
-{ |
- clear(); |
-} |
- |
-void PointerEventManager::clear() |
-{ |
- for (int type = 0; type <= toInt(WebPointerProperties::PointerType::LastEntry); type++) { |
- m_primaryId[type] = PointerEventManager::s_invalidId; |
- m_idCount[type] = 0; |
- } |
- m_idMapping.clear(); |
- m_idReverseMapping.clear(); |
- |
- // Always add mouse pointer in initialization and never remove it. |
- // No need to add it to m_idMapping as it is not going to be used with the existing APIs |
- m_primaryId[toInt(WebPointerProperties::PointerType::Mouse)] = s_mouseId; |
- m_idReverseMapping.add(s_mouseId, IncomingId(toInt(WebPointerProperties::PointerType::Mouse), 0)); |
- |
- m_currentId = PointerEventManager::s_mouseId+1; |
-} |
- |
-PointerEventManager::MappedId PointerEventManager::add(const IncomingId p) |
-{ |
- // Do not add extra mouse pointer as it was added in initialization |
- if (p.first == toInt(WebPointerProperties::PointerType::Mouse)) |
- return s_mouseId; |
- |
- int type = p.first; |
- if (m_idMapping.contains(p)) |
- return m_idMapping.get(p); |
- // We do not handle the overflow of m_currentId as it should be very rare |
- MappedId mappedId = m_currentId++; |
- if (!m_idCount[type]) |
- m_primaryId[type] = mappedId; |
- m_idCount[type]++; |
- m_idMapping.add(p, mappedId); |
- m_idReverseMapping.add(mappedId, p); |
- return static_cast<PointerEventManager::MappedId>(mappedId); |
-} |
- |
-void PointerEventManager::remove(const PassRefPtrWillBeRawPtr<PointerEvent> pointerEvent) |
-{ |
- MappedId mappedId = pointerEvent->pointerId(); |
- // Do not remove mouse pointer id as it should always be there |
- if (mappedId == s_mouseId || !m_idReverseMapping.contains(mappedId)) |
- return; |
- |
- IncomingId p = m_idReverseMapping.get(mappedId); |
- int type = p.first; |
- m_idReverseMapping.remove(mappedId); |
- m_idMapping.remove(p); |
- if (m_primaryId[type] == mappedId) |
- m_primaryId[type] = PointerEventManager::s_invalidId; |
- m_idCount[type]--; |
-} |
- |
-bool PointerEventManager::isPrimary(PointerEventManager::MappedId mappedId) const |
-{ |
- if (!m_idReverseMapping.contains(mappedId)) |
- return false; |
- |
- IncomingId p = m_idReverseMapping.get(mappedId); |
- int type = p.first; |
- return m_primaryId[type] == mappedId; |
-} |
- |
- |
-} // namespace blink |