@office-iss/react-native-win32 0.0.0-canary.296 → 0.0.0-canary.298
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.flowconfig +6 -2
- package/CHANGELOG.json +49 -1
- package/CHANGELOG.md +23 -4
- package/IntegrationTests/AccessibilityManagerTest.js +1 -1
- package/IntegrationTests/AppEventsTest.js +1 -1
- package/IntegrationTests/GlobalEvalWithSourceUrlTest.js +1 -1
- package/IntegrationTests/ImageCachePolicyTest.js +2 -2
- package/IntegrationTests/ImageSnapshotTest.js +1 -1
- package/IntegrationTests/IntegrationTestHarnessTest.js +1 -1
- package/IntegrationTests/IntegrationTestsApp.js +1 -1
- package/IntegrationTests/LayoutEventsTest.js +1 -1
- package/IntegrationTests/PromiseTest.js +1 -1
- package/IntegrationTests/SimpleSnapshotTest.js +1 -1
- package/IntegrationTests/SyncMethodTest.js +1 -1
- package/IntegrationTests/TimersTest.js +1 -1
- package/IntegrationTests/WebSocketTest.js +1 -1
- package/Libraries/Alert/Alert.js +1 -1
- package/Libraries/Alert/Alert.win32.js +1 -1
- package/Libraries/Alert/RCTAlertManager.ios.js +1 -1
- package/Libraries/Alert/RCTAlertManager.js.flow +1 -1
- package/Libraries/Animated/Animated.js +0 -1
- package/Libraries/Animated/Animated.js.flow +0 -1
- package/Libraries/Animated/AnimatedExports.js +2 -3
- package/Libraries/Animated/AnimatedExports.js.flow +1 -2
- package/Libraries/Animated/Easing.js +1 -1
- package/Libraries/Animated/SpringConfig.js +1 -1
- package/Libraries/Animated/animations/Animation.js +5 -2
- package/Libraries/Animated/components/AnimatedFlatList.js +7 -6
- package/Libraries/Animated/components/AnimatedScrollView.js +53 -52
- package/Libraries/Animated/components/AnimatedSectionList.js +11 -7
- package/Libraries/Animated/createAnimatedComponent.js +37 -33
- package/Libraries/Animated/nodes/AnimatedObject.js +2 -3
- package/Libraries/Animated/nodes/AnimatedProps.js +37 -5
- package/Libraries/Animated/nodes/AnimatedStyle.js +35 -34
- package/Libraries/Animated/shouldUseTurboAnimatedModule.js +6 -1
- package/Libraries/AppState/AppState.js +6 -1
- package/Libraries/BatchedBridge/BatchedBridge.js +1 -1
- package/Libraries/BatchedBridge/NativeModules.js +1 -1
- package/Libraries/Blob/BlobManager.js +4 -0
- package/Libraries/Blob/URL.js +1 -1
- package/Libraries/Blob/URLSearchParams.js +5 -1
- package/Libraries/Blob/URLSearchParams.js.flow +2 -1
- package/Libraries/BugReporting/BugReporting.js +1 -1
- package/Libraries/BugReporting/dumpReactTree.js +1 -1
- package/Libraries/BugReporting/getReactData.js +1 -1
- package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.android.js +1 -1
- package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.ios.js +1 -1
- package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.js.flow +1 -1
- package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.win32.js +1 -1
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +20 -19
- package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +1 -1
- package/Libraries/Components/Button.js +3 -3
- package/Libraries/Components/Button.win32.js +3 -3
- package/Libraries/Components/Clipboard/Clipboard.js +1 -1
- package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +1 -1
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +3 -4
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.ios.js +1 -1
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +1 -1
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js.flow +1 -1
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidFallback.js +1 -1
- package/Libraries/Components/Keyboard/Keyboard.js +1 -1
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +3 -2
- package/Libraries/Components/LayoutConformance/LayoutConformance.js +0 -1
- package/Libraries/Components/Pressable/Pressable.js +9 -6
- package/Libraries/Components/Pressable/Pressable.win32.js +9 -6
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +14 -13
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +14 -2
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +1 -1
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidTypes.js +29 -20
- package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +1 -1
- package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +1 -1
- package/Libraries/Components/RefreshControl/RefreshControl.js +1 -1
- package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +1 -1
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +1 -1
- package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +1 -1
- package/Libraries/Components/ScrollView/ScrollView.d.ts +23 -5
- package/Libraries/Components/ScrollView/ScrollView.js +22 -14
- package/Libraries/Components/ScrollView/ScrollViewCommands.js +1 -1
- package/Libraries/Components/ScrollView/ScrollViewContext.js +2 -1
- package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +1 -1
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +19 -6
- package/Libraries/Components/ScrollView/processDecelerationRate.js +1 -1
- package/Libraries/Components/Sound/SoundManager.js +1 -1
- package/Libraries/Components/StaticRenderer.js +1 -1
- package/Libraries/Components/StatusBar/StatusBar.js +1 -1
- package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +1 -1
- package/Libraries/Components/Switch/Switch.js +8 -2
- package/Libraries/Components/Switch/SwitchNativeComponent.js +1 -1
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +1 -17
- package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +1 -1
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +1 -1
- package/Libraries/Components/TextInput/TextInput.d.ts +9 -3
- package/Libraries/Components/TextInput/TextInput.flow.js +12 -14
- package/Libraries/Components/TextInput/TextInput.flow.win32.js +12 -14
- package/Libraries/Components/TextInput/TextInput.js +40 -35
- package/Libraries/Components/TextInput/TextInput.win32.js +41 -35
- package/Libraries/Components/TextInput/TextInputState.js +1 -1
- package/Libraries/Components/TextInput/TextInputState.win32.js +1 -1
- package/Libraries/Components/ToastAndroid/ToastAndroid.android.js +1 -1
- package/Libraries/Components/ToastAndroid/ToastAndroid.ios.js +1 -1
- package/Libraries/Components/ToastAndroid/ToastAndroid.js +1 -1
- package/Libraries/Components/ToastAndroid/ToastAndroid.js.flow +1 -1
- package/Libraries/Components/ToastAndroid/ToastAndroid.win32.js +1 -1
- package/Libraries/Components/ToastAndroid/ToastAndroidFallback.js +1 -1
- package/Libraries/Components/Touchable/BoundingDimensions.js +1 -1
- package/Libraries/Components/Touchable/PooledClass.js +1 -1
- package/Libraries/Components/Touchable/Position.js +1 -1
- package/Libraries/Components/Touchable/Touchable.js +10 -0
- package/Libraries/Components/Touchable/Touchable.win32.js +10 -0
- package/Libraries/Components/Touchable/TouchableBounce.js +9 -3
- package/Libraries/Components/Touchable/TouchableHighlight.js +9 -4
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +2 -1
- package/Libraries/Components/Touchable/TouchableNativeFeedback.win32.js +2 -0
- package/Libraries/Components/Touchable/TouchableOpacity.js +7 -3
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +3 -3
- package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +1 -1
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +1 -1
- package/Libraries/Components/View/View.js +112 -26
- package/Libraries/Components/View/View.win32.js +1 -1
- package/Libraries/Components/View/ViewAccessibility.js +1 -1
- package/Libraries/Components/View/ViewAccessibility.win32.js +1 -1
- package/Libraries/Components/View/ViewPropTypes.d.ts +18 -2
- package/Libraries/Components/View/ViewPropTypes.js +1 -1
- package/Libraries/Components/View/ViewPropTypes.win32.js +1 -1
- package/Libraries/Core/Devtools/getDevServer.js +1 -1
- package/Libraries/Core/Devtools/loadBundleFromServer.js +49 -7
- package/Libraries/Core/Devtools/loadBundleFromServer.win32.js +49 -7
- package/Libraries/Core/Devtools/openFileInEditor.js +1 -1
- package/Libraries/Core/Devtools/openURLInBrowser.js +1 -1
- package/Libraries/Core/Devtools/parseErrorStack.js +1 -1
- package/Libraries/Core/Devtools/parseHermesStack.js +1 -1
- package/Libraries/Core/Devtools/symbolicateStackTrace.js +1 -1
- package/Libraries/Core/ExceptionsManager.js +1 -1
- package/Libraries/Core/InitializeCore.js +2 -23
- package/Libraries/Core/ReactFiberErrorDialog.js +1 -1
- package/Libraries/Core/ReactNativeVersion.js +3 -2
- package/Libraries/Core/Timers/JSTimers.js +1 -1
- package/Libraries/Core/Timers/immediateShim.js +1 -1
- package/Libraries/Core/Timers/queueMicrotask.js +1 -1
- package/Libraries/Core/setUpDeveloperTools.js +13 -11
- package/Libraries/Debugging/DebuggingOverlay.js +12 -14
- package/Libraries/Debugging/DebuggingOverlayNativeComponent.js +1 -1
- package/Libraries/Debugging/DebuggingOverlayRegistry.js +0 -1
- package/Libraries/Debugging/useSubscribeToDebuggingOverlayRegistry.js +0 -1
- package/Libraries/EventEmitter/NativeEventEmitter.js +1 -1
- package/Libraries/EventEmitter/RCTEventEmitter.js +1 -1
- package/Libraries/EventEmitter/RCTNativeAppEventEmitter.js +1 -1
- package/Libraries/Image/AssetRegistry.js +4 -10
- package/Libraries/Image/AssetSourceResolver.js +17 -4
- package/Libraries/Image/Image.android.js +112 -106
- package/Libraries/Image/Image.ios.js +10 -2
- package/Libraries/Image/Image.win32.js +11 -3
- package/Libraries/Image/ImageAnalyticsTagContext.js +2 -2
- package/Libraries/Image/ImageInjection.js +1 -1
- package/Libraries/Image/RelativeImageStub.js +2 -1
- package/Libraries/Image/TextInlineImageNativeComponent.js +1 -1
- package/Libraries/Image/resolveAssetSource.js +1 -1
- package/Libraries/Interaction/FrameRateLogger.js +1 -1
- package/Libraries/Interaction/InteractionManager.js +62 -53
- package/Libraries/Interaction/TaskQueue.js +8 -9
- package/Libraries/Interaction/TouchHistoryMath.js +1 -1
- package/Libraries/Linking/Linking.js +1 -1
- package/Libraries/Lists/FlatList.d.ts +9 -5
- package/Libraries/Lists/FlatList.js +1 -1
- package/Libraries/Lists/SectionListModern.js +9 -3
- package/Libraries/LogBox/Data/parseLogBoxLog.js +2 -0
- package/Libraries/LogBox/LogBox.js +2 -0
- package/Libraries/LogBox/UI/LogBoxButton.js +2 -1
- package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +2 -1
- package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.win32.js +2 -1
- package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +3 -2
- package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.win32.js +3 -2
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +2 -1
- package/Libraries/Modal/Modal.js +5 -1
- package/Libraries/Modal/RCTModalHostViewNativeComponent.js +1 -1
- package/Libraries/NativeComponent/BaseViewConfig.android.js +17 -5
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +4 -4
- package/Libraries/NativeComponent/BaseViewConfig.js.flow +1 -1
- package/Libraries/NativeComponent/BaseViewConfig.win32.js +4 -4
- package/Libraries/NativeComponent/PlatformBaseViewConfig.js +1 -1
- package/Libraries/NativeComponent/ViewConfigIgnore.js +3 -3
- package/Libraries/Network/FormData.js +1 -1
- package/Libraries/Network/RCTNetworking.android.js +2 -2
- package/Libraries/Network/RCTNetworking.ios.js +1 -1
- package/Libraries/Network/RCTNetworking.js.flow +1 -1
- package/Libraries/Network/RCTNetworking.win32.js +1 -1
- package/Libraries/Network/XMLHttpRequest.js +3 -3
- package/Libraries/PermissionsAndroid/PermissionsAndroid.js +1 -1
- package/Libraries/Pressability/Pressability.js +1 -1
- package/Libraries/Pressability/Pressability.win32.js +1 -1
- package/Libraries/Promise.js +1 -1
- package/Libraries/PushNotificationIOS/PushNotificationIOS.js +3 -2
- package/Libraries/ReactNative/AppContainer-dev.js +4 -4
- package/Libraries/ReactNative/AppContainer-prod.js +0 -1
- package/Libraries/ReactNative/AppContainer.js +1 -1
- package/Libraries/ReactNative/AppRegistryImpl.js +2 -3
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +1 -1
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +1 -1
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstanceUtils.js +1 -1
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload.js +1 -1
- package/Libraries/ReactNative/ReactFabricPublicInstance/warnForStyleProps.js +1 -1
- package/Libraries/ReactNative/RendererImplementation.js +1 -1
- package/Libraries/ReactNative/RendererProxy.js +1 -1
- package/Libraries/ReactNative/RootTag.js +2 -2
- package/Libraries/ReactNative/renderApplication.js +1 -1
- package/Libraries/ReactPrivate/ReactNativePrivateInitializeCore.js +1 -1
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +2 -1
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js.flow +1 -1
- package/Libraries/Renderer/shims/ReactNativeTypes.js +21 -25
- package/Libraries/Renderer/shims/ReactNativeTypes.win32.js +270 -0
- package/Libraries/Settings/Settings.ios.js +1 -1
- package/Libraries/Settings/Settings.js +1 -1
- package/Libraries/Settings/SettingsFallback.js +1 -1
- package/Libraries/Share/Share.js +1 -1
- package/Libraries/StyleSheet/EdgeInsetsPropType.js +1 -1
- package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +1 -1
- package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
- package/Libraries/StyleSheet/PlatformColorValueTypes.js.flow +1 -1
- package/Libraries/StyleSheet/PlatformColorValueTypesIOS.ios.js +1 -1
- package/Libraries/StyleSheet/PlatformColorValueTypesIOS.js +1 -1
- package/Libraries/StyleSheet/PointPropType.js +1 -1
- package/Libraries/StyleSheet/Rect.js +1 -1
- package/Libraries/StyleSheet/StyleSheetExports.js.flow +3 -1
- package/Libraries/StyleSheet/StyleSheetTypes.js +4 -3
- package/Libraries/StyleSheet/normalizeColor.js +1 -1
- package/Libraries/StyleSheet/private/_TransformStyle.js +49 -21
- package/Libraries/StyleSheet/processAspectRatio.js +1 -1
- package/Libraries/StyleSheet/processBackgroundImage.js +1 -1
- package/Libraries/StyleSheet/processBoxShadow.js +0 -1
- package/Libraries/StyleSheet/processColor.js +1 -1
- package/Libraries/StyleSheet/processColorArray.js +1 -1
- package/Libraries/StyleSheet/processFilter.js +1 -2
- package/Libraries/StyleSheet/processFontVariant.js +1 -1
- package/Libraries/StyleSheet/processTransform.js +1 -1
- package/Libraries/StyleSheet/processTransformOrigin.js +1 -1
- package/Libraries/StyleSheet/setNormalizedColorAlpha.js +1 -1
- package/Libraries/Text/Text.d.ts +7 -0
- package/Libraries/Text/Text.js +256 -245
- package/Libraries/Text/Text.win32.js +294 -285
- package/Libraries/Text/TextAncestor.js +3 -2
- package/Libraries/Text/TextNativeComponent.js +4 -0
- package/Libraries/Text/TextNativeComponent.win32.js +4 -0
- package/Libraries/Text/TextProps.js +2 -34
- package/Libraries/Text/TextProps.win32.js +2 -33
- package/Libraries/Types/CodegenTypes.js +1 -1
- package/Libraries/Types/CodegenTypesNamespace.js +1 -1
- package/Libraries/Types/CoreEventTypes.d.ts +4 -0
- package/Libraries/Types/ReactDevToolsTypes.js +0 -1
- package/Libraries/Utilities/Appearance.js +1 -1
- package/Libraries/Utilities/BackHandler.js.flow +1 -1
- package/Libraries/Utilities/DevLoadingView.js +1 -1
- package/Libraries/Utilities/DeviceInfo.js +1 -1
- package/Libraries/Utilities/Dimensions.js +1 -1
- package/Libraries/Utilities/Dimensions.win32.js +1 -1
- package/Libraries/Utilities/HMRClient.js +1 -1
- package/Libraries/Utilities/HMRClientProdShim.js +1 -1
- package/Libraries/Utilities/PerformanceLoggerContext.js +2 -2
- package/Libraries/Utilities/PixelRatio.js +1 -1
- package/Libraries/Utilities/Platform.android.js +1 -1
- package/Libraries/Utilities/Platform.ios.js +1 -1
- package/Libraries/Utilities/Platform.js +1 -1
- package/Libraries/Utilities/Platform.win32.js +1 -1
- package/Libraries/Utilities/PlatformTypes.js +1 -1
- package/Libraries/Utilities/RCTLog.js +1 -1
- package/Libraries/Utilities/SceneTracker.js +1 -1
- package/Libraries/Utilities/binaryToBase64.js +1 -1
- package/Libraries/Utilities/codegenNativeCommands.js +1 -1
- package/Libraries/Utilities/codegenNativeComponent.js +1 -1
- package/Libraries/Utilities/createPerformanceLogger.js +27 -20
- package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +1 -1
- package/Libraries/Utilities/defineLazyObjectProperty.js +1 -1
- package/Libraries/Utilities/differ/deepDiffer.js +1 -1
- package/Libraries/Utilities/differ/insetsDiffer.js +1 -1
- package/Libraries/Utilities/differ/matricesDiffer.js +1 -1
- package/Libraries/Utilities/differ/pointsDiffer.js +1 -1
- package/Libraries/Utilities/logError.js +1 -1
- package/Libraries/Utilities/mapWithSeparator.js +1 -1
- package/Libraries/Utilities/stringifySafe.js +1 -1
- package/Libraries/Utilities/stringifyViewConfig.js +1 -1
- package/Libraries/Utilities/useColorScheme.js +1 -1
- package/Libraries/Utilities/useWindowDimensions.js +1 -1
- package/Libraries/Utilities/warnOnce.js +1 -1
- package/Libraries/Vibration/Vibration.js +1 -2
- package/Libraries/WebSocket/WebSocket.js +1 -1
- package/Libraries/WebSocket/WebSocketInterceptor.js +1 -1
- package/Libraries/promiseRejectionTrackingOptions.js +1 -1
- package/Libraries/vendor/core/ErrorUtils.js +29 -5
- package/index.js +1 -2
- package/index.win32.js +3 -1
- package/interface.js +1 -1
- package/jest/MockNativeMethods.js +9 -3
- package/jest/RefreshControlMock.js +32 -0
- package/jest/assetFileTransformer.js +1 -0
- package/jest/local-setup.js +4 -3
- package/jest/mock.js +39 -0
- package/jest/mockComponent.js +47 -17
- package/jest/mockNativeComponent.js +26 -15
- package/jest/mocks/AccessibilityInfo.js +62 -0
- package/jest/mocks/ActivityIndicator.js +23 -0
- package/jest/mocks/AppState.js +19 -0
- package/{flow/Stringish.js → jest/mocks/Clipboard.js} +6 -4
- package/jest/mocks/Image.js +23 -0
- package/jest/mocks/InitializeCore.js +9 -0
- package/jest/mocks/Linking.js +28 -0
- package/jest/mocks/Modal.js +33 -0
- package/jest/mocks/NativeComponentRegistry.js +30 -0
- package/jest/mocks/NativeModules.js +239 -0
- package/jest/mocks/RefreshControl.js +31 -0
- package/jest/mocks/RendererProxy.js +45 -0
- package/jest/mocks/ScrollView.js +58 -0
- package/jest/mocks/Text.js +27 -0
- package/jest/mocks/TextInput.js +32 -0
- package/jest/mocks/UIManager.js +60 -0
- package/jest/mocks/Vibration.js +16 -0
- package/jest/mocks/View.js +27 -0
- package/jest/mocks/ViewNativeComponent.js +23 -0
- package/jest/mocks/requireNativeComponent.js +22 -0
- package/{Libraries/Utilities/infoLog.js → jest/mocks/useColorScheme.js} +7 -9
- package/jest/react-native-env.js +1 -0
- package/jest/renderer.js +1 -2
- package/jest/resolver.js +32 -0
- package/jest/setup.js +63 -445
- package/overrides.json +45 -38
- package/package.json +14 -14
- package/src/private/animated/NativeAnimatedHelper.js +8 -1
- package/src/private/animated/NativeAnimatedHelper.win32.js +8 -1
- package/src/private/animated/createAnimatedPropsHook.js +11 -4
- package/src/private/animated/createAnimatedPropsMemoHook.js +0 -1
- package/src/private/components/safeareaview/SafeAreaView_INTERNAL_DO_NOT_USE.js +0 -1
- package/src/private/components/scrollview/HScrollViewNativeComponents.js +0 -1
- package/src/private/components/scrollview/VScrollViewNativeComponents.js +0 -1
- package/src/private/devsupport/devmenu/elementinspector/BorderBox.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/BoxInspector.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/ElementBox.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/ElementProperties.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/Inspector.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/InspectorOverlay.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/InspectorPanel.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/NetworkOverlay.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/ReactDevToolsOverlay.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/StyleInspector.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/XHRInterceptor.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/getInspectorDataForViewAtPoint.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/resolveBoxStyle.js +1 -1
- package/src/private/devsupport/devmenu/perfmonitor/PerformanceOverlay.js +1 -1
- package/src/private/devsupport/rndevtools/FuseboxSessionObserver.js +0 -1
- package/src/private/devsupport/rndevtools/ReactDevToolsSettingsManager.android.js +8 -9
- package/src/private/devsupport/rndevtools/ReactDevToolsSettingsManager.ios.js +12 -15
- package/src/private/devsupport/rndevtools/ReactDevToolsSettingsManager.win32.js +8 -9
- package/src/private/devsupport/rndevtools/setUpFuseboxReactDevToolsDispatcher.js +0 -1
- package/src/private/devsupport/rndevtools/specs/NativeReactDevToolsRuntimeSettingsModule.js +0 -1
- package/src/private/featureflags/ReactNativeFeatureFlags.js +65 -5
- package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +2 -0
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +10 -2
- package/src/private/renderer/errorhandling/ErrorHandlers.js +1 -1
- package/src/private/setup/setUpDefaultReactNativeEnvironment.js +44 -0
- package/src/private/specs_DEPRECATED/components/ActivityIndicatorViewNativeComponent.js +1 -1
- package/src/private/specs_DEPRECATED/components/AndroidDrawerLayoutNativeComponent.js +1 -1
- package/src/private/specs_DEPRECATED/components/AndroidHorizontalScrollContentViewNativeComponent.js +1 -1
- package/src/private/specs_DEPRECATED/components/AndroidSwipeRefreshLayoutNativeComponent.js +1 -1
- package/src/private/specs_DEPRECATED/components/PullToRefreshViewNativeComponent.js +1 -1
- package/src/private/specs_DEPRECATED/components/RCTModalHostViewNativeComponent.js +1 -1
- package/src/private/specs_DEPRECATED/components/RCTSafeAreaViewNativeComponent.js +1 -1
- package/src/private/specs_DEPRECATED/components/UnimplementedNativeViewNativeComponent.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeBugReporting.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeFrameRateLogger.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativePermissionsAndroid.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativePushNotificationManagerIOS.js +1 -1
- package/src/private/styles/composeStyles.js +12 -5
- package/src/private/types/HostInstance.js +1 -1
- package/src/private/webapis/dom/events/Event.js +3 -0
- package/src/private/webapis/dom/events/EventTarget.js +3 -0
- package/src/private/webapis/dom/nodes/ReactNativeDocument.js +1 -1
- package/src/private/webapis/dom/nodes/ReactNativeElement.js +7 -24
- package/src/private/webapis/dom/nodes/ReadOnlyCharacterData.js +1 -1
- package/src/private/webapis/dom/nodes/ReadOnlyElement.js +1 -1
- package/src/private/webapis/dom/nodes/ReadOnlyNode.js +4 -2
- package/src/private/webapis/dom/nodes/ReadOnlyText.js +1 -1
- package/src/private/webapis/dom/nodes/internals/NodeInternals.js +1 -1
- package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentElementInstanceHandle.js +1 -1
- package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentInstanceHandle.js +1 -1
- package/src/private/webapis/dom/nodes/internals/Traversal.js +1 -1
- package/src/private/webapis/dom/nodes/specs/NativeDOM.js +38 -0
- package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +4 -1
- package/src/private/webapis/dom/oldstylecollections/NodeList.js +4 -1
- package/src/private/webapis/errors/DOMException.js +166 -0
- package/src/private/webapis/geometry/DOMRect.js +5 -0
- package/src/private/webapis/geometry/DOMRectList.js +4 -1
- package/src/private/webapis/geometry/DOMRectReadOnly.js +6 -0
- package/src/private/webapis/intersectionobserver/IntersectionObserver.js +3 -0
- package/src/private/webapis/intersectionobserver/IntersectionObserverEntry.js +3 -0
- package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +70 -18
- package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +11 -0
- package/src/private/webapis/mutationobserver/MutationObserver.js +13 -38
- package/src/private/webapis/mutationobserver/MutationRecord.js +3 -0
- package/src/private/webapis/mutationobserver/internals/MutationObserverManager.js +7 -29
- package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +1 -4
- package/src/private/webapis/performance/EventTiming.js +1 -1
- package/src/private/webapis/performance/LongTasks.js +1 -1
- package/src/private/webapis/performance/MemoryInfo.js +4 -1
- package/src/private/webapis/performance/Performance.js +20 -9
- package/src/private/webapis/performance/PerformanceEntry.js +5 -1
- package/src/private/webapis/performance/PerformanceObserver.js +1 -1
- package/src/private/webapis/performance/ReactNativeStartupTiming.js +4 -1
- package/src/private/webapis/performance/UserTiming.js +1 -1
- package/src/private/webapis/performance/internals/RawPerformanceEntry.js +3 -1
- package/src/private/webapis/performance/internals/Utilities.js +1 -1
- package/src/private/webapis/structuredClone/structuredClone.js +233 -0
- package/src/private/webapis/utils/ArrayLikeUtils.js +1 -1
- package/src/private/webapis/webidl/PlatformObjects.js +59 -0
- package/src/types/globals.d.ts +42 -0
- package/src-win/Libraries/Components/View/ViewPropTypes.d.ts +18 -2
- package/src-win/Libraries/Text/Text.d.ts +7 -0
- package/types/index.d.ts +1 -1
- package/types/modules/Devtools.d.ts +23 -9
- package/Libraries/Interaction/JSEventLoopWatchdog.js +0 -88
- package/flow/HermesInternalType.js +0 -114
- package/flow/console.js +0 -49
- package/flow/global.js +0 -88
- package/jest/mockModal.js +0 -32
- package/jest/mockScrollView.js +0 -35
|
@@ -23,9 +23,11 @@ import type IntersectionObserver, {
|
|
|
23
23
|
IntersectionObserverCallback,
|
|
24
24
|
} from '../IntersectionObserver';
|
|
25
25
|
import type IntersectionObserverEntry from '../IntersectionObserverEntry';
|
|
26
|
+
import type {NativeIntersectionObserverToken} from '../specs/NativeIntersectionObserver';
|
|
26
27
|
|
|
27
28
|
import * as Systrace from '../../../../../Libraries/Performance/Systrace';
|
|
28
29
|
import warnOnce from '../../../../../Libraries/Utilities/warnOnce';
|
|
30
|
+
import * as ReactNativeFeatureFlags from '../../../featureflags/ReactNativeFeatureFlags';
|
|
29
31
|
import {
|
|
30
32
|
getInstanceHandle,
|
|
31
33
|
getNativeNodeReference,
|
|
@@ -74,6 +76,29 @@ const targetToShadowNodeMap: WeakMap<
|
|
|
74
76
|
ReturnType<typeof getNativeNodeReference>,
|
|
75
77
|
> = new WeakMap();
|
|
76
78
|
|
|
79
|
+
const targetToTokenMap: WeakMap<
|
|
80
|
+
ReactNativeElement,
|
|
81
|
+
NativeIntersectionObserverToken,
|
|
82
|
+
> = new WeakMap();
|
|
83
|
+
|
|
84
|
+
let modernNativeIntersectionObserver =
|
|
85
|
+
NativeIntersectionObserver == null
|
|
86
|
+
? null
|
|
87
|
+
: NativeIntersectionObserver.observeV2 == null ||
|
|
88
|
+
NativeIntersectionObserver.unobserveV2 == null
|
|
89
|
+
? null
|
|
90
|
+
: {
|
|
91
|
+
observe: NativeIntersectionObserver.observeV2,
|
|
92
|
+
unobserve: NativeIntersectionObserver.unobserveV2,
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
if (
|
|
96
|
+
modernNativeIntersectionObserver &&
|
|
97
|
+
!ReactNativeFeatureFlags.utilizeTokensInIntersectionObserver()
|
|
98
|
+
) {
|
|
99
|
+
modernNativeIntersectionObserver = null;
|
|
100
|
+
}
|
|
101
|
+
|
|
77
102
|
/**
|
|
78
103
|
* Registers the given intersection observer and returns a unique ID for it,
|
|
79
104
|
* which is required to start observing targets.
|
|
@@ -153,20 +178,32 @@ export function observe({
|
|
|
153
178
|
// access it even after the instance handle has been unmounted.
|
|
154
179
|
setTargetForInstanceHandle(instanceHandle, target);
|
|
155
180
|
|
|
156
|
-
|
|
157
|
-
|
|
181
|
+
if (modernNativeIntersectionObserver == null) {
|
|
182
|
+
// Same for the mapping between the target and its shadow node.
|
|
183
|
+
targetToShadowNodeMap.set(target, targetNativeNodeReference);
|
|
184
|
+
}
|
|
158
185
|
|
|
159
186
|
if (!isConnected) {
|
|
160
187
|
NativeIntersectionObserver.connect(notifyIntersectionObservers);
|
|
161
188
|
isConnected = true;
|
|
162
189
|
}
|
|
163
190
|
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
191
|
+
if (modernNativeIntersectionObserver == null) {
|
|
192
|
+
NativeIntersectionObserver.observe({
|
|
193
|
+
intersectionObserverId,
|
|
194
|
+
targetShadowNode: targetNativeNodeReference,
|
|
195
|
+
thresholds: registeredObserver.observer.thresholds,
|
|
196
|
+
rootThresholds: registeredObserver.observer.rnRootThresholds,
|
|
197
|
+
});
|
|
198
|
+
} else {
|
|
199
|
+
const token = modernNativeIntersectionObserver.observe({
|
|
200
|
+
intersectionObserverId,
|
|
201
|
+
targetShadowNode: targetNativeNodeReference,
|
|
202
|
+
thresholds: registeredObserver.observer.thresholds,
|
|
203
|
+
rootThresholds: registeredObserver.observer.rnRootThresholds,
|
|
204
|
+
});
|
|
205
|
+
targetToTokenMap.set(target, token);
|
|
206
|
+
}
|
|
170
207
|
|
|
171
208
|
return true;
|
|
172
209
|
}
|
|
@@ -190,18 +227,33 @@ export function unobserve(
|
|
|
190
227
|
return;
|
|
191
228
|
}
|
|
192
229
|
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
230
|
+
if (modernNativeIntersectionObserver == null) {
|
|
231
|
+
const targetNativeNodeReference = targetToShadowNodeMap.get(target);
|
|
232
|
+
if (targetNativeNodeReference == null) {
|
|
233
|
+
console.error(
|
|
234
|
+
'IntersectionObserverManager: could not find registration data for target',
|
|
235
|
+
);
|
|
236
|
+
return;
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
NativeIntersectionObserver.unobserve(
|
|
240
|
+
intersectionObserverId,
|
|
241
|
+
targetNativeNodeReference,
|
|
197
242
|
);
|
|
198
|
-
|
|
199
|
-
|
|
243
|
+
} else {
|
|
244
|
+
const targetToken = targetToTokenMap.get(target);
|
|
245
|
+
if (targetToken == null) {
|
|
246
|
+
console.error(
|
|
247
|
+
'IntersectionObserverManager: could not find registration data for target',
|
|
248
|
+
);
|
|
249
|
+
return;
|
|
250
|
+
}
|
|
200
251
|
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
252
|
+
modernNativeIntersectionObserver.unobserve(
|
|
253
|
+
intersectionObserverId,
|
|
254
|
+
targetToken,
|
|
255
|
+
);
|
|
256
|
+
}
|
|
205
257
|
}
|
|
206
258
|
|
|
207
259
|
/**
|
|
@@ -30,9 +30,20 @@ export type NativeIntersectionObserverObserveOptions = {
|
|
|
30
30
|
rootThresholds?: ?$ReadOnlyArray<number>,
|
|
31
31
|
};
|
|
32
32
|
|
|
33
|
+
export type NativeIntersectionObserverToken = mixed;
|
|
34
|
+
|
|
33
35
|
export interface Spec extends TurboModule {
|
|
36
|
+
// TODO(T223605846): Remove legacy observe method
|
|
34
37
|
+observe: (options: NativeIntersectionObserverObserveOptions) => void;
|
|
38
|
+
// TODO(T223605846): Remove legacy unobserve method
|
|
35
39
|
+unobserve: (intersectionObserverId: number, targetShadowNode: mixed) => void;
|
|
40
|
+
+observeV2?: (
|
|
41
|
+
options: NativeIntersectionObserverObserveOptions,
|
|
42
|
+
) => NativeIntersectionObserverToken;
|
|
43
|
+
+unobserveV2?: (
|
|
44
|
+
intersectionObserverId: number,
|
|
45
|
+
token: NativeIntersectionObserverToken,
|
|
46
|
+
) => void;
|
|
36
47
|
+connect: (notifyIntersectionObserversCallback: () => void) => void;
|
|
37
48
|
+disconnect: () => void;
|
|
38
49
|
+takeRecords: () => $ReadOnlyArray<NativeIntersectionObserverEntry>;
|
|
@@ -14,6 +14,7 @@ import type {MutationObserverId} from './internals/MutationObserverManager';
|
|
|
14
14
|
import type MutationRecord from './MutationRecord';
|
|
15
15
|
|
|
16
16
|
import ReactNativeElement from '../dom/nodes/ReactNativeElement';
|
|
17
|
+
import {setPlatformObject} from '../webidl/PlatformObjects';
|
|
17
18
|
import * as MutationObserverManager from './internals/MutationObserverManager';
|
|
18
19
|
|
|
19
20
|
export type MutationObserverCallback = (
|
|
@@ -42,6 +43,7 @@ export interface MutationObserverInit {
|
|
|
42
43
|
*/
|
|
43
44
|
export default class MutationObserver {
|
|
44
45
|
_callback: MutationObserverCallback;
|
|
46
|
+
// TODO: delete in the next version.
|
|
45
47
|
_observationTargets: Set<ReactNativeElement> = new Set();
|
|
46
48
|
_mutationObserverId: ?MutationObserverId;
|
|
47
49
|
|
|
@@ -115,46 +117,11 @@ export default class MutationObserver {
|
|
|
115
117
|
|
|
116
118
|
const mutationObserverId = this._getOrCreateMutationObserverId();
|
|
117
119
|
|
|
118
|
-
|
|
119
|
-
// the observation and only use the last options used.
|
|
120
|
-
if (this._observationTargets.has(target)) {
|
|
121
|
-
MutationObserverManager.unobserve(mutationObserverId, target);
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
const didStartObserving = MutationObserverManager.observe({
|
|
120
|
+
MutationObserverManager.observe({
|
|
125
121
|
mutationObserverId,
|
|
126
122
|
target,
|
|
127
123
|
subtree: Boolean(options?.subtree),
|
|
128
124
|
});
|
|
129
|
-
|
|
130
|
-
if (didStartObserving) {
|
|
131
|
-
this._observationTargets.add(target);
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
_unobserve(target: ReactNativeElement): void {
|
|
136
|
-
if (!(target instanceof ReactNativeElement)) {
|
|
137
|
-
throw new TypeError(
|
|
138
|
-
"Failed to execute 'observe' on 'MutationObserver': parameter 1 is not of type 'ReactNativeElement'.",
|
|
139
|
-
);
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
if (!this._observationTargets.has(target)) {
|
|
143
|
-
return;
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
const mutationObserverId = this._mutationObserverId;
|
|
147
|
-
if (mutationObserverId == null) {
|
|
148
|
-
return;
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
MutationObserverManager.unobserve(mutationObserverId, target);
|
|
152
|
-
this._observationTargets.delete(target);
|
|
153
|
-
|
|
154
|
-
if (this._observationTargets.size === 0) {
|
|
155
|
-
MutationObserverManager.unregisterObserver(mutationObserverId);
|
|
156
|
-
this._mutationObserverId = null;
|
|
157
|
-
}
|
|
158
125
|
}
|
|
159
126
|
|
|
160
127
|
/**
|
|
@@ -162,9 +129,15 @@ export default class MutationObserver {
|
|
|
162
129
|
* The observer can be reused by calling its `observe()` method again.
|
|
163
130
|
*/
|
|
164
131
|
disconnect(): void {
|
|
165
|
-
|
|
166
|
-
|
|
132
|
+
const mutationObserverId = this._mutationObserverId;
|
|
133
|
+
if (mutationObserverId == null) {
|
|
134
|
+
return;
|
|
167
135
|
}
|
|
136
|
+
|
|
137
|
+
MutationObserverManager.unobserveAll(mutationObserverId);
|
|
138
|
+
|
|
139
|
+
MutationObserverManager.unregisterObserver(mutationObserverId);
|
|
140
|
+
this._mutationObserverId = null;
|
|
168
141
|
}
|
|
169
142
|
|
|
170
143
|
_getOrCreateMutationObserverId(): MutationObserverId {
|
|
@@ -184,3 +157,5 @@ export default class MutationObserver {
|
|
|
184
157
|
return this._mutationObserverId;
|
|
185
158
|
}
|
|
186
159
|
}
|
|
160
|
+
|
|
161
|
+
setPlatformObject(MutationObserver);
|
|
@@ -15,6 +15,7 @@ import type ReadOnlyNode from '../dom/nodes/ReadOnlyNode';
|
|
|
15
15
|
import type {NativeMutationRecord} from './specs/NativeMutationObserver';
|
|
16
16
|
|
|
17
17
|
import NodeList, {createNodeList} from '../dom/oldstylecollections/NodeList';
|
|
18
|
+
import {setPlatformObject} from '../webidl/PlatformObjects';
|
|
18
19
|
|
|
19
20
|
export type MutationType = 'attributes' | 'characterData' | 'childList';
|
|
20
21
|
|
|
@@ -75,6 +76,8 @@ export default class MutationRecord {
|
|
|
75
76
|
}
|
|
76
77
|
}
|
|
77
78
|
|
|
79
|
+
setPlatformObject(MutationRecord);
|
|
80
|
+
|
|
78
81
|
export function createMutationRecord(
|
|
79
82
|
entry: NativeMutationRecord,
|
|
80
83
|
): MutationRecord {
|
|
@@ -41,13 +41,6 @@ const registeredMutationObservers: Map<
|
|
|
41
41
|
$ReadOnly<{observer: MutationObserver, callback: MutationObserverCallback}>,
|
|
42
42
|
> = new Map();
|
|
43
43
|
|
|
44
|
-
// The mapping between ReactNativeElement and their corresponding shadow node
|
|
45
|
-
// needs to be kept here because React removes the link when unmounting.
|
|
46
|
-
const targetToShadowNodeMap: WeakMap<
|
|
47
|
-
ReactNativeElement,
|
|
48
|
-
ReturnType<typeof getNativeNodeReference>,
|
|
49
|
-
> = new WeakMap();
|
|
50
|
-
|
|
51
44
|
/**
|
|
52
45
|
* Registers the given mutation observer and returns a unique ID for it,
|
|
53
46
|
* which is required to start observing targets.
|
|
@@ -90,10 +83,10 @@ export function observe({
|
|
|
90
83
|
mutationObserverId: MutationObserverId,
|
|
91
84
|
target: ReactNativeElement,
|
|
92
85
|
subtree: boolean,
|
|
93
|
-
}):
|
|
86
|
+
}): void {
|
|
94
87
|
if (NativeMutationObserver == null) {
|
|
95
88
|
warnNoNativeMutationObserver();
|
|
96
|
-
return
|
|
89
|
+
return;
|
|
97
90
|
}
|
|
98
91
|
|
|
99
92
|
const registeredObserver =
|
|
@@ -102,17 +95,15 @@ export function observe({
|
|
|
102
95
|
console.error(
|
|
103
96
|
`MutationObserverManager: could not start observing target because MutationObserver with ID ${mutationObserverId} was not registered.`,
|
|
104
97
|
);
|
|
105
|
-
return
|
|
98
|
+
return;
|
|
106
99
|
}
|
|
107
100
|
|
|
108
101
|
const targetShadowNode = getNativeNodeReference(target);
|
|
109
102
|
if (targetShadowNode == null) {
|
|
110
103
|
// The target is disconnected. We can't observe it anymore.
|
|
111
|
-
return
|
|
104
|
+
return;
|
|
112
105
|
}
|
|
113
106
|
|
|
114
|
-
targetToShadowNodeMap.set(target, targetShadowNode);
|
|
115
|
-
|
|
116
107
|
if (!isConnected) {
|
|
117
108
|
NativeMutationObserver.connect(
|
|
118
109
|
notifyMutationObservers,
|
|
@@ -131,14 +122,9 @@ export function observe({
|
|
|
131
122
|
targetShadowNode,
|
|
132
123
|
subtree,
|
|
133
124
|
});
|
|
134
|
-
|
|
135
|
-
return true;
|
|
136
125
|
}
|
|
137
126
|
|
|
138
|
-
export function
|
|
139
|
-
mutationObserverId: number,
|
|
140
|
-
target: ReactNativeElement,
|
|
141
|
-
): void {
|
|
127
|
+
export function unobserveAll(mutationObserverId: number): void {
|
|
142
128
|
if (NativeMutationObserver == null) {
|
|
143
129
|
warnNoNativeMutationObserver();
|
|
144
130
|
return;
|
|
@@ -148,20 +134,12 @@ export function unobserve(
|
|
|
148
134
|
registeredMutationObservers.get(mutationObserverId);
|
|
149
135
|
if (registeredObserver == null) {
|
|
150
136
|
console.error(
|
|
151
|
-
`MutationObserverManager: could not
|
|
152
|
-
);
|
|
153
|
-
return;
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
const targetShadowNode = targetToShadowNodeMap.get(target);
|
|
157
|
-
if (targetShadowNode == null) {
|
|
158
|
-
console.error(
|
|
159
|
-
'MutationObserverManager: could not find registration data for target',
|
|
137
|
+
`MutationObserverManager: could not disconnect MutationObserver with ID ${mutationObserverId} because it was not registered.`,
|
|
160
138
|
);
|
|
161
139
|
return;
|
|
162
140
|
}
|
|
163
141
|
|
|
164
|
-
NativeMutationObserver.
|
|
142
|
+
NativeMutationObserver.unobserveAll(mutationObserverId);
|
|
165
143
|
}
|
|
166
144
|
|
|
167
145
|
/**
|
|
@@ -36,10 +36,7 @@ export type NativeMutationObserverObserveOptions = {
|
|
|
36
36
|
|
|
37
37
|
export interface Spec extends TurboModule {
|
|
38
38
|
+observe: (options: NativeMutationObserverObserveOptions) => void;
|
|
39
|
-
+
|
|
40
|
-
mutationObserverId: number,
|
|
41
|
-
targetShadowNode: ShadowNode,
|
|
42
|
-
) => void;
|
|
39
|
+
+unobserveAll: (mutationObserverId: number) => void;
|
|
43
40
|
+connect: (
|
|
44
41
|
notifyMutationObservers: () => void,
|
|
45
42
|
// We need this to retain the public instance before React removes the
|
|
@@ -6,11 +6,12 @@
|
|
|
6
6
|
*
|
|
7
7
|
* @flow strict
|
|
8
8
|
* @format
|
|
9
|
-
* @oncall react_native
|
|
10
9
|
*/
|
|
11
10
|
|
|
12
11
|
// flowlint unsafe-getters-setters:off
|
|
13
12
|
|
|
13
|
+
import {setPlatformObject} from '../webidl/PlatformObjects';
|
|
14
|
+
|
|
14
15
|
type MemoryInfoLike = {
|
|
15
16
|
jsHeapSizeLimit: ?number,
|
|
16
17
|
totalJSHeapSize: ?number,
|
|
@@ -52,3 +53,5 @@ export default class MemoryInfo {
|
|
|
52
53
|
return this.#usedJSHeapSize;
|
|
53
54
|
}
|
|
54
55
|
}
|
|
56
|
+
|
|
57
|
+
setPlatformObject(MemoryInfo);
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*
|
|
7
|
-
* @format
|
|
8
7
|
* @flow strict
|
|
8
|
+
* @format
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
// flowlint unsafe-getters-setters:off
|
|
@@ -17,6 +17,8 @@ import type {
|
|
|
17
17
|
} from './PerformanceEntry';
|
|
18
18
|
import type {DetailType, PerformanceMarkOptions} from './UserTiming';
|
|
19
19
|
|
|
20
|
+
import DOMException from '../errors/DOMException';
|
|
21
|
+
import {setPlatformObject} from '../webidl/PlatformObjects';
|
|
20
22
|
import {EventCounts} from './EventTiming';
|
|
21
23
|
import {
|
|
22
24
|
performanceEntryTypeToRaw,
|
|
@@ -191,15 +193,22 @@ export default class Performance {
|
|
|
191
193
|
let computedDuration = duration;
|
|
192
194
|
|
|
193
195
|
if (NativePerformance?.measureWithResult) {
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
196
|
+
try {
|
|
197
|
+
[computedStartTime, computedDuration] =
|
|
198
|
+
NativePerformance.measureWithResult(
|
|
199
|
+
measureName,
|
|
200
|
+
startTime,
|
|
201
|
+
endTime,
|
|
202
|
+
duration,
|
|
203
|
+
startMarkName,
|
|
204
|
+
endMarkName,
|
|
205
|
+
);
|
|
206
|
+
} catch (error) {
|
|
207
|
+
throw new DOMException(
|
|
208
|
+
"Failed to execute 'measure' on 'Performance': " + error.message,
|
|
209
|
+
'SyntaxError',
|
|
202
210
|
);
|
|
211
|
+
}
|
|
203
212
|
} else {
|
|
204
213
|
warnNoNativePerformance();
|
|
205
214
|
}
|
|
@@ -283,3 +292,5 @@ export default class Performance {
|
|
|
283
292
|
).map(rawToPerformanceEntry);
|
|
284
293
|
}
|
|
285
294
|
}
|
|
295
|
+
|
|
296
|
+
setPlatformObject(Performance);
|
|
@@ -4,12 +4,14 @@
|
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*
|
|
7
|
-
* @format
|
|
8
7
|
* @flow strict
|
|
8
|
+
* @format
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
// flowlint unsafe-getters-setters:off
|
|
12
12
|
|
|
13
|
+
import {setPlatformObject} from '../webidl/PlatformObjects';
|
|
14
|
+
|
|
13
15
|
export type DOMHighResTimeStamp = number;
|
|
14
16
|
export type PerformanceEntryType =
|
|
15
17
|
| 'mark'
|
|
@@ -70,4 +72,6 @@ export class PerformanceEntry {
|
|
|
70
72
|
}
|
|
71
73
|
}
|
|
72
74
|
|
|
75
|
+
setPlatformObject(PerformanceEntry);
|
|
76
|
+
|
|
73
77
|
export type PerformanceEntryList = $ReadOnlyArray<PerformanceEntry>;
|
|
@@ -6,11 +6,12 @@
|
|
|
6
6
|
*
|
|
7
7
|
* @flow strict
|
|
8
8
|
* @format
|
|
9
|
-
* @oncall react_native
|
|
10
9
|
*/
|
|
11
10
|
|
|
12
11
|
// flowlint unsafe-getters-setters:off
|
|
13
12
|
|
|
13
|
+
import {setPlatformObject} from '../webidl/PlatformObjects';
|
|
14
|
+
|
|
14
15
|
type ReactNativeStartupTimingLike = {
|
|
15
16
|
startTime: ?number,
|
|
16
17
|
endTime: ?number,
|
|
@@ -89,3 +90,5 @@ export default class ReactNativeStartupTiming {
|
|
|
89
90
|
return this.#executeJavaScriptBundleEntryPointEnd;
|
|
90
91
|
}
|
|
91
92
|
}
|
|
93
|
+
|
|
94
|
+
setPlatformObject(ReactNativeStartupTiming);
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*
|
|
7
|
-
* @format
|
|
8
7
|
* @flow strict
|
|
8
|
+
* @format
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
import type {PerformanceEntryType} from '../PerformanceEntry';
|
|
@@ -77,6 +77,8 @@ export function rawToPerformanceEntryType(
|
|
|
77
77
|
return 'event';
|
|
78
78
|
case RawPerformanceEntryTypeValues.LONGTASK:
|
|
79
79
|
return 'longtask';
|
|
80
|
+
case RawPerformanceEntryTypeValues.RESOURCE:
|
|
81
|
+
return 'resource';
|
|
80
82
|
default:
|
|
81
83
|
throw new TypeError(
|
|
82
84
|
`rawToPerformanceEntryType: unexpected performance entry type received: ${type}`,
|