Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(504)

Unified Diff: third_party/WebKit/Source/core/input/EventHandler.cpp

Issue 1670073004: Send node transition events for touch events (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/core/input/EventHandler.cpp
diff --git a/third_party/WebKit/Source/core/input/EventHandler.cpp b/third_party/WebKit/Source/core/input/EventHandler.cpp
index 5ec337e655cfa8a1cfe03b4df1cb535a050dfb01..c8f59fe2bde3f591f2da35f9b46490451f22933a 100644
--- a/third_party/WebKit/Source/core/input/EventHandler.cpp
+++ b/third_party/WebKit/Source/core/input/EventHandler.cpp
@@ -158,25 +158,6 @@ const AtomicString& touchEventNameForTouchPointState(PlatformTouchPoint::State s
}
}
-const AtomicString& pointerEventNameForTouchPointState(PlatformTouchPoint::State state)
-{
- switch (state) {
- case PlatformTouchPoint::TouchReleased:
- return EventTypeNames::pointerup;
- case PlatformTouchPoint::TouchCancelled:
- return EventTypeNames::pointercancel;
- case PlatformTouchPoint::TouchPressed:
- return EventTypeNames::pointerdown;
- case PlatformTouchPoint::TouchMoved:
- return EventTypeNames::pointermove;
- case PlatformTouchPoint::TouchStationary:
- // Fall through to default
- default:
- ASSERT_NOT_REACHED();
- return emptyAtom;
- }
-}
-
const AtomicString& pointerEventNameForMouseEventName(const AtomicString& mouseEventName)
{
#define RETURN_CORRESPONDING_PE_NAME(eventSuffix) \
@@ -364,6 +345,7 @@ DEFINE_TRACE(EventHandler)
visitor->trace(m_previousGestureScrolledNode);
visitor->trace(m_lastDeferredTapElement);
visitor->trace(m_selectionController);
+ visitor->trace(m_pointerEventManager);
#endif
}
@@ -3737,29 +3719,17 @@ void EventHandler::dispatchPointerEvents(const PlatformTouchEvent& event,
for (unsigned i = 0; i < touchInfos.size(); ++i) {
TouchInfo& touchInfo = touchInfos[i];
const PlatformTouchPoint& touchPoint = touchInfo.point;
- const PlatformTouchPoint::State pointState = touchPoint.state();
- if (pointState == PlatformTouchPoint::TouchStationary || !touchInfo.knownTarget)
+ if (touchPoint.state() == PlatformTouchPoint::TouchStationary
+ || !touchInfo.knownTarget)
continue;
- bool pointerReleasedOrCancelled = pointState == PlatformTouchPoint::TouchReleased
- || pointState == PlatformTouchPoint::TouchCancelled;
-
- RefPtrWillBeRawPtr<PointerEvent> pointerEvent = m_pointerEventManager.create(
- pointerEventNameForTouchPointState(pointState),
+ touchInfo.consumed = m_pointerEventManager.sendTouchPointerEvent(
+ touchInfo.touchTarget,
touchPoint, event.modifiers(),
touchInfo.adjustedRadius.width(), touchInfo.adjustedRadius.height(),
touchInfo.adjustedPagePoint.x(), touchInfo.adjustedPagePoint.y());
-
- // TODO(nzolghadr): crbug.com/579553 dealing with implicit touch capturing vs pointer event capturing
- touchInfo.touchTarget->dispatchEvent(pointerEvent.get());
-
- touchInfo.consumed = pointerEvent->defaultPrevented() || pointerEvent->defaultHandled();
-
- // Remove the released/cancelled id at the end to correctly determine primary id above.
- if (pointerReleasedOrCancelled)
- m_pointerEventManager.remove(pointerEvent);
}
}
@@ -3777,12 +3747,9 @@ void EventHandler::sendPointerCancels(WillBeHeapVector<TouchInfo>& touchInfos)
|| pointState == PlatformTouchPoint::TouchCancelled)
continue;
- RefPtrWillBeRawPtr<PointerEvent> pointerEvent = m_pointerEventManager.createPointerCancel(point);
-
- // TODO(nzolghadr): crbug.com/579553 dealing with implicit touch capturing vs pointer event capturing
- touchInfo.touchTarget->dispatchEvent(pointerEvent.get());
-
- m_pointerEventManager.remove(pointerEvent);
+ m_pointerEventManager.sendTouchCancelPointerEvent(
+ touchInfo.touchTarget,
+ point);
}
}

Powered by Google App Engine
This is Rietveld 408576698