From 8be49e87460aa131e8f344a7e15f77efca754b83 Mon Sep 17 00:00:00 2001 From: Luna Wei Date: Tue, 5 Jul 2022 20:00:42 -0700 Subject: [PATCH] PointerEvents: Remove '2' suffix Summary: Changelog: [Internal] - We can now remove the '2' suffix as we had an internal implementation that was not truly aligned with W3C pointers but used the same name. We have aligned the internal types to match w3c so we can now remove the suffix that differentiates them. Reviewed By: vincentriemer Differential Revision: D37545813 fbshipit-source-id: 6f2336ae9e314066c340161113268c1f28621a71 --- Libraries/Components/View/ViewPropTypes.js | 11 +--- .../NativeComponent/BaseViewConfig.android.js | 27 +++------ .../NativeComponent/BaseViewConfig.ios.js | 24 ++++---- Libraries/Pressability/Pressability.js | 12 ++-- React/Fabric/RCTSurfaceTouchHandler.mm | 14 ++--- React/Views/RCTView.h | 6 +- React/Views/RCTViewManager.m | 6 +- .../react/fabric/jni/viewPropConversions.h | 27 ++++----- .../react/uimanager/BaseViewManager.java | 60 +++++++------------ .../uimanager/UIManagerModuleConstants.java | 3 - .../uimanager/events/PointerEventHelper.java | 18 +++--- .../views/view/ReactMapBufferPropSetter.kt | 30 +++------- .../main/res/views/uimanager/values/ids.xml | 10 +--- .../components/view/TouchEventEmitter.cpp | 12 ++-- .../components/view/TouchEventEmitter.h | 6 +- .../renderer/components/view/ViewProps.cpp | 13 ++-- .../renderer/components/view/primitives.h | 9 +-- .../components/view/propsConversions.h | 48 +++++++-------- .../Experimental/W3CPointerEventsExample.js | 12 ++-- 19 files changed, 145 insertions(+), 203 deletions(-) diff --git a/Libraries/Components/View/ViewPropTypes.js b/Libraries/Components/View/ViewPropTypes.js index 0d6753be9f7..4a97e85f669 100644 --- a/Libraries/Components/View/ViewPropTypes.js +++ b/Libraries/Components/View/ViewPropTypes.js @@ -92,22 +92,17 @@ type MouseEventProps = $ReadOnly<{| // Experimental/Work in Progress Pointer Event Callbacks (not yet ready for use) type PointerEventProps = $ReadOnly<{| onPointerEnter?: ?(event: PointerEvent) => void, + onPointerEnterCapture?: ?(event: PointerEvent) => void, onPointerLeave?: ?(event: PointerEvent) => void, + onPointerLeaveCapture?: ?(event: PointerEvent) => void, onPointerMove?: ?(event: PointerEvent) => void, + onPointerMoveCapture?: ?(event: PointerEvent) => void, onPointerCancel?: ?(e: PointerEvent) => void, onPointerCancelCapture?: ?(e: PointerEvent) => void, onPointerDown?: ?(e: PointerEvent) => void, onPointerDownCapture?: ?(e: PointerEvent) => void, onPointerUp?: ?(e: PointerEvent) => void, onPointerUpCapture?: ?(e: PointerEvent) => void, - - // FIXME: these events are temporary while we converge pointer event handling - onPointerEnter2?: ?(e: PointerEvent) => void, - onPointerEnter2Capture?: ?(e: PointerEvent) => void, - onPointerLeave2?: ?(e: PointerEvent) => void, - onPointerLeave2Capture?: ?(e: PointerEvent) => void, - onPointerMove2?: ?(e: PointerEvent) => void, - onPointerMove2Capture?: ?(e: PointerEvent) => void, |}>; type TouchEventProps = $ReadOnly<{| diff --git a/Libraries/NativeComponent/BaseViewConfig.android.js b/Libraries/NativeComponent/BaseViewConfig.android.js index 400ca064f79..41e9b3928cb 100644 --- a/Libraries/NativeComponent/BaseViewConfig.android.js +++ b/Libraries/NativeComponent/BaseViewConfig.android.js @@ -64,24 +64,24 @@ const bubblingEventTypes = { bubbled: 'onPointerDown', }, }, - topPointerEnter2: { + topPointerEnter: { phasedRegistrationNames: { - captured: 'onPointerEnter2Capture', - bubbled: 'onPointerEnter2', + captured: 'onPointerEnterCapture', + bubbled: 'onPointerEnter', skipBubbling: true, }, }, - topPointerLeave2: { + topPointerLeave: { phasedRegistrationNames: { - captured: 'onPointerLeave2Capture', - bubbled: 'onPointerLeave2', + captured: 'onPointerLeaveCapture', + bubbled: 'onPointerLeave', skipBubbling: true, }, }, - topPointerMove2: { + topPointerMove: { phasedRegistrationNames: { - captured: 'onPointerMove2Capture', - bubbled: 'onPointerMove2', + captured: 'onPointerMoveCapture', + bubbled: 'onPointerMove', }, }, topPointerUp: { @@ -96,15 +96,6 @@ const directEventTypes = { topAccessibilityAction: { registrationName: 'onAccessibilityAction', }, - topPointerEnter: { - registrationName: 'onPointerEnter', - }, - topPointerLeave: { - registrationName: 'onPointerLeave', - }, - topPointerMove: { - registrationName: 'onPointerMove', - }, onGestureHandlerEvent: DynamicallyInjectedByGestureHandler({ registrationName: 'onGestureHandlerEvent', }), diff --git a/Libraries/NativeComponent/BaseViewConfig.ios.js b/Libraries/NativeComponent/BaseViewConfig.ios.js index 7940fcb9304..d19693deb92 100644 --- a/Libraries/NativeComponent/BaseViewConfig.ios.js +++ b/Libraries/NativeComponent/BaseViewConfig.ios.js @@ -99,10 +99,10 @@ const bubblingEventTypes = { bubbled: 'onPointerDown', }, }, - topPointerMove2: { + topPointerMove: { phasedRegistrationNames: { - captured: 'onPointerMove2Capture', - bubbled: 'onPointerMove2', + captured: 'onPointerMoveCapture', + bubbled: 'onPointerMove', }, }, topPointerUp: { @@ -111,17 +111,17 @@ const bubblingEventTypes = { bubbled: 'onPointerUp', }, }, - topPointerEnter2: { + topPointerEnter: { phasedRegistrationNames: { - captured: 'onPointerEnter2Capture', - bubbled: 'onPointerEnter2', + captured: 'onPointerEnterCapture', + bubbled: 'onPointerEnter', skipBubbling: true, }, }, - topPointerLeave2: { + topPointerLeave: { phasedRegistrationNames: { - captured: 'onPointerLeave2Capture', - bubbled: 'onPointerLeave2', + captured: 'onPointerLeaveCapture', + bubbled: 'onPointerLeave', skipBubbling: true, }, }, @@ -324,9 +324,9 @@ const validAttributesForEventProps = ConditionallyIgnoredEventHandlers({ onPointerUp: true, onPointerDown: true, onPointerCancel: true, - onPointerEnter2: true, - onPointerMove2: true, - onPointerLeave2: true, + onPointerEnter: true, + onPointerMove: true, + onPointerLeave: true, onPointerOver: true, onPointerOut: true, }); diff --git a/Libraries/Pressability/Pressability.js b/Libraries/Pressability/Pressability.js index 54b80e5b0c7..5c8f2b8af5c 100644 --- a/Libraries/Pressability/Pressability.js +++ b/Libraries/Pressability/Pressability.js @@ -160,8 +160,8 @@ export type EventHandlers = $ReadOnly<{| onFocus: (event: FocusEvent) => void, onMouseEnter?: (event: MouseEvent) => void, onMouseLeave?: (event: MouseEvent) => void, - onPointerEnter2?: (event: PointerEvent) => void, - onPointerLeave2?: (event: PointerEvent) => void, + onPointerEnter?: (event: PointerEvent) => void, + onPointerLeave?: (event: PointerEvent) => void, onResponderGrant: (event: PressEvent) => void, onResponderMove: (event: PressEvent) => void, onResponderRelease: (event: PressEvent) => void, @@ -557,12 +557,12 @@ export default class Pressability { ReactNativeFeatureFlags.shouldPressibilityUseW3CPointerEventsForHover() ) { const hoverPointerEvents = { - onPointerEnter2: undefined, - onPointerLeave2: undefined, + onPointerEnter: undefined, + onPointerLeave: undefined, }; const {onHoverIn, onHoverOut} = this._config; if (onHoverIn != null) { - hoverPointerEvents.onPointerEnter2 = (event: PointerEvent) => { + hoverPointerEvents.onPointerEnter = (event: PointerEvent) => { this._isHovered = true; this._cancelHoverOutDelayTimeout(); if (onHoverIn != null) { @@ -579,7 +579,7 @@ export default class Pressability { }; } if (onHoverOut != null) { - hoverPointerEvents.onPointerLeave2 = (event: PointerEvent) => { + hoverPointerEvents.onPointerLeave = (event: PointerEvent) => { if (this._isHovered) { this._isHovered = false; this._cancelHoverInDelayTimeout(); diff --git a/React/Fabric/RCTSurfaceTouchHandler.mm b/React/Fabric/RCTSurfaceTouchHandler.mm index 205f7fae67b..66798385fe3 100644 --- a/React/Fabric/RCTSurfaceTouchHandler.mm +++ b/React/Fabric/RCTSurfaceTouchHandler.mm @@ -473,7 +473,7 @@ RCT_NOT_IMPLEMENTED(-(instancetype)initWithTarget : (id)target action : (SEL)act activeTouch.eventEmitter->onPointerDown(pointerEvent); break; case RCTTouchEventTypeTouchMove: - activeTouch.eventEmitter->onPointerMove2(pointerEvent); + activeTouch.eventEmitter->onPointerMove(pointerEvent); break; case RCTTouchEventTypeTouchEnd: activeTouch.eventEmitter->onPointerUp(pointerEvent); @@ -674,14 +674,14 @@ RCT_NOT_IMPLEMENTED(-(instancetype)initWithTarget : (id)target action : (SEL)act for (UIView *componentView in [eventPathViews reverseObjectEnumerator]) { BOOL shouldEmitEvent = - hasParentEnterListener || IsViewListeningToEvent(componentView, ViewEvents::Offset::PointerEnter2); + hasParentEnterListener || IsViewListeningToEvent(componentView, ViewEvents::Offset::PointerEnter); if (shouldEmitEvent && ![_currentlyHoveredViews containsObject:componentView]) { SharedTouchEventEmitter eventEmitter = GetTouchEmitterFromView(componentView, [recognizer locationInView:componentView]); if (eventEmitter != nil) { PointerEvent event = CreatePointerEventFromIncompleteHoverData(componentView, clientLocation, timestamp); - eventEmitter->onPointerEnter2(event); + eventEmitter->onPointerEnter(event); } } @@ -689,7 +689,7 @@ RCT_NOT_IMPLEMENTED(-(instancetype)initWithTarget : (id)target action : (SEL)act hasParentEnterListener = YES; } - if (!hasMoveListenerInEventPath && IsViewListeningToEvent(componentView, ViewEvents::Offset::PointerMove2)) { + if (!hasMoveListenerInEventPath && IsViewListeningToEvent(componentView, ViewEvents::Offset::PointerMove)) { hasMoveListenerInEventPath = YES; } } @@ -699,7 +699,7 @@ RCT_NOT_IMPLEMENTED(-(instancetype)initWithTarget : (id)target action : (SEL)act SharedTouchEventEmitter eventEmitter = GetTouchEmitterFromView(targetView, [recognizer locationInView:targetView]); if (eventEmitter != nil) { PointerEvent event = CreatePointerEventFromIncompleteHoverData(targetView, clientLocation, timestamp); - eventEmitter->onPointerMove2(event); + eventEmitter->onPointerMove(event); } } @@ -725,7 +725,7 @@ RCT_NOT_IMPLEMENTED(-(instancetype)initWithTarget : (id)target action : (SEL)act BOOL hasParentLeaveListener = NO; for (UIView *componentView in [_currentlyHoveredViews reverseObjectEnumerator]) { BOOL shouldEmitEvent = - hasParentLeaveListener || IsViewListeningToEvent(componentView, ViewEvents::Offset::PointerLeave2); + hasParentLeaveListener || IsViewListeningToEvent(componentView, ViewEvents::Offset::PointerLeave); if (shouldEmitEvent && ![eventPathViews containsObject:componentView]) { [viewsToEmitLeaveEventsTo addObject:componentView]; @@ -741,7 +741,7 @@ RCT_NOT_IMPLEMENTED(-(instancetype)initWithTarget : (id)target action : (SEL)act GetTouchEmitterFromView(componentView, [recognizer locationInView:componentView]); if (eventEmitter != nil) { PointerEvent event = CreatePointerEventFromIncompleteHoverData(componentView, clientLocation, timestamp); - eventEmitter->onPointerLeave2(event); + eventEmitter->onPointerLeave(event); } } diff --git a/React/Views/RCTView.h b/React/Views/RCTView.h index 2d91f31e6d6..fe27daae1fb 100644 --- a/React/Views/RCTView.h +++ b/React/Views/RCTView.h @@ -108,10 +108,10 @@ extern const UIAccessibilityTraits SwitchAccessibilityTrait; */ @property (nonatomic, assign) RCTBubblingEventBlock onPointerCancel; @property (nonatomic, assign) RCTBubblingEventBlock onPointerDown; -@property (nonatomic, assign) RCTBubblingEventBlock onPointerMove2; +@property (nonatomic, assign) RCTBubblingEventBlock onPointerMove; @property (nonatomic, assign) RCTBubblingEventBlock onPointerUp; -@property (nonatomic, assign) RCTCapturingEventBlock onPointerEnter2; -@property (nonatomic, assign) RCTCapturingEventBlock onPointerLeave2; +@property (nonatomic, assign) RCTCapturingEventBlock onPointerEnter; +@property (nonatomic, assign) RCTCapturingEventBlock onPointerLeave; @property (nonatomic, assign) RCTBubblingEventBlock onPointerOver; @property (nonatomic, assign) RCTBubblingEventBlock onPointerOut; diff --git a/React/Views/RCTViewManager.m b/React/Views/RCTViewManager.m index ace021a187a..f10eea73bff 100644 --- a/React/Views/RCTViewManager.m +++ b/React/Views/RCTViewManager.m @@ -448,10 +448,10 @@ RCT_CUSTOM_VIEW_PROPERTY(onTouchCancel, BOOL, RCTView) {} // Experimental/WIP Pointer Events (not yet ready for use) RCT_EXPORT_VIEW_PROPERTY(onPointerCancel, RCTBubblingEventBlock) RCT_EXPORT_VIEW_PROPERTY(onPointerDown, RCTBubblingEventBlock) -RCT_EXPORT_VIEW_PROPERTY(onPointerMove2, RCTBubblingEventBlock) +RCT_EXPORT_VIEW_PROPERTY(onPointerMove, RCTBubblingEventBlock) RCT_EXPORT_VIEW_PROPERTY(onPointerUp, RCTBubblingEventBlock) -RCT_EXPORT_VIEW_PROPERTY(onPointerEnter2, RCTCapturingEventBlock) -RCT_EXPORT_VIEW_PROPERTY(onPointerLeave2, RCTCapturingEventBlock) +RCT_EXPORT_VIEW_PROPERTY(onPointerEnter, RCTCapturingEventBlock) +RCT_EXPORT_VIEW_PROPERTY(onPointerLeave, RCTCapturingEventBlock) RCT_EXPORT_VIEW_PROPERTY(onPointerOver, RCTBubblingEventBlock) RCT_EXPORT_VIEW_PROPERTY(onPointerOut, RCTBubblingEventBlock) diff --git a/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/viewPropConversions.h b/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/viewPropConversions.h index a65c586fbff..5d48ae22244 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/viewPropConversions.h +++ b/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/viewPropConversions.h @@ -55,12 +55,9 @@ constexpr MapBuffer::Key VP_SHADOW_COLOR = 31; constexpr MapBuffer::Key VP_TEST_ID = 32; constexpr MapBuffer::Key VP_TRANSFORM = 33; constexpr MapBuffer::Key VP_ZINDEX = 34; -constexpr MapBuffer::Key VP_POINTER_ENTER2 = 35; -constexpr MapBuffer::Key VP_POINTER_LEAVE2 = 36; -constexpr MapBuffer::Key VP_POINTER_MOVE2 = 37; -constexpr MapBuffer::Key VP_POINTER_ENTER2_CAPTURE = 38; -constexpr MapBuffer::Key VP_POINTER_LEAVE2_CAPTURE = 39; -constexpr MapBuffer::Key VP_POINTER_MOVE2_CAPTURE = 40; +constexpr MapBuffer::Key VP_POINTER_ENTER_CAPTURE = 38; +constexpr MapBuffer::Key VP_POINTER_LEAVE_CAPTURE = 39; +constexpr MapBuffer::Key VP_POINTER_MOVE_CAPTURE = 40; // Yoga values constexpr MapBuffer::Key YG_BORDER_WIDTH = 100; @@ -470,20 +467,20 @@ static inline MapBuffer viewPropsDiff( VP_POINTER_MOVE, newProps.events[ViewEvents::Offset::PointerMove]); builder.putBool( - VP_POINTER_ENTER2, newProps.events[ViewEvents::Offset::PointerEnter2]); + VP_POINTER_ENTER, newProps.events[ViewEvents::Offset::PointerEnter]); builder.putBool( - VP_POINTER_ENTER2_CAPTURE, - newProps.events[ViewEvents::Offset::PointerEnter2Capture]); + VP_POINTER_ENTER_CAPTURE, + newProps.events[ViewEvents::Offset::PointerEnterCapture]); builder.putBool( - VP_POINTER_LEAVE2, newProps.events[ViewEvents::Offset::PointerLeave2]); + VP_POINTER_LEAVE, newProps.events[ViewEvents::Offset::PointerLeave]); builder.putBool( - VP_POINTER_LEAVE2_CAPTURE, - newProps.events[ViewEvents::Offset::PointerLeave2Capture]); + VP_POINTER_LEAVE_CAPTURE, + newProps.events[ViewEvents::Offset::PointerLeaveCapture]); builder.putBool( - VP_POINTER_MOVE2, newProps.events[ViewEvents::Offset::PointerMove2]); + VP_POINTER_MOVE, newProps.events[ViewEvents::Offset::PointerMove]); builder.putBool( - VP_POINTER_MOVE2_CAPTURE, - newProps.events[ViewEvents::Offset::PointerMove2Capture]); + VP_POINTER_MOVE_CAPTURE, + newProps.events[ViewEvents::Offset::PointerMoveCapture]); } if (oldProps.removeClippedSubviews != newProps.removeClippedSubviews) { diff --git a/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java b/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java index cb7940b6b91..16b6b3abb26 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java @@ -552,33 +552,32 @@ public abstract class BaseViewManager { viewManager.setPointerMove(view, entry.booleanValue) } - VP_POINTER_ENTER2 -> { - viewManager.setPointerEnter2(view, entry.booleanValue) + VP_POINTER_ENTER_CAPTURE -> { + viewManager.setPointerEnterCapture(view, entry.booleanValue) } - VP_POINTER_LEAVE2 -> { - viewManager.setPointerLeave2(view, entry.booleanValue) + VP_POINTER_LEAVE_CAPTURE -> { + viewManager.setPointerLeaveCapture(view, entry.booleanValue) } - VP_POINTER_MOVE2 -> { - viewManager.setPointerMove2(view, entry.booleanValue) - } - VP_POINTER_ENTER2_CAPTURE -> { - viewManager.setPointerEnter2Capture(view, entry.booleanValue) - } - VP_POINTER_LEAVE2_CAPTURE -> { - viewManager.setPointerLeave2Capture(view, entry.booleanValue) - } - VP_POINTER_MOVE2_CAPTURE -> { - viewManager.setPointerMove2Capture(view, entry.booleanValue) + VP_POINTER_MOVE_CAPTURE -> { + viewManager.setPointerMoveCapture(view, entry.booleanValue) } VP_REMOVE_CLIPPED_SUBVIEW -> { viewManager.setRemoveClippedSubviews(view, entry.booleanValue) diff --git a/ReactAndroid/src/main/res/views/uimanager/values/ids.xml b/ReactAndroid/src/main/res/views/uimanager/values/ids.xml index 486f7a8f72d..405ca4d7af9 100644 --- a/ReactAndroid/src/main/res/views/uimanager/values/ids.xml +++ b/ReactAndroid/src/main/res/views/uimanager/values/ids.xml @@ -40,18 +40,14 @@ + + + - - - - - - - diff --git a/ReactCommon/react/renderer/components/view/TouchEventEmitter.cpp b/ReactCommon/react/renderer/components/view/TouchEventEmitter.cpp index 328b708f9ee..a059cd0b13a 100644 --- a/ReactCommon/react/renderer/components/view/TouchEventEmitter.cpp +++ b/ReactCommon/react/renderer/components/view/TouchEventEmitter.cpp @@ -150,8 +150,8 @@ void TouchEventEmitter::onPointerDown(const PointerEvent &event) const { RawEvent::Category::ContinuousStart); } -void TouchEventEmitter::onPointerMove2(const PointerEvent &event) const { - dispatchUniqueEvent("pointerMove2", [event](jsi::Runtime &runtime) { +void TouchEventEmitter::onPointerMove(const PointerEvent &event) const { + dispatchUniqueEvent("pointerMove", [event](jsi::Runtime &runtime) { return pointerEventPayload(runtime, event); }); } @@ -164,17 +164,17 @@ void TouchEventEmitter::onPointerUp(const PointerEvent &event) const { RawEvent::Category::ContinuousEnd); } -void TouchEventEmitter::onPointerEnter2(const PointerEvent &event) const { +void TouchEventEmitter::onPointerEnter(const PointerEvent &event) const { dispatchPointerEvent( - "pointerEnter2", + "pointerEnter", event, EventPriority::AsynchronousBatched, RawEvent::Category::ContinuousStart); } -void TouchEventEmitter::onPointerLeave2(const PointerEvent &event) const { +void TouchEventEmitter::onPointerLeave(const PointerEvent &event) const { dispatchPointerEvent( - "pointerLeave2", + "pointerLeave", event, EventPriority::AsynchronousBatched, RawEvent::Category::ContinuousEnd); diff --git a/ReactCommon/react/renderer/components/view/TouchEventEmitter.h b/ReactCommon/react/renderer/components/view/TouchEventEmitter.h index 1543c306b49..18b86efb7d7 100644 --- a/ReactCommon/react/renderer/components/view/TouchEventEmitter.h +++ b/ReactCommon/react/renderer/components/view/TouchEventEmitter.h @@ -32,10 +32,10 @@ class TouchEventEmitter : public EventEmitter { void onPointerCancel(PointerEvent const &event) const; void onPointerDown(PointerEvent const &event) const; - void onPointerMove2(PointerEvent const &event) const; + void onPointerMove(PointerEvent const &event) const; void onPointerUp(PointerEvent const &event) const; - void onPointerEnter2(PointerEvent const &event) const; - void onPointerLeave2(PointerEvent const &event) const; + void onPointerEnter(PointerEvent const &event) const; + void onPointerLeave(PointerEvent const &event) const; void onPointerOver(PointerEvent const &event) const; void onPointerOut(PointerEvent const &event) const; diff --git a/ReactCommon/react/renderer/components/view/ViewProps.cpp b/ReactCommon/react/renderer/components/view/ViewProps.cpp index f95fa3f0003..5be4a80699e 100644 --- a/ReactCommon/react/renderer/components/view/ViewProps.cpp +++ b/ReactCommon/react/renderer/components/view/ViewProps.cpp @@ -292,17 +292,14 @@ void ViewProps::setProp( RAW_SET_PROP_SWITCH_CASE_BASIC(removeClippedSubviews, false); // events field VIEW_EVENT_CASE(ViewEvents::Offset::PointerEnter, "onPointerEnter"); + VIEW_EVENT_CASE( + ViewEvents::Offset::PointerEnterCapture, "onPointerEnterCapture"); VIEW_EVENT_CASE(ViewEvents::Offset::PointerMove, "onPointerMove"); + VIEW_EVENT_CASE( + ViewEvents::Offset::PointerMoveCapture, "onPointerMoveCapture"); VIEW_EVENT_CASE(ViewEvents::Offset::PointerLeave, "onPointerLeave"); - VIEW_EVENT_CASE(ViewEvents::Offset::PointerEnter2, "onPointerEnter2"); VIEW_EVENT_CASE( - ViewEvents::Offset::PointerEnter2Capture, "onPointerEnter2Capture"); - VIEW_EVENT_CASE(ViewEvents::Offset::PointerMove2, "onPointerMove2"); - VIEW_EVENT_CASE( - ViewEvents::Offset::PointerMove2Capture, "onPointerMove2Capture"); - VIEW_EVENT_CASE(ViewEvents::Offset::PointerLeave2, "onPointerLeave2"); - VIEW_EVENT_CASE( - ViewEvents::Offset::PointerLeave2Capture, "onPointerLeave2Capture"); + ViewEvents::Offset::PointerLeaveCapture, "onPointerLeaveCapture"); VIEW_EVENT_CASE(ViewEvents::Offset::PointerOver, "onPointerOver"); VIEW_EVENT_CASE(ViewEvents::Offset::PointerOut, "onPointerOut"); VIEW_EVENT_CASE( diff --git a/ReactCommon/react/renderer/components/view/primitives.h b/ReactCommon/react/renderer/components/view/primitives.h index 1c98649d577..16b02c2dd8c 100644 --- a/ReactCommon/react/renderer/components/view/primitives.h +++ b/ReactCommon/react/renderer/components/view/primitives.h @@ -51,12 +51,9 @@ struct ViewEvents { TouchCancel = 19, // W3C Pointer Events - PointerEnter2 = 20, - PointerLeave2 = 21, - PointerMove2 = 22, - PointerEnter2Capture = 23, - PointerLeave2Capture = 24, - PointerMove2Capture = 25, + PointerEnterCapture = 23, + PointerLeaveCapture = 24, + PointerMoveCapture = 25, PointerOver = 26, PointerOut = 27, }; diff --git a/ReactCommon/react/renderer/components/view/propsConversions.h b/ReactCommon/react/renderer/components/view/propsConversions.h index 565eafe0853..83e606c5471 100644 --- a/ReactCommon/react/renderer/components/view/propsConversions.h +++ b/ReactCommon/react/renderer/components/view/propsConversions.h @@ -497,42 +497,42 @@ static inline ViewEvents convertRawProp( defaultValue[Offset::PointerLeave]); // Experimental W3C Pointer callbacks - result[Offset::PointerEnter2] = convertRawProp( + result[Offset::PointerEnter] = convertRawProp( context, rawProps, - "onPointerEnter2", - sourceValue[Offset::PointerEnter2], - defaultValue[Offset::PointerEnter2]); - result[Offset::PointerEnter2Capture] = convertRawProp( + "onPointerEnter", + sourceValue[Offset::PointerEnter], + defaultValue[Offset::PointerEnter]); + result[Offset::PointerEnterCapture] = convertRawProp( context, rawProps, - "onPointerEnter2Capture", - sourceValue[Offset::PointerEnter2Capture], - defaultValue[Offset::PointerEnter2Capture]); - result[Offset::PointerMove2] = convertRawProp( + "onPointerEnterCapture", + sourceValue[Offset::PointerEnterCapture], + defaultValue[Offset::PointerEnterCapture]); + result[Offset::PointerMove] = convertRawProp( context, rawProps, - "onPointerMove2", - sourceValue[Offset::PointerMove2], - defaultValue[Offset::PointerMove2]); - result[Offset::PointerMove2Capture] = convertRawProp( + "onPointerMove", + sourceValue[Offset::PointerMove], + defaultValue[Offset::PointerMove]); + result[Offset::PointerMoveCapture] = convertRawProp( context, rawProps, - "onPointerMove2Capture", - sourceValue[Offset::PointerMove2Capture], - defaultValue[Offset::PointerMove2Capture]); - result[Offset::PointerLeave2] = convertRawProp( + "onPointerMoveCapture", + sourceValue[Offset::PointerMoveCapture], + defaultValue[Offset::PointerMoveCapture]); + result[Offset::PointerLeave] = convertRawProp( context, rawProps, - "onPointerLeave2", - sourceValue[Offset::PointerLeave2], - defaultValue[Offset::PointerLeave2]); - result[Offset::PointerLeave2Capture] = convertRawProp( + "onPointerLeave", + sourceValue[Offset::PointerLeave], + defaultValue[Offset::PointerLeave]); + result[Offset::PointerLeaveCapture] = convertRawProp( context, rawProps, - "onPointerLeave2Capture", - sourceValue[Offset::PointerLeave2Capture], - defaultValue[Offset::PointerLeave2Capture]); + "onPointerLeaveCapture", + sourceValue[Offset::PointerLeaveCapture], + defaultValue[Offset::PointerLeaveCapture]); result[Offset::PointerOver] = convertRawProp( context, rawProps, diff --git a/packages/rn-tester/js/examples/Experimental/W3CPointerEventsExample.js b/packages/rn-tester/js/examples/Experimental/W3CPointerEventsExample.js index 07e1b2263f2..e37886c1e17 100644 --- a/packages/rn-tester/js/examples/Experimental/W3CPointerEventsExample.js +++ b/packages/rn-tester/js/examples/Experimental/W3CPointerEventsExample.js @@ -67,12 +67,12 @@ function EventfulView(props: {| onPointerUpCapture: onUpCapture ? eventLog('up capture') : null, onPointerDown: onDown ? eventLog('down') : null, onPointerDownCapture: onDownCapture ? eventLog('down capture') : null, - onPointerLeave2: onLeave ? eventLog('leave') : null, - onPointerLeave2Capture: onLeaveCapture ? eventLog('leave capture') : null, - onPointerEnter2: onEnter ? eventLog('enter') : null, - onPointerEnter2Capture: onEnterCapture ? eventLog('enter capture') : null, - onPointerMove2: onMove ? eventLog('move') : null, - onPointerMove2Capture: onMoveCapture ? eventLog('move capture') : null, + onPointerLeave: onLeave ? eventLog('leave') : null, + onPointerLeaveCapture: onLeaveCapture ? eventLog('leave capture') : null, + onPointerEnter: onEnter ? eventLog('enter') : null, + onPointerEnterCapture: onEnterCapture ? eventLog('enter capture') : null, + onPointerMove: onMove ? eventLog('move') : null, + onPointerMoveCapture: onMoveCapture ? eventLog('move capture') : null, }; let listeningTo = Object.keys(listeners)