react-native-windows 0.74.12 → 0.75.0-preview.2
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 +8 -2
- package/Common/Utilities.cpp +2 -2
- package/Folly/TEMP_UntilFollyUpdate/ConstexprMath.h +970 -0
- package/Folly/TEMP_UntilFollyUpdate/json.cpp +1110 -0
- package/Folly/TEMP_UntilFollyUpdate/lang/ToAscii.cpp +4 -2
- package/Libraries/Animated/AnimatedImplementation.js +2 -0
- package/Libraries/Animated/NativeAnimatedHelper.js +4 -0
- package/Libraries/Animated/createAnimatedComponent.js +10 -4
- package/Libraries/Animated/useAnimatedProps.js +56 -28
- package/Libraries/BatchedBridge/MessageQueue.js +1 -0
- package/Libraries/Components/Button.js +10 -5
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +11 -2
- package/Libraries/Components/Flyout/Flyout.js +10 -10
- package/Libraries/Components/Flyout/FlyoutNativeComponent.js +8 -7
- package/Libraries/Components/Pressable/Pressable.js +13 -6
- package/Libraries/Components/Pressable/Pressable.windows.js +13 -6
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +4 -0
- package/Libraries/Components/ScrollView/ScrollView.js +109 -29
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +6 -0
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.windows.js +6 -0
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +13 -1
- package/Libraries/Components/StatusBar/StatusBar.js +1 -21
- package/Libraries/Components/Switch/Switch.windows.js +2 -0
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +0 -15
- package/Libraries/Components/TextInput/InputAccessoryView.js +10 -1
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +0 -12
- package/Libraries/Components/TextInput/TextInput.d.ts +0 -19
- package/Libraries/Components/TextInput/TextInput.js +14 -70
- package/Libraries/Components/TextInput/TextInput.windows.js +15 -72
- package/Libraries/Components/TextInput/WindowsTextInputNativeComponent.js +27 -12
- package/Libraries/Components/Touchable/Touchable.js +2 -2
- package/Libraries/Components/Touchable/TouchableHighlight.d.ts +4 -10
- package/Libraries/Components/Touchable/TouchableHighlight.js +3 -1
- package/Libraries/Components/Touchable/TouchableHighlight.windows.js +3 -1
- package/Libraries/Components/Touchable/TouchableOpacity.d.ts +4 -32
- package/Libraries/Components/Touchable/TouchableOpacity.js +3 -1
- package/Libraries/Components/Touchable/TouchableOpacity.windows.js +3 -1
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.d.ts +8 -0
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +117 -111
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js +129 -110
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +6 -0
- package/Libraries/Components/View/ReactNativeViewAttributes.js +1 -0
- package/Libraries/Components/View/ReactNativeViewAttributes.windows.js +1 -0
- package/Libraries/Components/View/View.js +0 -11
- package/Libraries/Components/View/View.windows.js +0 -11
- package/Libraries/Components/View/ViewAccessibility.js +4 -4
- package/Libraries/Components/View/ViewAccessibility.windows.js +4 -4
- package/Libraries/Components/View/ViewPropTypes.d.ts +21 -59
- package/Libraries/Components/View/ViewPropTypes.js +7 -0
- package/Libraries/Components/View/ViewPropTypes.windows.js +7 -0
- package/Libraries/Core/Devtools/loadBundleFromServer.js +3 -3
- package/Libraries/Core/Devtools/loadBundleFromServer.windows.js +153 -0
- package/Libraries/Core/Devtools/parseErrorStack.js +5 -5
- package/Libraries/Core/Devtools/parseHermesStack.js +22 -16
- package/Libraries/Core/ErrorHandlers.js +116 -0
- package/Libraries/Core/ExceptionsManager.js +2 -2
- package/Libraries/Core/ReactNativeVersion.js +3 -3
- package/Libraries/Core/setUpDeveloperTools.js +3 -1
- package/Libraries/Core/setUpPerformance.js +6 -4
- package/Libraries/Core/setUpReactDevTools.js +70 -10
- package/Libraries/Core/setUpTimers.js +50 -31
- package/Libraries/Debugging/DebuggingOverlayRegistry.js +1 -1
- package/Libraries/Image/Image.android.js +23 -13
- package/Libraries/Image/Image.d.ts +14 -15
- package/Libraries/Image/Image.ios.js +21 -11
- package/Libraries/Image/Image.windows.js +21 -11
- package/Libraries/Image/ImageProps.js +16 -5
- package/Libraries/Image/ImageTypes.flow.js +7 -2
- package/Libraries/Image/ImageUtils.js +1 -0
- package/Libraries/Image/ImageViewNativeComponent.js +2 -1
- package/Libraries/Inspector/ElementBox.js +6 -3
- package/Libraries/Inspector/ElementProperties.js +1 -1
- package/Libraries/Interaction/TouchHistoryMath.js +4 -4
- package/Libraries/IntersectionObserver/IntersectionObserverManager.js +6 -26
- package/Libraries/JSInspector/NetworkAgent.js +1 -1
- package/Libraries/LogBox/Data/LogBoxData.js +39 -29
- package/Libraries/LogBox/Data/LogBoxLog.js +114 -2
- package/Libraries/LogBox/Data/parseLogBoxLog.js +168 -53
- package/Libraries/LogBox/LogBox.js +29 -12
- package/Libraries/LogBox/LogBoxNotificationContainer.js +4 -0
- package/Libraries/LogBox/UI/LogBoxInspector.js +8 -70
- package/Libraries/LogBox/UI/LogBoxInspectorBody.js +87 -0
- package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +6 -42
- package/Libraries/LogBox/UI/LogBoxInspectorFooterButton.js +58 -0
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +5 -66
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.windows.js +5 -66
- package/Libraries/LogBox/UI/LogBoxInspectorHeaderButton.js +76 -0
- package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +8 -5
- package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.windows.js +8 -5
- package/Libraries/LogBox/UI/LogBoxNotification.js +13 -152
- package/Libraries/LogBox/UI/LogBoxNotificationCountBadge.js +63 -0
- package/Libraries/LogBox/UI/LogBoxNotificationDismissButton.js +67 -0
- package/Libraries/LogBox/UI/LogBoxNotificationMessage.js +57 -0
- package/Libraries/NativeComponent/BaseViewConfig.android.js +5 -0
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +5 -0
- package/Libraries/NativeComponent/BaseViewConfig.windows.js +5 -0
- package/Libraries/NativeComponent/NativeComponentRegistry.js +12 -5
- package/Libraries/NativeComponent/StaticViewConfigValidator.js +3 -0
- package/Libraries/Network/XMLHttpRequest.js +5 -1
- package/Libraries/NewAppScreen/components/LearnMoreLinks.js +3 -3
- package/Libraries/Pressability/Pressability.js +3 -51
- package/Libraries/Pressability/Pressability.windows.js +3 -51
- package/Libraries/ReactNative/AppRegistry.d.ts +4 -0
- package/Libraries/ReactNative/AppRegistry.js +2 -4
- package/Libraries/ReactNative/BridgelessUIManager.js +1 -21
- package/Libraries/ReactNative/FabricUIManager.js +0 -51
- package/Libraries/ReactNative/ReactFabricPublicInstance/warnForStyleProps.js +1 -0
- package/Libraries/ReactNative/RendererImplementation.js +20 -2
- package/Libraries/ReactNative/UIManager.d.ts +0 -21
- package/Libraries/ReactNative/UIManagerProperties.js +0 -3
- package/Libraries/ReactNative/__mocks__/FabricUIManager.js +5 -341
- package/Libraries/ReactNative/getNativeComponentAttributes.js +8 -8
- package/Libraries/Renderer/implementations/ReactFabric-dev.js +15682 -27088
- package/Libraries/Renderer/implementations/ReactFabric-prod.js +5082 -4381
- package/Libraries/Renderer/implementations/ReactFabric-profiling.js +3480 -2571
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +15943 -27543
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +5303 -4606
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +3450 -2572
- package/Libraries/Renderer/shims/ReactFabric.js +2 -2
- package/Libraries/Renderer/shims/ReactFeatureFlags.js +2 -2
- package/Libraries/Renderer/shims/ReactNative.js +2 -3
- package/Libraries/Renderer/shims/ReactNativeTypes.js +24 -3
- package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +2 -2
- package/Libraries/Renderer/shims/createReactNativeComponentClass.js +2 -2
- package/Libraries/Share/Share.d.ts +16 -10
- package/Libraries/Share/Share.js +14 -15
- package/Libraries/StyleSheet/StyleSheet.d.ts +1 -1
- package/Libraries/StyleSheet/StyleSheet.js +3 -10
- package/Libraries/StyleSheet/StyleSheetTypes.d.ts +21 -21
- package/Libraries/StyleSheet/StyleSheetTypes.js +24 -18
- package/Libraries/StyleSheet/flattenStyle.js +1 -0
- package/Libraries/StyleSheet/processFilter.js +132 -0
- package/Libraries/StyleSheet/processTransform.js +18 -3
- package/Libraries/Text/Text.js +151 -128
- package/Libraries/Text/Text.windows.js +144 -128
- package/Libraries/Text/TextNativeComponent.js +5 -4
- package/Libraries/Text/TextProps.js +6 -6
- package/Libraries/Text/TextProps.windows.js +6 -6
- package/Libraries/TurboModule/TurboModuleRegistry.js +2 -1
- package/Libraries/Types/CodegenTypes.js +3 -0
- package/Libraries/Utilities/{LoadingView.android.js → DevLoadingView.js} +33 -11
- package/Libraries/Utilities/Dimensions.js +1 -0
- package/Libraries/Utilities/HMRClient.js +36 -8
- package/Libraries/Utilities/HMRClientProdShim.js +1 -0
- package/Libraries/Utilities/NativePlatformConstantsWin.js +2 -2
- package/Libraries/Utilities/Platform.android.js +4 -4
- package/Libraries/Utilities/RCTLog.js +1 -0
- package/Libraries/Utilities/ReactNativeTestTools.js +12 -24
- package/Libraries/Utilities/verifyComponentAttributeEquivalence.js +11 -6
- package/Libraries/__tests__/ViewWindows-test.js +6 -6
- package/Libraries/promiseRejectionTrackingOptions.js +1 -0
- package/Microsoft.ReactNative/Base/FollyIncludes.h +1 -1
- package/Microsoft.ReactNative/ComponentView.idl +0 -17
- package/Microsoft.ReactNative/Composition.Input.idl +3 -3
- package/Microsoft.ReactNative/CompositionSwitcher.idl +0 -1
- package/Microsoft.ReactNative/Fabric/AbiState.cpp +3 -45
- package/Microsoft.ReactNative/Fabric/AbiState.h +0 -6
- package/Microsoft.ReactNative/Fabric/Composition/ComponentViewRegistry.cpp +0 -3
- package/Microsoft.ReactNative/Fabric/Composition/Composition.Input.cpp +2 -2
- package/Microsoft.ReactNative/Fabric/Composition/Composition.Input.h +4 -4
- package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.cpp +0 -10
- package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.cpp +27 -16
- package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.h +1 -1
- package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +48 -85
- package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.h +0 -4
- package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.cpp +24 -24
- package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.h +6 -8
- package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.cpp +0 -10
- package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.h +0 -3
- package/Microsoft.ReactNative/Fabric/Composition/ReactNativeIsland.cpp +29 -45
- package/Microsoft.ReactNative/Fabric/Composition/ReactNativeIsland.h +1 -3
- package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.cpp +6 -43
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +23 -34
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.cpp +1 -2
- package/Microsoft.ReactNative/Fabric/Composition/UriImageManager.cpp +9 -3
- package/Microsoft.ReactNative/Fabric/Composition/UriImageManager.h +1 -1
- package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +17 -48
- package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.h +3 -7
- package/Microsoft.ReactNative/Fabric/WindowsImageManager.cpp +23 -16
- package/Microsoft.ReactNative/Fabric/WindowsImageManager.h +5 -2
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewEventEmitter.cpp +2 -10
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.cpp +107 -36
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.h +18 -12
- package/Microsoft.ReactNative/Modules/DevSettingsModule.cpp +4 -0
- package/Microsoft.ReactNative/Modules/DevSettingsModule.h +1 -0
- package/Microsoft.ReactNative/Modules/ImageViewManagerModule.cpp +1 -2
- package/Microsoft.ReactNative/Modules/NativeUIManager.cpp +7 -4
- package/Microsoft.ReactNative/Modules/NativeUIManager.h +1 -1
- package/Microsoft.ReactNative/Modules/PlatformConstantsWinModule.cpp +2 -2
- package/Microsoft.ReactNative/Modules/PlatformConstantsWinModule.h +3 -3
- package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +13 -20
- package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.h +1 -1
- package/Microsoft.ReactNative/Timer.idl +1 -3
- package/Microsoft.ReactNative/Utils/BatchingEventEmitter.cpp +1 -1
- package/Microsoft.ReactNative/Utils/LocalBundleReader.cpp +2 -3
- package/Microsoft.ReactNative/Utils/ValueUtils.cpp +1 -1
- package/Microsoft.ReactNative/Views/DynamicAutomationPeer.cpp +2 -2
- package/Microsoft.ReactNative/Views/TextInputViewManager.cpp +1 -1
- package/Microsoft.ReactNative/packages.lock.json +41 -78
- package/Microsoft.ReactNative.Cxx/JSI/LongLivedJsiValue.h +1 -1
- package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems +5 -0
- package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems.filters +1 -0
- package/Microsoft.ReactNative.Cxx/TurboModuleProvider.cpp +14 -6
- package/Microsoft.ReactNative.Cxx/TurboModuleProvider.h +2 -2
- package/Microsoft.ReactNative.Managed/Microsoft.ReactNative.Managed.csproj +1 -1
- package/Microsoft.ReactNative.Managed/packages.lock.json +3 -3
- package/PropertySheets/External/Microsoft.ReactNative.WindowsSdk.Default.props +4 -4
- package/PropertySheets/Generated/PackageVersion.g.props +4 -4
- package/README.md +21 -21
- package/ReactCommon/ReactCommon.vcxproj +2 -0
- package/ReactCommon/ReactCommon.vcxproj.filters +3 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/JSExecutor.cpp +67 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/JSExecutor.h +180 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/NativeToJsBridge.cpp +351 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/jsi/test/testlib.cpp +6 -3
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/Base.h +152 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/Bridging.h +2 -1
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/CallbackWrapper.h +13 -15
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/EventEmitter.h +137 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/Function.h +283 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModule.cpp +7 -10
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModule.h +162 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleUtils.h +2 -4
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/scrollview/ScrollViewProps.cpp +33 -8
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/runtime/JSRuntimeFactory.cpp +45 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/runtime/JSRuntimeFactory.h +67 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/runtime/ReactInstance.cpp +104 -74
- package/Scripts/Tfs/Layout-MSRN-Headers.ps1 +4 -0
- package/Scripts/rnw-dependencies.ps1 +36 -23
- package/Shared/HermesRuntimeHolder.cpp +19 -1
- package/Shared/HermesRuntimeHolder.h +8 -1
- package/Shared/HermesSamplingProfiler.cpp +1 -2
- package/Shared/Networking/WinRTWebSocketResource.cpp +3 -3
- package/Shared/OInstance.cpp +1 -2
- package/Shared/Shared.vcxitems +21 -15
- package/Shared/Shared.vcxitems.filters +8 -3
- package/Shared/Threading/BatchingQueueThread.cpp +6 -2
- package/Shared/Threading/BatchingQueueThread.h +2 -2
- package/Shared/Utils/CppWinrtLessExceptions.h +2 -2
- package/codegen/NativeAppStateSpec.g.h +8 -8
- package/codegen/NativeBlobModuleSpec.g.h +0 -10
- package/codegen/NativeDOMSpec.g.h +136 -0
- package/codegen/NativeDevSettingsSpec.g.h +11 -5
- package/codegen/NativeIdleCallbacksSpec.g.h +64 -0
- package/codegen/NativeIntersectionObserverSpec.g.h +14 -14
- package/codegen/NativeMicrotasksSpec.g.h +34 -0
- package/codegen/NativePerformanceSpec.g.h +35 -7
- package/codegen/NativePlatformConstantsWindowsSpec.g.h +81 -0
- package/codegen/NativePushNotificationManagerIOSSpec.g.h +15 -19
- package/codegen/NativeReactNativeFeatureFlagsSpec.g.h +111 -39
- package/codegen/NativeUIManagerSpec.g.h +5 -17
- package/codegen/react/components/rnwcore/Props.cpp +1 -1
- package/codegen/react/components/rnwcore/Props.h +16 -12
- package/codegen/react/components/rnwcore/States.h +0 -26
- package/codegen/rnwcoreJSI-generated.cpp +688 -463
- package/codegen/rnwcoreJSI.h +1374 -2867
- package/fmt/TEMP_UntilFmtUpdate/core.h +2925 -0
- package/fmt/fmt.vcxproj +1 -1
- package/jest/mockComponent.js +7 -0
- package/jest/renderer.js +25 -14
- package/jest/setup.js +19 -13
- package/package.json +29 -27
- package/rn-get-polyfills.js +1 -0
- package/src/private/core/composeStyles.js +27 -0
- package/src/private/featureflags/ReactNativeFeatureFlags.js +93 -33
- package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +23 -4
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +56 -0
- package/src/private/fusebox/setUpFuseboxReactDevToolsDispatcher.js +108 -0
- package/src/private/specs/modules/NativeBlobModule.js +4 -2
- package/src/private/specs/modules/NativeDevSettings.js +1 -0
- package/src/private/specs/modules/NativePushNotificationManagerIOS.js +0 -4
- package/src/private/specs/modules/NativeUIManager.js +0 -7
- package/src/private/webapis/dom/geometry/DOMRectReadOnly.js +24 -24
- package/src/private/webapis/dom/nodes/ReactNativeElement.js +11 -14
- package/src/private/webapis/dom/nodes/ReadOnlyCharacterData.js +2 -3
- package/src/private/webapis/dom/nodes/ReadOnlyElement.js +24 -54
- package/src/private/webapis/dom/nodes/ReadOnlyNode.js +5 -13
- package/src/private/webapis/dom/nodes/specs/NativeDOM.js +468 -0
- package/src/private/webapis/dom/nodes/specs/__mocks__/NativeDOMMock.js +413 -0
- package/src/private/webapis/dom/oldstylecollections/DOMRectList.js +4 -4
- package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +4 -4
- package/src/private/webapis/dom/oldstylecollections/NodeList.js +5 -5
- package/src/private/webapis/idlecallbacks/specs/NativeIdleCallbacks.js +34 -0
- package/src/private/webapis/microtasks/specs/NativeMicrotasks.js +21 -0
- package/src/private/webapis/performance/EventCounts.js +1 -1
- package/src/private/webapis/performance/MemoryInfo.js +9 -9
- package/src/private/webapis/performance/Performance.js +10 -56
- package/src/private/webapis/performance/PerformanceObserver.js +30 -22
- package/src/private/webapis/performance/RawPerformanceEntry.js +2 -7
- package/src/private/webapis/performance/ReactNativeStartupTiming.js +18 -18
- package/src/private/webapis/performance/UserTiming.js +63 -0
- package/src/private/webapis/performance/{NativePerformance.js → specs/NativePerformance.js} +3 -2
- package/src/private/webapis/performance/{NativePerformanceObserver.js → specs/NativePerformanceObserver.js} +2 -2
- package/src/private/webapis/performance/{__mocks__ → specs/__mocks__}/NativePerformance.js +1 -1
- package/src/private/webapis/performance/{__mocks__ → specs/__mocks__}/NativePerformanceObserver.js +3 -4
- package/stubs/glog/logging.h +1 -0
- package/template/cpp-lib/proj/MyLib.vcxproj +1 -1
- package/template/cs-lib/proj/MyLib.csproj +1 -1
- package/template/metro.config.js +13 -2
- package/templates/cpp-app/template.config.js +1 -1
- package/templates/cpp-lib/example/metro.config.js +2 -2
- package/templates/cpp-lib/template.config.js +1 -1
- package/templates/old/generateWrapper.js +4 -1
- package/types/modules/globals.d.ts +4 -0
- package/Libraries/Lists/FlatList.windows.js +0 -717
- package/Libraries/NativeModules/specs/NativeAnimationsDebugModule.js +0 -13
- package/Libraries/Utilities/LoadingView.ios.js +0 -50
- package/Libraries/Utilities/LoadingView.js +0 -16
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleBinding.cpp +0 -178
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/utils/jsi-utils.cpp +0 -39
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/utils/jsi-utils.h +0 -31
- package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/YGEnums.h +0 -137
- package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/algorithm/CalculateLayout.cpp +0 -2377
- package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/config/Config.cpp +0 -140
- package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/config/Config.h +0 -92
- package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/enums/ExperimentalFeature.h +0 -40
- package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/node/LayoutResults.cpp +0 -48
- package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/node/LayoutResults.h +0 -122
- package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/node/Node.cpp +0 -366
- package/codegen/NativeAnimationsDebugModuleSpec.g.h +0 -40
- package/codegen/NativePlatformConstantsWinSpec.g.h +0 -81
- package/jest/ReactNativeInternalFeatureFlagsMock.js +0 -13
- package/src/private/featureflags/NativeReactNativeFeatureFlags.js +0 -44
- package/src/private/featureflags/__tests__/ReactNativeFeatureFlags-test.js +0 -92
- package/src/private/specs/modules/NativeAnimationsDebugModule.js +0 -20
- package/src/private/webapis/dom/oldstylecollections/__tests__/DOMRectList-test.js +0 -85
- package/src/private/webapis/dom/oldstylecollections/__tests__/HTMLCollection-test.js +0 -80
- package/src/private/webapis/dom/oldstylecollections/__tests__/NodeList-test.js +0 -161
- package/src/private/webapis/performance/__tests__/EventCounts-test.js +0 -116
- package/src/private/webapis/performance/__tests__/NativePerformanceMock-test.js +0 -82
- package/src/private/webapis/performance/__tests__/NativePerformanceObserverMock-test.js +0 -108
- package/src/private/webapis/performance/__tests__/Performance-test.js +0 -117
- package/src/private/webapis/performance/__tests__/PerformanceObserver-test.js +0 -208
- package/template/metro.devMode.config.js +0 -56
- /package/src/private/specs/modules/{NativePlatformConstantsWin.js → NativePlatformConstantsWindows.js} +0 -0
package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.cpp
CHANGED
|
@@ -17,14 +17,11 @@
|
|
|
17
17
|
namespace facebook::react {
|
|
18
18
|
|
|
19
19
|
void TextLayoutManager::GetTextLayout(
|
|
20
|
-
|
|
21
|
-
ParagraphAttributes paragraphAttributes,
|
|
22
|
-
|
|
20
|
+
const AttributedString &attributedString,
|
|
21
|
+
const ParagraphAttributes ¶graphAttributes,
|
|
22
|
+
Size size,
|
|
23
23
|
winrt::com_ptr<IDWriteTextLayout> &spTextLayout) noexcept {
|
|
24
|
-
|
|
25
|
-
return;
|
|
26
|
-
|
|
27
|
-
auto fragments = attributedStringBox.getValue().getFragments();
|
|
24
|
+
auto fragments = attributedString.getFragments();
|
|
28
25
|
auto outerFragment = fragments[0];
|
|
29
26
|
|
|
30
27
|
DWRITE_FONT_STYLE style = DWRITE_FONT_STYLE_NORMAL;
|
|
@@ -86,14 +83,14 @@ void TextLayoutManager::GetTextLayout(
|
|
|
86
83
|
}
|
|
87
84
|
winrt::check_hresult(spTextFormat->SetTextAlignment(alignment));
|
|
88
85
|
|
|
89
|
-
auto str = GetTransformedText(
|
|
86
|
+
auto str = GetTransformedText(attributedString);
|
|
90
87
|
|
|
91
88
|
winrt::check_hresult(Microsoft::ReactNative::DWriteFactory()->CreateTextLayout(
|
|
92
89
|
str.c_str(), // The string to be laid out and formatted.
|
|
93
90
|
static_cast<UINT32>(str.size()), // The length of the string.
|
|
94
91
|
spTextFormat.get(), // The text format to apply to the string (contains font information, etc).
|
|
95
|
-
|
|
96
|
-
|
|
92
|
+
size.width, // The width of the layout box.
|
|
93
|
+
size.height, // The height of the layout box.
|
|
97
94
|
spTextLayout.put() // The IDWriteTextLayout interface pointer.
|
|
98
95
|
));
|
|
99
96
|
|
|
@@ -129,12 +126,22 @@ void TextLayoutManager::GetTextLayout(
|
|
|
129
126
|
}
|
|
130
127
|
}
|
|
131
128
|
|
|
129
|
+
void TextLayoutManager::GetTextLayout(
|
|
130
|
+
const AttributedStringBox &attributedStringBox,
|
|
131
|
+
const ParagraphAttributes ¶graphAttributes,
|
|
132
|
+
LayoutConstraints layoutConstraints,
|
|
133
|
+
winrt::com_ptr<IDWriteTextLayout> &spTextLayout) noexcept {
|
|
134
|
+
if (attributedStringBox.getValue().isEmpty())
|
|
135
|
+
return;
|
|
136
|
+
|
|
137
|
+
GetTextLayout(attributedStringBox.getValue(), paragraphAttributes, layoutConstraints.maximumSize, spTextLayout);
|
|
138
|
+
}
|
|
139
|
+
|
|
132
140
|
TextMeasurement TextLayoutManager::measure(
|
|
133
|
-
AttributedStringBox attributedStringBox,
|
|
134
|
-
ParagraphAttributes paragraphAttributes,
|
|
141
|
+
const AttributedStringBox &attributedStringBox,
|
|
142
|
+
const ParagraphAttributes ¶graphAttributes,
|
|
135
143
|
const TextLayoutContext &layoutContext,
|
|
136
|
-
LayoutConstraints layoutConstraints
|
|
137
|
-
std::shared_ptr<void> /* hostTextStorage */) const {
|
|
144
|
+
LayoutConstraints layoutConstraints) const {
|
|
138
145
|
TextMeasurement measurement{};
|
|
139
146
|
auto &attributedString = attributedStringBox.getValue();
|
|
140
147
|
measurement = m_measureCache.get(
|
|
@@ -185,31 +192,12 @@ TextMeasurement TextLayoutManager::measure(
|
|
|
185
192
|
*/
|
|
186
193
|
TextMeasurement TextLayoutManager::measureCachedSpannableById(
|
|
187
194
|
int64_t cacheId,
|
|
188
|
-
ParagraphAttributes
|
|
195
|
+
const ParagraphAttributes ¶graphAttributes,
|
|
189
196
|
LayoutConstraints layoutConstraints) const {
|
|
190
197
|
assert(false);
|
|
191
198
|
return {};
|
|
192
199
|
}
|
|
193
200
|
|
|
194
|
-
LinesMeasurements TextLayoutManager::measureLines(
|
|
195
|
-
AttributedString attributedString,
|
|
196
|
-
ParagraphAttributes paragraphAttributes,
|
|
197
|
-
Size size) const {
|
|
198
|
-
assert(false);
|
|
199
|
-
return {};
|
|
200
|
-
}
|
|
201
|
-
|
|
202
|
-
std::shared_ptr<void> TextLayoutManager::getHostTextStorage(
|
|
203
|
-
AttributedString attributedString,
|
|
204
|
-
ParagraphAttributes paragraphAttributes,
|
|
205
|
-
LayoutConstraints layoutConstraints) const {
|
|
206
|
-
return nullptr;
|
|
207
|
-
}
|
|
208
|
-
|
|
209
|
-
void *TextLayoutManager::getNativeTextLayoutManager() const {
|
|
210
|
-
return (void *)this;
|
|
211
|
-
}
|
|
212
|
-
|
|
213
201
|
Microsoft::ReactNative::TextTransform ConvertTextTransform(std::optional<TextTransform> const &transform) {
|
|
214
202
|
if (transform) {
|
|
215
203
|
switch (transform.value()) {
|
|
@@ -229,9 +217,92 @@ Microsoft::ReactNative::TextTransform ConvertTextTransform(std::optional<TextTra
|
|
|
229
217
|
return Microsoft::ReactNative::TextTransform::Undefined;
|
|
230
218
|
}
|
|
231
219
|
|
|
232
|
-
|
|
220
|
+
LinesMeasurements TextLayoutManager::measureLines(
|
|
221
|
+
const AttributedString &attributedString,
|
|
222
|
+
const ParagraphAttributes ¶graphAttributes,
|
|
223
|
+
Size size) const {
|
|
224
|
+
LinesMeasurements lineMeasurements{};
|
|
225
|
+
|
|
226
|
+
winrt::com_ptr<IDWriteTextLayout> spTextLayout;
|
|
227
|
+
|
|
228
|
+
GetTextLayout(attributedString, paragraphAttributes, size, spTextLayout);
|
|
229
|
+
|
|
230
|
+
if (spTextLayout) {
|
|
231
|
+
std::vector<DWRITE_LINE_METRICS> lineMetrics;
|
|
232
|
+
uint32_t actualLineCount;
|
|
233
|
+
spTextLayout->GetLineMetrics(nullptr, 0, &actualLineCount);
|
|
234
|
+
lineMetrics.resize(static_cast<size_t>(actualLineCount));
|
|
235
|
+
winrt::check_hresult(spTextLayout->GetLineMetrics(lineMetrics.data(), actualLineCount, &actualLineCount));
|
|
236
|
+
uint32_t startRange = 0;
|
|
237
|
+
const auto count = (paragraphAttributes.maximumNumberOfLines > 0)
|
|
238
|
+
? std::min(static_cast<uint32_t>(paragraphAttributes.maximumNumberOfLines), actualLineCount)
|
|
239
|
+
: actualLineCount;
|
|
240
|
+
for (uint32_t i = 0; i < count; ++i) {
|
|
241
|
+
UINT32 actualHitTestCount = 0;
|
|
242
|
+
spTextLayout->HitTestTextRange(
|
|
243
|
+
startRange,
|
|
244
|
+
lineMetrics[i].length,
|
|
245
|
+
0, // x
|
|
246
|
+
0, // y
|
|
247
|
+
NULL,
|
|
248
|
+
0, // metrics count
|
|
249
|
+
&actualHitTestCount);
|
|
250
|
+
|
|
251
|
+
// Allocate enough room to return all hit-test metrics.
|
|
252
|
+
std::vector<DWRITE_HIT_TEST_METRICS> hitTestMetrics(actualHitTestCount);
|
|
253
|
+
spTextLayout->HitTestTextRange(
|
|
254
|
+
startRange,
|
|
255
|
+
lineMetrics[i].length,
|
|
256
|
+
0, // x
|
|
257
|
+
0, // y
|
|
258
|
+
&hitTestMetrics[0],
|
|
259
|
+
static_cast<UINT32>(hitTestMetrics.size()),
|
|
260
|
+
&actualHitTestCount);
|
|
261
|
+
|
|
262
|
+
float width = 0;
|
|
263
|
+
for (auto tm : hitTestMetrics) {
|
|
264
|
+
width += tm.width;
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
std::string str;
|
|
268
|
+
for (const auto &fragment : attributedString.getFragments()) {
|
|
269
|
+
str = str +
|
|
270
|
+
winrt::to_string(Microsoft::ReactNative::TransformableText::TransformText(
|
|
271
|
+
winrt::hstring{Microsoft::Common::Unicode::Utf8ToUtf16(fragment.string)},
|
|
272
|
+
ConvertTextTransform(fragment.textAttributes.textTransform)));
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
lineMeasurements.emplace_back(LineMeasurement(
|
|
276
|
+
str.substr(startRange, lineMetrics[i].length),
|
|
277
|
+
{{hitTestMetrics[0].left, hitTestMetrics[0].top}, // origin
|
|
278
|
+
{width, lineMetrics[i].height}},
|
|
279
|
+
0.0f, // TODO descender
|
|
280
|
+
0.0f, // TODO: capHeight
|
|
281
|
+
0.0f, // TODO ascender
|
|
282
|
+
0.0f // TODO: xHeight
|
|
283
|
+
));
|
|
284
|
+
|
|
285
|
+
startRange += lineMetrics[i].length;
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
return lineMeasurements;
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
std::shared_ptr<void> TextLayoutManager::getHostTextStorage(
|
|
293
|
+
const AttributedString &attributedString,
|
|
294
|
+
const ParagraphAttributes ¶graphAttributes,
|
|
295
|
+
LayoutConstraints layoutConstraints) const {
|
|
296
|
+
return nullptr;
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
void *TextLayoutManager::getNativeTextLayoutManager() const {
|
|
300
|
+
return (void *)this;
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
winrt::hstring TextLayoutManager::GetTransformedText(const AttributedString &attributedString) {
|
|
233
304
|
winrt::hstring result{};
|
|
234
|
-
for (const auto &fragment :
|
|
305
|
+
for (const auto &fragment : attributedString.getFragments()) {
|
|
235
306
|
result = result +
|
|
236
307
|
Microsoft::ReactNative::TransformableText::TransformText(
|
|
237
308
|
winrt::hstring{Microsoft::Common::Unicode::Utf8ToUtf16(fragment.string)},
|
package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.h
CHANGED
|
@@ -35,22 +35,23 @@ class TextLayoutManager {
|
|
|
35
35
|
* Measures `attributedStringBox` using native text rendering infrastructure.
|
|
36
36
|
*/
|
|
37
37
|
TextMeasurement measure(
|
|
38
|
-
AttributedStringBox attributedStringBox,
|
|
39
|
-
ParagraphAttributes paragraphAttributes,
|
|
38
|
+
const AttributedStringBox &attributedStringBox,
|
|
39
|
+
const ParagraphAttributes ¶graphAttributes,
|
|
40
40
|
const TextLayoutContext &layoutContext,
|
|
41
|
-
LayoutConstraints layoutConstraints
|
|
42
|
-
std::shared_ptr<void> /* hostTextStorage */) const;
|
|
41
|
+
LayoutConstraints layoutConstraints) const;
|
|
43
42
|
|
|
44
43
|
/*
|
|
45
44
|
* Measures lines of `attributedString` using native text rendering
|
|
46
45
|
* infrastructure.
|
|
47
46
|
*/
|
|
48
|
-
LinesMeasurements measureLines(
|
|
49
|
-
const
|
|
47
|
+
LinesMeasurements measureLines(
|
|
48
|
+
const AttributedString &attributedString,
|
|
49
|
+
const ParagraphAttributes ¶graphAttributes,
|
|
50
|
+
Size size) const;
|
|
50
51
|
|
|
51
52
|
std::shared_ptr<void> getHostTextStorage(
|
|
52
|
-
AttributedString attributedString,
|
|
53
|
-
ParagraphAttributes paragraphAttributes,
|
|
53
|
+
const AttributedString &attributedString,
|
|
54
|
+
const ParagraphAttributes ¶graphAttributes,
|
|
54
55
|
LayoutConstraints layoutConstraints) const;
|
|
55
56
|
|
|
56
57
|
/**
|
|
@@ -59,7 +60,7 @@ class TextLayoutManager {
|
|
|
59
60
|
*/
|
|
60
61
|
TextMeasurement measureCachedSpannableById(
|
|
61
62
|
int64_t cacheId,
|
|
62
|
-
ParagraphAttributes
|
|
63
|
+
const ParagraphAttributes ¶graphAttributes,
|
|
63
64
|
LayoutConstraints layoutConstraints) const;
|
|
64
65
|
|
|
65
66
|
/*
|
|
@@ -69,15 +70,20 @@ class TextLayoutManager {
|
|
|
69
70
|
void *getNativeTextLayoutManager() const;
|
|
70
71
|
|
|
71
72
|
static void GetTextLayout(
|
|
72
|
-
AttributedStringBox attributedStringBox,
|
|
73
|
-
ParagraphAttributes paragraphAttributes,
|
|
73
|
+
const AttributedStringBox &attributedStringBox,
|
|
74
|
+
const ParagraphAttributes ¶graphAttributes,
|
|
74
75
|
LayoutConstraints layoutConstraints,
|
|
75
76
|
winrt::com_ptr<IDWriteTextLayout> &spTextLayout) noexcept;
|
|
76
77
|
|
|
77
78
|
#pragma endregion
|
|
78
79
|
|
|
79
80
|
private:
|
|
80
|
-
static winrt::hstring GetTransformedText(
|
|
81
|
+
static winrt::hstring GetTransformedText(const AttributedString &attributedString);
|
|
82
|
+
static void GetTextLayout(
|
|
83
|
+
const AttributedString &attributedString,
|
|
84
|
+
const ParagraphAttributes ¶graphAttributes,
|
|
85
|
+
Size size,
|
|
86
|
+
winrt::com_ptr<IDWriteTextLayout> &spTextLayout) noexcept;
|
|
81
87
|
|
|
82
88
|
ContextContainer::Shared m_contextContainer;
|
|
83
89
|
#pragma warning(push)
|
|
@@ -50,6 +50,10 @@ void DevSettings::toggleElementInspector() noexcept {
|
|
|
50
50
|
"RCTDeviceEventEmitter", "emit", folly::dynamic::array("toggleElementInspector", nullptr));
|
|
51
51
|
}
|
|
52
52
|
|
|
53
|
+
void DevSettings::openDebugger() noexcept {
|
|
54
|
+
assert(false);
|
|
55
|
+
}
|
|
56
|
+
|
|
53
57
|
void DevSettings::addMenuItem(std::string title) noexcept {
|
|
54
58
|
assert(false);
|
|
55
59
|
}
|
|
@@ -24,6 +24,7 @@ struct DevSettings {
|
|
|
24
24
|
REACT_METHOD(setIsDebuggingRemotely) void setIsDebuggingRemotely(bool isDebuggingRemotelyEnabled) noexcept;
|
|
25
25
|
REACT_METHOD(setProfilingEnabled) void setProfilingEnabled(bool isProfilingEnabled) noexcept;
|
|
26
26
|
REACT_METHOD(toggleElementInspector) void toggleElementInspector() noexcept;
|
|
27
|
+
REACT_METHOD(openDebugger) void openDebugger() noexcept;
|
|
27
28
|
REACT_METHOD(addMenuItem) void addMenuItem(std::string title) noexcept;
|
|
28
29
|
REACT_METHOD(setIsShakeToShowDevMenuEnabled) void setIsShakeToShowDevMenuEnabled(bool enabled) noexcept;
|
|
29
30
|
|
|
@@ -78,8 +78,7 @@ winrt::fire_and_forget GetImageSizeAsync(
|
|
|
78
78
|
#ifdef USE_FABRIC
|
|
79
79
|
} else {
|
|
80
80
|
auto result = wicBitmapSourceFromStream(memoryStream);
|
|
81
|
-
|
|
82
|
-
if (errorInfo.empty()) {
|
|
81
|
+
if (!std::get<std::shared_ptr<facebook::react::ImageErrorInfo>>(result)) {
|
|
83
82
|
auto imagingFactory = std::get<winrt::com_ptr<IWICImagingFactory>>(result);
|
|
84
83
|
auto wicBmpSource = std::get<winrt::com_ptr<IWICBitmapSource>>(result);
|
|
85
84
|
UINT width, height;
|
|
@@ -234,15 +234,18 @@ void NativeUIManager::AddRootView(ShadowNode &shadowNode, facebook::react::IReac
|
|
|
234
234
|
Microsoft::ReactNative::SetTag(element, rootTag);
|
|
235
235
|
|
|
236
236
|
// Add listener to size change so we can redo the layout when that happens
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
237
|
+
m_sizeChangedMap.insert(
|
|
238
|
+
{rootTag,
|
|
239
|
+
view.as<xaml::FrameworkElement>().SizeChanged(
|
|
240
|
+
winrt::auto_revoke, [this, rootTag](auto &&, xaml::SizeChangedEventArgs const &args) {
|
|
241
|
+
ApplyLayout(rootTag, args.NewSize().Width, args.NewSize().Height);
|
|
242
|
+
})});
|
|
241
243
|
}
|
|
242
244
|
|
|
243
245
|
void NativeUIManager::removeRootView(Microsoft::ReactNative::ShadowNode &shadow) {
|
|
244
246
|
SystraceSection s("NativeUIManager::removeRootView");
|
|
245
247
|
m_tagsToXamlReactControl.erase(shadow.m_tag);
|
|
248
|
+
m_sizeChangedMap.erase(shadow.m_tag);
|
|
246
249
|
RemoveView(shadow, true);
|
|
247
250
|
}
|
|
248
251
|
|
|
@@ -118,7 +118,7 @@ class NativeUIManager final : public INativeUIManager {
|
|
|
118
118
|
|
|
119
119
|
std::unordered_map<int64_t, YogaNodePtr> m_tagsToYogaNodes;
|
|
120
120
|
std::unordered_map<int64_t, std::unique_ptr<YogaContext>> m_tagsToYogaContext;
|
|
121
|
-
std::
|
|
121
|
+
std::unordered_map<int64_t, xaml::FrameworkElement::SizeChanged_revoker> m_sizeChangedMap;
|
|
122
122
|
std::vector<std::function<void()>> m_batchCompletedCallbacks;
|
|
123
123
|
std::vector<int64_t> m_extraLayoutNodes;
|
|
124
124
|
|
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
|
|
11
11
|
namespace Microsoft::ReactNative {
|
|
12
12
|
|
|
13
|
-
ReactNativeSpecs::
|
|
14
|
-
ReactNativeSpecs::
|
|
13
|
+
ReactNativeSpecs::PlatformConstantsWindowsSpec_PlatformConstantsWindows PlatformConstants::GetConstants() noexcept {
|
|
14
|
+
ReactNativeSpecs::PlatformConstantsWindowsSpec_PlatformConstantsWindows constants;
|
|
15
15
|
|
|
16
16
|
// We don't currently treat Native code differently in a test environment
|
|
17
17
|
constants.isTesting = false;
|
|
@@ -2,17 +2,17 @@
|
|
|
2
2
|
// Licensed under the MIT License.
|
|
3
3
|
#pragma once
|
|
4
4
|
|
|
5
|
-
#include "codegen/
|
|
5
|
+
#include "codegen/NativePlatformConstantsWindowsSpec.g.h"
|
|
6
6
|
#include <NativeModules.h>
|
|
7
7
|
|
|
8
8
|
namespace Microsoft::ReactNative {
|
|
9
9
|
|
|
10
10
|
REACT_MODULE(PlatformConstants)
|
|
11
11
|
struct PlatformConstants {
|
|
12
|
-
using ModuleSpec = ReactNativeSpecs::
|
|
12
|
+
using ModuleSpec = ReactNativeSpecs::PlatformConstantsWindowsSpec;
|
|
13
13
|
|
|
14
14
|
REACT_GET_CONSTANTS(GetConstants)
|
|
15
|
-
ReactNativeSpecs::
|
|
15
|
+
ReactNativeSpecs::PlatformConstantsWindowsSpec_PlatformConstantsWindows GetConstants() noexcept;
|
|
16
16
|
};
|
|
17
17
|
|
|
18
18
|
} // namespace Microsoft::ReactNative
|
|
@@ -337,7 +337,7 @@ void ReactInstanceWin::LoadModules(
|
|
|
337
337
|
};
|
|
338
338
|
|
|
339
339
|
#ifdef USE_FABRIC
|
|
340
|
-
if (
|
|
340
|
+
if (!m_options.UseWebDebugger()) {
|
|
341
341
|
registerTurboModule(
|
|
342
342
|
L"FabricUIManagerBinding",
|
|
343
343
|
winrt::Microsoft::ReactNative::MakeModuleProvider<::Microsoft::ReactNative::FabricUIManager>());
|
|
@@ -602,15 +602,14 @@ void ReactInstanceWin::InitializeBridgeless() noexcept {
|
|
|
602
602
|
|
|
603
603
|
m_jsMessageThread.Load()->runOnQueueSync([&]() {
|
|
604
604
|
::SetThreadDescription(GetCurrentThread(), L"React-Native JavaScript Thread");
|
|
605
|
-
auto timerRegistry =
|
|
606
|
-
::Microsoft::ReactNative::TimerRegistry::CreateTimerRegistry(m_reactContext->Properties());
|
|
605
|
+
auto timerRegistry = ::Microsoft::ReactNative::TimerRegistry::CreateTimerRegistry(m_options.Properties);
|
|
607
606
|
auto timerRegistryRaw = timerRegistry.get();
|
|
608
607
|
|
|
609
608
|
auto timerManager = std::make_shared<facebook::react::TimerManager>(std::move(timerRegistry));
|
|
610
609
|
timerRegistryRaw->setTimerManager(timerManager);
|
|
611
610
|
|
|
612
|
-
auto jsErrorHandlingFunc = [this](facebook::react::
|
|
613
|
-
OnJSError(std::move(
|
|
611
|
+
auto jsErrorHandlingFunc = [this](const facebook::react::JsErrorHandler::ParsedError &error) noexcept {
|
|
612
|
+
OnJSError(std::move(error));
|
|
614
613
|
};
|
|
615
614
|
|
|
616
615
|
if (devSettings->useDirectDebugger) {
|
|
@@ -1240,24 +1239,18 @@ void ReactInstanceWin::OnError(const Mso::ErrorCode &errorCode) noexcept {
|
|
|
1240
1239
|
}
|
|
1241
1240
|
|
|
1242
1241
|
#ifdef USE_FABRIC
|
|
1243
|
-
void ReactInstanceWin::OnJSError(facebook::react::
|
|
1242
|
+
void ReactInstanceWin::OnJSError(const facebook::react::JsErrorHandler::ParsedError &error) noexcept {
|
|
1244
1243
|
ErrorInfo errorInfo;
|
|
1245
|
-
errorInfo.Message =
|
|
1244
|
+
errorInfo.Message = error.message;
|
|
1246
1245
|
auto errorCode = Mso::React::ReactErrorProvider().MakeErrorCode(Mso::React::ReactError{errorInfo.Message.c_str()});
|
|
1247
1246
|
|
|
1248
|
-
|
|
1249
|
-
|
|
1250
|
-
for (const facebook::react::MapBuffer &mapBuffer : frames) {
|
|
1251
|
-
errorInfo.Callstack.push_back(
|
|
1252
|
-
{mapBuffer.getString(facebook::react::JSErrorHandlerKey::kFrameFileName),
|
|
1253
|
-
mapBuffer.getString(facebook::react::JSErrorHandlerKey::kFrameMethodName),
|
|
1254
|
-
mapBuffer.getInt(facebook::react::JSErrorHandlerKey::kFrameLineNumber),
|
|
1255
|
-
mapBuffer.getInt(facebook::react::JSErrorHandlerKey::kFrameColumnNumber)});
|
|
1247
|
+
for (const facebook::react::JsErrorHandler::ParsedError::StackFrame &frame : error.frames) {
|
|
1248
|
+
errorInfo.Callstack.push_back({frame.fileName, frame.methodName, frame.lineNumber, frame.columnNumber});
|
|
1256
1249
|
}
|
|
1257
|
-
errorInfo.Id = errorMap.getInt(facebook::react::JSErrorHandlerKey::kExceptionId);
|
|
1258
|
-
errorInfo.Id = errorMap.getInt(facebook::react::JSErrorHandlerKey::kExceptionId);
|
|
1259
1250
|
|
|
1260
|
-
|
|
1251
|
+
errorInfo.Id = error.exceptionId;
|
|
1252
|
+
|
|
1253
|
+
bool isFatal = error.isFatal;
|
|
1261
1254
|
|
|
1262
1255
|
m_state = ReactInstanceState::HasError;
|
|
1263
1256
|
AbandonJSCallQueue();
|
|
@@ -1326,7 +1319,7 @@ void ReactInstanceWin::DrainJSCallQueue() noexcept {
|
|
|
1326
1319
|
|
|
1327
1320
|
#ifdef USE_FABRIC
|
|
1328
1321
|
if (m_bridgelessReactInstance) {
|
|
1329
|
-
m_bridgelessReactInstance->callFunctionOnModule(entry.ModuleName, entry.MethodName, entry.Args);
|
|
1322
|
+
m_bridgelessReactInstance->callFunctionOnModule(entry.ModuleName, entry.MethodName, std::move(entry.Args));
|
|
1330
1323
|
} else
|
|
1331
1324
|
#endif
|
|
1332
1325
|
if (auto instance = m_instance.LoadWithLock()) {
|
|
@@ -1365,7 +1358,7 @@ void ReactInstanceWin::CallJsFunction(
|
|
|
1365
1358
|
if (shouldCall) {
|
|
1366
1359
|
#ifdef USE_FABRIC
|
|
1367
1360
|
if (m_bridgelessReactInstance) {
|
|
1368
|
-
m_bridgelessReactInstance->callFunctionOnModule(moduleName, method, params);
|
|
1361
|
+
m_bridgelessReactInstance->callFunctionOnModule(moduleName, method, std::move(params));
|
|
1369
1362
|
} else
|
|
1370
1363
|
#endif
|
|
1371
1364
|
if (auto instance = m_instance.LoadWithLock()) {
|
|
@@ -141,7 +141,7 @@ class ReactInstanceWin final : public Mso::ActiveObject<IReactInstanceInternal>
|
|
|
141
141
|
void OnError(const Mso::ErrorCode &errorcode) noexcept;
|
|
142
142
|
void OnErrorWithMessage(const std::string &errorMessage) noexcept;
|
|
143
143
|
#ifdef USE_FABRIC
|
|
144
|
-
void OnJSError(facebook::react::
|
|
144
|
+
void OnJSError(const facebook::react::JsErrorHandler::ParsedError &error) noexcept;
|
|
145
145
|
#endif
|
|
146
146
|
void OnLiveReload() noexcept;
|
|
147
147
|
void OnWaitingForDebugger() noexcept;
|
|
@@ -147,7 +147,7 @@ void BatchingEventEmitter::OnFrameUI() noexcept {
|
|
|
147
147
|
});
|
|
148
148
|
|
|
149
149
|
// Don't leave the callback continuously registered as it can waste power.
|
|
150
|
-
// See https://docs.microsoft.com/en-us/uwp/api/windows.ui.xaml.media.compositiontarget.rendering?view=winrt-
|
|
150
|
+
// See https://docs.microsoft.com/en-us/uwp/api/windows.ui.xaml.media.compositiontarget.rendering?view=winrt-22621
|
|
151
151
|
m_renderingRevoker.revoke();
|
|
152
152
|
}
|
|
153
153
|
|
|
@@ -59,11 +59,10 @@ std::future<std::string> LocalBundleReader::LoadBundleAsync(const std::wstring b
|
|
|
59
59
|
winrt::Windows::Storage::StorageFile file{nullptr};
|
|
60
60
|
|
|
61
61
|
// Supports "ms-appx://" or "ms-appdata://"
|
|
62
|
-
|
|
63
|
-
if (bundleUri._Starts_with(L"ms-app")) {
|
|
62
|
+
if (bundleUri.starts_with(L"ms-app")) {
|
|
64
63
|
winrt::Windows::Foundation::Uri uri(bundleUri);
|
|
65
64
|
file = co_await winrt::Windows::Storage::StorageFile::GetFileFromApplicationUriAsync(uri);
|
|
66
|
-
} else if (bundleUri.
|
|
65
|
+
} else if (bundleUri.starts_with(L"resource://")) {
|
|
67
66
|
winrt::Windows::Foundation::Uri uri(bundleUri);
|
|
68
67
|
co_return GetBundleFromEmbeddedResource(uri);
|
|
69
68
|
} else {
|
|
@@ -200,7 +200,7 @@ REACTWINDOWS_API_(winrt::Color) ColorFrom(const folly::dynamic &d) {
|
|
|
200
200
|
return ColorFromNumber(static_cast<UINT>(d.asInt()));
|
|
201
201
|
}
|
|
202
202
|
|
|
203
|
-
winrt::Color ColorFrom(const winrt::Microsoft::ReactNative::JSValue &v) {
|
|
203
|
+
REACTWINDOWS_API_(winrt::Color) ColorFrom(const winrt::Microsoft::ReactNative::JSValue &v) {
|
|
204
204
|
if (v.Type() != winrt::Microsoft::ReactNative::JSValueType::Int64 &&
|
|
205
205
|
v.Type() != winrt::Microsoft::ReactNative::JSValueType::Double)
|
|
206
206
|
return winrt::Colors::Transparent();
|
|
@@ -445,14 +445,14 @@ void DynamicAutomationPeer::SetValue(double value) {
|
|
|
445
445
|
|
|
446
446
|
// Doesn't have a React Native analog.
|
|
447
447
|
// Return default value for XAML Slider.
|
|
448
|
-
// https://docs.microsoft.com/en-us/uwp/api/windows.ui.xaml.controls.primitives.rangebase.smallchange?view=winrt-
|
|
448
|
+
// https://docs.microsoft.com/en-us/uwp/api/windows.ui.xaml.controls.primitives.rangebase.smallchange?view=winrt-22621
|
|
449
449
|
double DynamicAutomationPeer::SmallChange() {
|
|
450
450
|
return 1;
|
|
451
451
|
}
|
|
452
452
|
|
|
453
453
|
// Doesn't have a React Native analog.
|
|
454
454
|
// Return default value for XAML Slider.
|
|
455
|
-
// https://docs.microsoft.com/en-us/uwp/api/windows.ui.xaml.controls.primitives.rangebase.largechange?view=winrt-
|
|
455
|
+
// https://docs.microsoft.com/en-us/uwp/api/windows.ui.xaml.controls.primitives.rangebase.largechange?view=winrt-22621
|
|
456
456
|
double DynamicAutomationPeer::LargeChange() {
|
|
457
457
|
return 10;
|
|
458
458
|
}
|
|
@@ -319,7 +319,7 @@ void TextInputShadowNode::registerEvents() {
|
|
|
319
319
|
}
|
|
320
320
|
}
|
|
321
321
|
|
|
322
|
-
auto contentElement = control.GetTemplateChild(L"ContentElement");
|
|
322
|
+
auto contentElement = control.as<xaml::Controls::IControlProtected>().GetTemplateChild(L"ContentElement");
|
|
323
323
|
auto textBoxView = contentElement.as<xaml::Controls::ScrollViewer>();
|
|
324
324
|
if (textBoxView) {
|
|
325
325
|
m_scrollViewerViewChangingRevoker = textBoxView.ViewChanging(
|