Commit Graph
62 Commits
Author SHA1 Message Date
Sam ZhouandFacebook GitHub Bot 723a37cb26 Replace most of the remaining React.AbstractComponent in react-native (#47143)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/47143

In order to adopt react 19's ref-as-prop model, we need to eliminate all the places where they are treated differently. `React.AbstractComponent` is the worst example of this, and we need to eliminate it.

This diff replaces most of the remaining `React.AbstractComponent` in react-native.

Changelog: [Internal]

Reviewed By: alexmckenley

Differential Revision: D64701145

fbshipit-source-id: c765674fdf59812895c4fae43df97cf8b9d24f05
2024-10-21 15:48:25 -07:00
Tim YungandFacebook GitHub Bot 177697f539 RN: Migrate to HostInstance Type (#46742)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46742

Migrates type definitions in React Native to use the newly created `HostInstance` type instead of `NativeMethods` and `React.ElementRef<HostComponent<T>>`.

Changelog:
[General][Changed] - Simplified Flow types to use `HostInstance` (which changing nominal types).

Reviewed By: NickGerleman

Differential Revision: D63646763

fbshipit-source-id: 904894dc40da4d2e70bcb6df47018fc6248ea972
2024-10-01 22:51:48 -07:00
Eric RozellandFacebook GitHub Bot 1dcaf823f5 Fix conflicting assertions for click events (#46633)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46633

There is an assertion in the "basic click test" that [checks](https://github.com/facebook/react-native/blob/d6e0bc7/packages/rn-tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventClickTouch.js#L36-L40) that `isPrimary` is set to false. The same assertion suite also does a mouse event [validation](https://github.com/facebook/react-native/blob/d6e0bc7/packages/rn-tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventSupport.js#L201-L204) that `isPrimary` is set to true.

This fixes the conflicting assertions, favoring the behavior observed on Firefox, which appears to be more closely aligned with the W3C spec.

## Changelog

[General][Fixed] Fixed issues with W3C PointerEvents testsx

Reviewed By: vincentriemer

Differential Revision: D63336622

fbshipit-source-id: adbfe5e1bc2a5fd7db18ae067f39e719c19c8cda
2024-09-26 14:45:44 -07:00
Eric RozellandFacebook GitHub Bot 68a6b69b27 Fix PointerOverOut test (#46634)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46634

The PointerEventPointerOverOut.js test case is broken due to a changed assumption about the name of the native tag property (`_nativeTag` vs. `__nativeTag`). This fixes the broken assumption.

## Changelog

[General][Fixed] Fixed issue with W3C PointerEvents tests

Reviewed By: NickGerleman

Differential Revision: D63336621

fbshipit-source-id: b54270f1c1232de6845ef73cac52f06b9a85539c
2024-09-24 19:49:34 -07:00
Sam ZhouandFacebook GitHub Bot 4f47b385fa Cleanup all uses of internal flow type React$ElementRef in react-native (#45904)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45904

Flow will error on these dollar types soon. For all the ones changed here, they can all be further simplified.

Changelog: [Internal]

Reviewed By: gkz

Differential Revision: D60786768

fbshipit-source-id: e26bf0be1c4a933fc0bd8b59827e10cbd7242a83
2024-08-05 14:51:30 -07:00
Alex Taylor (alta)andFacebook GitHub Bot 739a8dfcf4 Deploy 0.234.0 to xplat
Summary: Changelog: [Internal]

Reviewed By: SamChou19815

Differential Revision: D56280192

fbshipit-source-id: 68e0288bb214644d24f3d9f132c3ffff2a3d512a
2024-04-18 16:40:54 -07:00
Alex Taylor (alta)andFacebook GitHub Bot 1b4a0cd9f2 Use hook syntax for builtin React hooks in xplat (1/2) (#43714)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/43714

Migrate React builtin hooks to use the new React "hook" type. This diff converts all builtin hooks except for `useContext` which will be updated after the next flow release.

Details:
- Announcement: https://fb.workplace.com/groups/react.fyi/posts/7642294409114198
- Docs: https://www.internalfb.com/intern/wiki/Component_Syntax_Documentation/Hook_syntax_0/
- Support group: https://fb.workplace.com/groups/749069370011855

Changelog: [internal]

Reviewed By: SamChou19815

Differential Revision: D55500989

fbshipit-source-id: 8a13898b1d2e851dfc2afed3b41e0f1a6332b6bd
2024-03-29 14:24:01 -07:00
Alex Taylor (alta)andFacebook GitHub Bot 1fed7ab8ea Deploy 0.224.0 to xplat (#41949)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/41949

Changelog: [internal]

Reviewed By: gkz

Differential Revision: D52177280

fbshipit-source-id: 37fe478645ad30b40f4fb4e81d7fc467ac971928
2023-12-14 14:58:43 -08:00
Moti ZilbermanandFacebook GitHub Bot d6e0bc714a Enable lint/sort-imports everywhere (#41334)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/41334

TSIA.

Changelog: [Internal]

Reviewed By: robhogan

Differential Revision: D51025812

fbshipit-source-id: e10d437be775a6b80946483aa96460f34927f870
2023-11-06 12:59:38 -08:00
Gijs WeteringsandFacebook GitHub Bot 67c1a806e6 Flow strictify xplat/js/react-native-github where possible (#41051)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/41051

Strictifies flow to flow strict-local in files where doing that doesn't cause new flow errors.

Changelog: Internal

Reviewed By: yungsters

Differential Revision: D50369011

fbshipit-source-id: b4a5a26b839b7327a3178e6f5b35246dea365a38
2023-10-18 05:36:33 -07:00
Alex DanoffandFacebook GitHub Bot 9ebeb9d4fb W3CPointerEvents: update tester to show screen coords and modifiers (#38200)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/38200

Changelog: [Android] [Internal] - W3CPointerEvents: update tester to show screen coords and modifiers

Update RNTester "Display properties of multiple pointers" to show the screen coordinates and modifier keys for each pointer.

Reviewed By: javache

Differential Revision: D47162961

fbshipit-source-id: dffc305201661f628b955829158b763efd606e3e
2023-07-06 10:26:42 -07:00
Vincent RiemerandFacebook GitHub Bot 3aa42a2d3d Add plumbing/boilerplate for an iOS implementation of the gotpointercapture and lostpointercapture events (second try) (#37889)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/37889

Changelog: [Internal] - Add plumbing/boilerplate for an iOS implementation of the gotpointercapture and lostpointercapture events

Lets try this again: The key difference between this and D44977499 (which I previously reverted) is that in propsConversions & primitives I've ommited the "capture" versions of those methods as it was causing issues. Since we're not doing any runtime checks of those raw props it isn't particularlly necessary (at least not yet) and if we ever want to we can address that when it comes up.

The original diff description follows:

This diff simply adds the boilerplate necessary to hook up the gotpointercapture and lostpointercapture events to the fabric iOS touch handler. This diff does not contain any actual implementation of their behavior as that will occur in future diffs.

Reviewed By: adanoff

Differential Revision: D46709127

fbshipit-source-id: 339dc99e14f2e72d9116bbe84edc67cb5bfaa73b
2023-06-16 15:09:13 -07:00
Pieter VanderwerffandFacebook GitHub Bot dc2037c0f1 Switch xplat prettier config to hermes plugin (#37915)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/37915

Enable the `prettier-plugin-hermes-parser` in xplat. This plugin enables the use of `hermes-parser` which is significantly faster than the current flow parser prettier bundles (improves formatting time by ~50%) and also brings support for the latest Prettier 3.0.0 printing logic for JS. This upgrade is required in order to enable upcoming Flow features that add new syntax.

Changelog: [Internal]

Reviewed By: SamChou19815

Differential Revision: D46748891

fbshipit-source-id: 3775ef9afa7c04e565fa4fcf8ca5b410f49d35a1
2023-06-15 08:23:06 -07:00
Vincent RiemerandFacebook GitHub Bot 9e50185d97 Back out "Add plumbing/boilerplate for an iOS implementation of the gotpointercapture and lostpointercapture events" (#37861)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/37861

Changelog: [Internal] - Back out of "Add plumbing/boilerplate for an iOS implementation of the `gotpointercapture` and `lostpointercapture` events"

Original commit changeset: c9da5691d399

Original Phabricator Diff: D44977499

This diff appears to be causing issues as reported on T155721480 related to the file `RawPropsKeyMap.cpp` which, while I haven't figured out exactly why this is occurring, confirmed that this diff is causing the issue. In order to buy myself some more time as I diagnose this I'm backing the changes out in this diff.

Reviewed By: adanoff

Differential Revision: D46691035

fbshipit-source-id: 383b46732a3fad24a50e18ab948c96ce9bfe429e
2023-06-13 16:39:08 -07:00
Vincent RiemerandFacebook GitHub Bot 001e182f08 Add PointerEventCaptureMouse WPT test (#37603)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/37603

Changelog: [Internal] - Add PointerEventCaptureMouse WPT test

This diff introduces a port of the wpt test "pointerevent_capture_mouse" (https://github.com/web-platform-tests/wpt/blob/master/pointerevents/pointerevent_capture_mouse.html) in preparation of validating our pointer capture implementation.

Reviewed By: adanoff

Differential Revision: D46230497

fbshipit-source-id: ebdfaad23935b96d35da98e30bd326ae1b50759a
2023-06-12 19:27:14 -07:00
Alex DanoffandFacebook GitHub Bot 3a9b8748ac W3CPointerEvents: add basic testbed for click event accessibility (#37540)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/37540

Changelog: [Internal] [Added] - W3CPointerEvents: add basic testbed for click event accessibility

This change adds a test bed with some nested pressables/clickable views. We can use this to test behavior for accessibility clicks on nested pressables (a corner case), and this can be expanded for other a11y testing in the future.

Reviewed By: NickGerleman

Differential Revision: D46081730

fbshipit-source-id: 6a9e1d52b2d8824cd61cb32dd0da435499c4ef29
2023-05-24 10:16:15 -07:00
Alex DanoffandFacebook GitHub Bot 670fa88327 W3CPointerEvents: add tests for click event (#37538)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/37538

Changelog: [Internal] - W3CPointerEvents: add tests for click event

We don't have any existing tests which exercise the new (PointerEvent-based) click events. This change adds 3 tests:

1. PointerEventClickTouch: checks that the click event fires on an element when it is touched and released, and verifies that the event properties have the expected values
2. PointerEventClickTouchHierarchy: checks that the click event fires appropriately in a hierarchy of elements when the initial target of the touch is not the same as the final target (i.e. where the touch is released)
3. PointerEventClickTouchHierarchyPointerEvents: checks that the click event respects the setting of `pointerEvents` property in a hierarchy of elements

Note: these tests currently fail (at least on Android); future changes will bring the functionality in line with test expectations.

Reviewed By: vincentriemer

Differential Revision: D45121367

fbshipit-source-id: 7f22ea582e2568c418f569b7e1139388593574ab
2023-05-23 15:25:40 -07:00
Alex DanoffandFacebook GitHub Bot 679c5b38f7 W3CPointerEvents: fix pointercancel test scrollview on Android (#36959)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/36959

Changelog: [Internal] - W3CPointerEvents: fix pointercancel test scrollview on Android

On Android the contents of the scrollview were not large enough to allow for scrolling (i.e. they didn't overflow the scroll container). This change sets the height of the content and container explicitly to ensure that the view can be scrolled.

Reviewed By: vincentriemer

Differential Revision: D45064333

fbshipit-source-id: 6aa264d569639bb7d906a3afd887985caa563070
2023-04-28 09:28:55 -07:00
Alex DanoffandFacebook GitHub Bot a27270f492 W3CPointerEvents: use description to indicate HW requirements for tests (#36840)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/36840

Changelog: [Internal] - W3CPointerEvents: use description to indicate HW requirements for tests

As title. This lets users/testers know whether additional hardware is required to run each test and can give info on the test status (e.g. whether it's expected to fail). Tests with no description should be assumed to work without any special requirements.

Reviewed By: vincentriemer

Differential Revision: D44687709

fbshipit-source-id: 6a23344c4cce6917f3cf5cd3ada0c75b813b5abe
2023-04-06 13:06:10 -07:00
Vincent RiemerandFacebook GitHub Bot b2fda3eca7 Add platform test for pointercancel events caused by touch scrolling
Summary:
Changelog: [Internal] - Add platform test for pointercancel events caused by touch scrolling

This diff adds a new ported Web Platform Test which [verifies that pointercancel events are properly emitted once a touch causes scrolling](https://github.com/web-platform-tests/wpt/blob/master/pointerevents/pointerevent_pointercancel_touch.html).

Reviewed By: lunaleaps

Differential Revision: D43855277

fbshipit-source-id: 94a106058ba2c5e5fe4c1980519ceceddb2bb389
2023-03-16 12:23:25 -07:00
Luna WeiandFacebook GitHub Bot 8fbcb5cf94 RNTester: Number the WPT tests
Summary: Changelog: [Internal] Number WPT tests

Reviewed By: vincentriemer

Differential Revision: D42591932

fbshipit-source-id: 53d32692dc2fd2ec150e836b0ffb81cba87051ef
2023-01-20 15:16:28 -08:00
Sam ZhouandFacebook GitHub Bot ccefad049a Enable LTI in react-native
Summary: Changelog: [Internal]

Reviewed By: panagosg7

Differential Revision: D41788271

fbshipit-source-id: 8e40dc3279ee0283b2845b9559a80862fdf59a17
2022-12-06 19:34:14 -08:00
Mike VitousekandFacebook GitHub Bot 8c2a4d0d26 Annotate React hooks in xplat, defaulting to any
Summary:
Add explicit annotations to React hook callbacks as required for Flow's Local Type Inference project. This codemod prepares the codebase to match Flow's new typechecking algorithm. The new algorithm will make Flow more reliable and predictable.

This diff adds `any` or `$FlowFixMe` in cases where more precise types could not be determined.

Details:
- Codemod script: `.facebook/flowd codemod annotate-react-hooks ../../xplat/js --default-any --write`
- Local Type Inference announcement: [post](https://fb.workplace.com/groups/flowlang/posts/788206301785035)
- Support group: [Flow Support](https://fb.workplace.com/groups/flow)

drop-conflicts
bypass-lint

Reviewed By: SamChou19815

Differential Revision: D41231214

fbshipit-source-id: d5f5ce8d61020baa1138292c9e9f1c69dffd324c
2022-11-11 17:04:38 -08:00
Sam ZhouandFacebook GitHub Bot 281f7a7524 Annotate React hooks on xplat
Summary:
Changelog:
[Internal]

Reviewed By: pieterv

Differential Revision: D40699106

fbshipit-source-id: 236fcd1001e60f508f70a651ca2d0a602b50c19a
2022-10-28 12:10:27 -07:00
Vincent RiemerandFacebook GitHub Bot f5bd272a33 Add pointer event test ensuring that pointerover events are fired when an element appears under the cursor
Summary:
Changelog: [RNTester][Internal] - Add pointer event test ensuring that pointerover events are fired when an element appears under the cursor

This diff adds a port of an existing web platform test that checks if pointerover & pointerenter events are fired for elements that are mounted underneath the cursor.

Reviewed By: lunaleaps

Differential Revision: D40449499

fbshipit-source-id: 393f4325f7a9d9025fe9d0aab38642b1e3ab2612
2022-10-20 11:47:47 -07:00
Vincent RiemerandFacebook GitHub Bot 55fca7fd38 Add PointerOver/PointerOut handling test
Summary:
Changelog: [RNTester][Internal] - Add PointerOver/PointerOut handling test

This diff adds another platform test based on WPT testcase for mouseover/mouseout events but instead applied to pointerover/pointerout events recently implemented for RN.

Reviewed By: lunaleaps

Differential Revision: D40359286

fbshipit-source-id: 672f413f56faca55b9d838150fb66de66d78d6f2
2022-10-17 15:34:16 -07:00
Luna WeiandFacebook GitHub Bot 6733ee1358 Add option to only see failed tests
Summary: Changelog: [Internal] - Add an option to only see failed tests for PointerEvents web platform tests

Reviewed By: mdvacca

Differential Revision: D40281369

fbshipit-source-id: 638879b39ca66c11e722e6140c631dacfc98ee34
2022-10-14 15:10:19 -07:00
Luna WeiandFacebook GitHub Bot 71ae987820 Prefix web platform tests with wpt
Summary:
Changelog: [Internal] Reorder and prefix things with wpt for convenience

Open to other suggestions

Reviewed By: mdvacca

Differential Revision: D40247488

fbshipit-source-id: 4046040d5904b324a9a84dc47f4de858456e7bbc
2022-10-14 15:10:19 -07:00
Luna WeiandFacebook GitHub Bot 68f3fb275f Add many pointers example
Summary: Changelog: [Internal] - Add a display example for offset of many pointers

Reviewed By: mdvacca

Differential Revision: D39736111

fbshipit-source-id: 1fb3f1037d7e743ae1a383a4f4ee876e32da4a6a
2022-10-13 18:05:55 -07:00
Luna WeiandFacebook GitHub Bot f8996f1ea2 Fix handling across elements styling
Summary: Changelog: [Internal] Adjust styling so test works on mobile screen and verified Android is passing

Reviewed By: mdvacca

Differential Revision: D40247320

fbshipit-source-id: c39bff510900393af7696e92e1f846999eb0ced3
2022-10-10 19:59:28 -07:00
Vincent RiemerandFacebook GitHub Bot c48cb04ce4 Add pointerMove between platform test
Summary:
Changelog: [RNTester][Internal] - Add "PointerMove Between" platform test

This diff adds another port of a web platform test which verifies the event order when a hoverable pointer moves between elements.

Reviewed By: lunaleaps

Differential Revision: D40164303

fbshipit-source-id: 12f39dfcf7a1a4acabfd762185bc2227451b1057
2022-10-07 12:07:19 -07:00
Sam ZhouandFacebook GitHub Bot abb21dd908 Annotate empty objects in xplat
Reviewed By: pieterv

Differential Revision: D40134090

fbshipit-source-id: 3dd0bdb41ed559d9f72f0ff35c14e5551789fcc0
2022-10-06 13:19:11 -07:00
Vincent RiemerandFacebook GitHub Bot 36c971695c Add pointer event pointer move event order test
Summary:
Changelog: [Internal] - Add pointer event pointer move event order test

This diff adds a port of the [mouse event mouse move event order test](https://github.com/web-platform-tests/wpt/blob/master/uievents/order-of-events/mouse-events/mouseevents-mousemove.html) but instead used here for testing our pointer event implementation.

Reviewed By: lunaleaps

Differential Revision: D40041387

fbshipit-source-id: 491659405865e1a0d95cfd1b3227a48a6136a98b
2022-10-05 16:06:18 -07:00
Sam ZhouandFacebook GitHub Bot b56d709e6e Annotate useCallback in xplat (11/n)
Summary:
Add explicit annotations to useCallback as required for Flow's Local Type Inference project. This codemod prepares the codebase to match Flow's new typechecking algorithm. The new algorithm will make Flow more reliable and predictable.

Codemod command: `flow codemod annotate-use-callback`

drop-conflicts
bypass-lint

Changelog: [Internal]

Reviewed By: evanyeung

Differential Revision: D40079418

fbshipit-source-id: 59750a5d07b2ac1f440927794a7523682f048a5e
2022-10-04 18:51:59 -07:00
Gabriel Donadel Dall'AgnolandFacebook GitHub Bot c2b699abc5 chore: Fix RNTester typos (#34757)
Summary:
While working on https://github.com/facebook/react-native/pull/34550 I noticed that a couple of words inside the RNTester package were misspelled, this gave me the idea to test other files as well using the VS Code extension [Code Spell Checker](https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker) which unveiled quite a few other typos.

## Changelog

[Internal] [Fixed] - Fix RNTester typos

Pull Request resolved: https://github.com/facebook/react-native/pull/34757

Test Plan: Shouldn't require much testing as this is just fixing some typos inside the RNTester package.

Reviewed By: dmytrorykun

Differential Revision: D39722889

Pulled By: cortinico

fbshipit-source-id: a575ab8337586c5fe2d68ce73d2aae27d24a6384
2022-09-22 03:14:51 -07:00
Vincent RiemerandFacebook GitHub Bot 93b51b5f86 Add MoveAcross test for pointer events
Summary:
Changelog: [RNTester][Internal] - Add "move across" test for pointer events

This diff adds a new platform test ported from the wpt's [mousemove-across test](https://github.com/web-platform-tests/wpt/blob/master/uievents/order-of-events/mouse-events/mousemove-across.html) along with a rough port of the wpt's event recorder class which is made to work in a react component environment.

Reviewed By: lunaleaps

Differential Revision: D39221252

fbshipit-source-id: 16b2e03dbc71a2e83cc43af1e950803feaf6657b
2022-09-12 14:48:39 -07:00
Luna WeiandFacebook GitHub Bot 5198d56f28 Stop sending PointerEvents when view is native gesture handling
Summary:
Changelog: [Internal] - Stop dispatching pointer events when a child view has indicated it wants to handle a native gesture.

In discussion and alignment with web standards, we've decided to not dispatch any pointer events during a native gesture.

Currently, on ACTION_HOVER_MOVE, we remove child views of the native gesture handling view and continue dispatching onPointerMove for ancestor views. This change removes this logic and won't dispatch a onPointerMove event at all.

For all other MotionEvent actions, this is already the case.

Also adding an example in RNTester that involves a scrollView (which handles gestures during scrolling)

Reviewed By: javache

Differential Revision: D39377157

fbshipit-source-id: cb0a719f67136e31b68d6f6e794fee10b256bf21
2022-09-12 12:17:21 -07:00
Vincent RiemerandFacebook GitHub Bot c89f5fdfd6 Rework button/buttons handling & add a new test checking for move events on chorded mouse button presses
Summary:
Changelog: [iOS][Internal] - Rework button/buttons handling on pointer events & add a new test checking for move events on chorded mouse button presses

This is a larger diff that largely stems from implementing a new pointer event platform test about chorded mouse button presses (adapted from https://github.com/web-platform-tests/wpt/blob/master/pointerevents/pointerevent_pointermove_on_chorded_mouse_button.html). In order to implement this test I added a new method, `step`, to an async test instance to allow you to run ad-hoc assertions labeled by the async test (like it's done in the original web platform test).

Once implementing the test I also discovered my current logic for handling the `button` and `buttons` properties was insufficient so I reworked it to handle more/most cases by making the `button` property instead determined by the change in the `buttons` property. This largely works but unfortunately due to what seems to be a bug in UIKit, chorded pointer "up" events receive the wrong button mask values so it's currently impossible to get this test fully passing on iOS. I've since submitted a bug report to Apple but my hopes aren't high that it will be focused on since it's such a niche issue.

Reviewed By: lunaleaps

Differential Revision: D38951159

fbshipit-source-id: 426b7cf7930ed8329151382fafee487493e568de
2022-09-01 15:01:33 -07:00
Vincent RiemerandFacebook GitHub Bot 6442543933 Fix nohover pointerevent attributes test
Summary:
Changelog: [RNTester][Internal] nohover pointerevent attributes platform test fixes

In implementing full support of nohover pointerevents I discovered a couple issues with my initial port of the web platform test — specifically I forgot to update the calls to `checkPointerEventAttributes` to be "touch" instead of "mouse" and I had forgotten to remove the `pointerMove` event from the expected pointer event order.

Reviewed By: lunaleaps

Differential Revision: D38718994

fbshipit-source-id: d189a4b5cf3042c9f493ac876062f4f60219ae2b
2022-08-16 12:02:19 -07:00
Luna WeiandFacebook GitHub Bot dfcd9faaad Add support for pointerover and pointerout
Summary: Changelog: [Internal] - Add pointerover, pointerout events

Reviewed By: vincentriemer

Differential Revision: D38559454

fbshipit-source-id: 829b9f2f22e1e41a64dcce80fcc79ab9e6352dcf
2022-08-15 12:51:58 -07:00
Vincent RiemerandFacebook GitHub Bot 647542c6c8 Add a pointer event attributes test variant for no-hover pointers
Summary:
Changelog: [RNTester][Internal] - Add a pointer event attributes test variant for no-hover pointers

This adds a slightly different version of the existing PointerEventAttributesHoverablePointers test but for pointers that cannot hover (such as touches)

Reviewed By: lunaleaps

Differential Revision: D38401888

fbshipit-source-id: 4ed782cc2157dcaa8f6c294ae3589843d020bc92
2022-08-09 16:37:56 -07:00
Vincent RiemerandFacebook GitHub Bot 546c4b4c6c Add isPrimary property implementation to the PointerEvent object
Summary:
Changelog: [iOS][Internal] - Add isPrimary property implementation to the PointerEvent object

This diff adds the `isPrimary` property to the PointerEvent object iOS implementation. In addition this adds a related change where we "reserve" the 0 touch identifier for mouse events and the 1 identifier for apple pencil events. This is an easy way to ensure that these pointers are always consistent no matter what happens. Since mouse & pencil pointers should always be considered the primary pointer, that allows us to focus the more advanced primary pointer differentiation purely on touch events.

The logic for this touch event primary pointer differentiation is essentially setting the first touch it recieves as a primary pointer, setting it on touch registration, and sets all subsequent touchs (while the first touch is down) as not the primary pointers. When that primary pointer is lifted, the class property keeping track of the primary pointer is reset and then the **next** pointer (secondary pointers which had already started before the previous primary pointer was lifted are not "upgraded" to primary) is marked as primary. A new platform test is also included in this diff in order to verify the aforementioned behavior.

Reviewed By: lunaleaps

Differential Revision: D37961707

fbshipit-source-id: ae8b78c5bfea6902fb73094fca1552e4e648ea44
2022-07-26 11:41:48 -07:00
Vincent RiemerandFacebook GitHub Bot 663dd9177e Add the ability for tests to be marked as 'skipped'
Summary:
Changelog: [RNTester][Internal] - Add the ability for platform tests to be marked as skipped

There are some properties/tests in the web platform tests that we don't want to especially priorities (especially if they aren't especially relevant to the specification and just legacy browser compat) so this adds the ability for us to mark these tests as skipped. This is so that we can ensure that our platform tests are "complete" while decreasing the noise and distraction from failing tests that don't really apply to RN.

Reviewed By: lunaleaps

Differential Revision: D37889470

fbshipit-source-id: 6516ac90c242d662518a95cb9ba8ce643f6bb09c
2022-07-18 14:12:25 -07:00
Vincent RiemerandFacebook GitHub Bot 1e91445aaa Fix incorrect pointer event name in move test
Summary:
Changelog: [RNTester][Internal] - Fix incorrect pointer event name in move test

We recently removed the '2' suffix from certain pointer event names and I forgot to update this test.

Reviewed By: lunaleaps

Differential Revision: D37857862

fbshipit-source-id: 6f37dce139772cd16d663961dbcbbf68dde83101
2022-07-14 15:07:18 -07:00
Luna WeiandFacebook GitHub Bot 89f090016d Add a pointermove with AnimatedEvent example
Summary: Changelog: [Internal] - Add an example of pointermove using AnimatedEvent

Reviewed By: vincentriemer

Differential Revision: D37769263

fbshipit-source-id: 25de0ae88b55148d23fa388768707ea859e9ae4d
2022-07-13 15:45:45 -07:00
Luna WeiandFacebook GitHub Bot 4f522be373 - Add offsetX, offsetY values
Summary: Changelog: [Internal] Provide Android backing for offsetX, offsetY values.

Reviewed By: javache

Differential Revision: D37734498

fbshipit-source-id: f0f6daea3a2da27c79d42b9546eafa757ec448e7
2022-07-13 15:45:45 -07:00
Vincent RiemerandFacebook GitHub Bot fd2e1d1f16 Fix layout measurement in hoverable pointer attributes test
Summary:
Changelog: [RNTester][Internal] - Fix layout measurement in hoverable pointer attributes test

This diff addresses an issue I've found with the hoverable pointer attributes test where before it was measuring the view seemingly on mount and it appears that for *some reason* that would be incorrect on the first mount of the view. This diff ensures that doesn't happen by measuring the view JIT when an event is recieved instead.

Reviewed By: lunaleaps

Differential Revision: D37765614

fbshipit-source-id: 8594677d98be8d3d4e75dbf5394c92ca49355d6d
2022-07-12 18:10:27 -07:00
Vincent RiemerandFacebook GitHub Bot 8bb0a9f9c9 Create more mobile-friendly version of the platform test results UI
Summary:
Changelog: [RNTester][Internal] - Create more mobile-friendly version of the platform test results UI

The original UI design for displaying the test results was done with only really tablets in mind so in order to better accomidate mobile screen sizes this diff adds a new expanding UI for the test results.

Reviewed By: lunaleaps

Differential Revision: D37701638

fbshipit-source-id: a1789abb15db7ab162fe90afc32d23c435f1bdb5
2022-07-08 13:33:04 -07:00
Vincent RiemerandFacebook GitHub Bot fba485af83 Add initial documentation of RNTesterPlatformTest
Summary:
Changelog: [RNTester][Internal] - Add README for RNTesterPlatformTest framework

This diff adds some initial documentation for `RNTesterPlatformTest` to give other pointers on how to contribute their own platform tests (both internally and externally).

Reviewed By: lunaleaps

Differential Revision: D37566632

fbshipit-source-id: c203045f79c3c5488fd0dcbb8077e9041bd62b0f
2022-07-08 13:33:04 -07:00
Vincent RiemerandFacebook GitHub Bot ff6c906a66 Update event names in pointer event platform tests
Summary: Changelog: [RNTester][Internal] Update event names in pointer event platform tests

Reviewed By: lunaleaps

Differential Revision: D37697922

fbshipit-source-id: ac0ad5111cc7be74ca4ad4a2e9e6c2dec15b49ce
2022-07-08 13:33:04 -07:00