react-native-windows 0.81.1 → 0.82.0-preview.1
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 +11 -10
- package/Directory.Build.props +3 -3
- package/Folly/Folly.vcxproj +1 -3
- package/Libraries/ActionSheetIOS/ActionSheetIOS.js +7 -3
- package/Libraries/Alert/RCTAlertManager.android.js +4 -2
- package/Libraries/Animated/Animated.d.ts +2 -0
- package/Libraries/Animated/AnimatedEvent.js +1 -1
- package/Libraries/Animated/AnimatedExports.js.flow +1 -0
- package/Libraries/Animated/AnimatedImplementation.js +4 -2
- package/Libraries/Animated/AnimatedMock.js +1 -1
- package/Libraries/Animated/Easing.js +2 -0
- package/Libraries/Animated/NativeAnimatedAllowlist.js +1 -0
- package/Libraries/Animated/animations/Animation.js +19 -20
- package/Libraries/Animated/animations/TimingAnimation.js +2 -0
- package/Libraries/Animated/components/AnimatedScrollView.js +3 -2
- package/Libraries/Animated/components/AnimatedSectionList.js +1 -1
- package/Libraries/Animated/nodes/AnimatedColor.js +9 -9
- package/Libraries/Animated/nodes/AnimatedInterpolation.js +4 -4
- package/Libraries/Animated/nodes/AnimatedNode.js +14 -7
- package/Libraries/Animated/nodes/AnimatedObject.js +7 -7
- package/Libraries/Animated/nodes/AnimatedProps.js +32 -32
- package/Libraries/Animated/nodes/AnimatedStyle.js +23 -21
- package/Libraries/Animated/nodes/AnimatedTransform.js +6 -6
- package/Libraries/Animated/nodes/AnimatedValue.js +18 -18
- package/Libraries/AppState/AppState.js +8 -4
- package/Libraries/BatchedBridge/MessageQueue.js +4 -0
- package/Libraries/BatchedBridge/NativeModules.js +1 -1
- package/Libraries/Blob/BlobManager.js +1 -1
- package/Libraries/Blob/URLSearchParams.js +2 -0
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +2 -2
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.windows.js +2 -2
- package/Libraries/Components/Button.js +1 -1
- package/Libraries/Components/Button.windows.js +1 -1
- package/Libraries/Components/Flyout/FlyoutNativeComponent.js +2 -2
- package/Libraries/Components/Glyph/GlyphNativeComponent.js +1 -1
- package/Libraries/Components/Popup/PopupNativeComponent.js +1 -0
- package/Libraries/Components/Pressable/Pressable.d.ts +8 -0
- package/Libraries/Components/Pressable/Pressable.js +10 -1
- package/Libraries/Components/Pressable/Pressable.windows.js +30 -2
- package/Libraries/Components/Pressable/useAndroidRippleForView.js +2 -2
- package/Libraries/Components/ScrollView/ScrollView.js +13 -4
- package/Libraries/Components/ScrollView/ScrollView.windows.js +14 -5
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +1 -1
- package/Libraries/Components/StatusBar/StatusBar.js +2 -2
- package/Libraries/Components/Switch/Switch.js +2 -2
- package/Libraries/Components/Switch/Switch.windows.js +2 -2
- package/Libraries/Components/TextInput/TextInput.flow.js +12 -5
- package/Libraries/Components/TextInput/TextInput.flow.windows.js +12 -5
- package/Libraries/Components/TextInput/TextInput.js +14 -5
- package/Libraries/Components/TextInput/TextInput.windows.js +23 -11
- package/Libraries/Components/TextInput/TextInputState.js +1 -1
- package/Libraries/Components/TextInput/TextInputState.windows.js +1 -1
- package/Libraries/Components/Touchable/TouchableBounce.js +1 -1
- package/Libraries/Components/Touchable/TouchableHighlight.js +1 -1
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +1 -1
- package/Libraries/Components/Touchable/TouchableOpacity.js +1 -1
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +3 -3
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js +1 -1
- package/Libraries/Components/View/View.js +81 -167
- package/Libraries/Components/View/View.windows.js +202 -302
- package/Libraries/Core/Devtools/loadBundleFromServer.js +1 -1
- package/Libraries/Core/Devtools/loadBundleFromServer.windows.js +1 -1
- package/Libraries/Core/ExceptionsManager.js +4 -2
- package/Libraries/Core/ReactFiberErrorDialog.js +3 -3
- package/Libraries/Core/ReactNativeVersion.js +37 -10
- package/Libraries/Core/Timers/JSTimers.js +3 -1
- package/Libraries/Core/Timers/immediateShim.js +1 -1
- package/Libraries/Core/Timers/queueMicrotask.js +1 -0
- package/Libraries/Core/setUpPerformance.js +2 -1
- package/Libraries/Debugging/DebuggingOverlayRegistry.js +5 -3
- package/Libraries/Image/AssetSourceResolver.windows.js +2 -2
- package/Libraries/Image/Image.android.js +327 -111
- package/Libraries/Image/Image.ios.js +6 -1
- package/Libraries/Image/Image.windows.js +28 -61
- package/Libraries/Image/ImageSourceUtils.js +8 -2
- package/Libraries/Image/resolveAssetSource.js +1 -1
- package/Libraries/Image/resolveAssetSource.windows.js +1 -1
- package/Libraries/Interaction/InteractionManager.js +118 -167
- package/Libraries/Interaction/PanResponder.js +1 -1
- package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -0
- package/Libraries/Lists/FlatList.js +5 -6
- package/Libraries/LogBox/Data/LogBoxData.js +5 -2
- package/Libraries/LogBox/Data/parseLogBoxLog.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +1 -1
- package/Libraries/Modal/Modal.js +3 -3
- package/Libraries/Modal/Modal.windows.js +2 -2
- package/Libraries/NativeComponent/NativeComponentRegistry.js +1 -1
- package/Libraries/NativeComponent/ViewConfig.js +2 -2
- package/Libraries/Network/RCTNetworking.android.js +1 -1
- package/Libraries/Network/RCTNetworking.ios.js +1 -1
- package/Libraries/Network/RCTNetworking.windows.js +1 -1
- package/Libraries/Network/XMLHttpRequest.js +20 -5
- package/Libraries/Network/convertRequestBody.js +1 -1
- package/Libraries/PermissionsAndroid/PermissionsAndroid.js +10 -9
- package/Libraries/Pressability/HoverState.js +2 -0
- package/Libraries/Pressability/Pressability.js +1 -1
- package/Libraries/Pressability/Pressability.windows.js +5 -5
- package/Libraries/PushNotificationIOS/PushNotificationIOS.js +2 -2
- package/Libraries/ReactNative/AppRegistryImpl.js +4 -2
- package/Libraries/ReactNative/PaperUIManager.windows.js +4 -4
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +2 -0
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +3 -3
- package/Libraries/ReactNative/RendererImplementation.js +116 -116
- package/Libraries/ReactNative/UIManager.js +3 -3
- package/Libraries/ReactNative/renderApplication.js +1 -0
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +1 -1
- package/Libraries/Renderer/implementations/ReactFabric-dev.js +38 -35
- package/Libraries/Renderer/implementations/ReactFabric-prod.js +51 -22
- package/Libraries/Renderer/implementations/ReactFabric-profiling.js +54 -24
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +36 -33
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +5 -5
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +5 -5
- package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +3 -1
- package/Libraries/Share/Share.js +4 -0
- package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +2 -2
- package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +2 -2
- package/Libraries/StyleSheet/PlatformColorValueTypes.windows.js +2 -0
- package/Libraries/StyleSheet/StyleSheet.d.ts +7 -22
- package/Libraries/StyleSheet/StyleSheetExports.js +2 -8
- package/Libraries/StyleSheet/StyleSheetExports.js.flow +11 -18
- package/Libraries/StyleSheet/flattenStyle.js +2 -2
- package/Libraries/StyleSheet/processAspectRatio.js +2 -0
- package/Libraries/StyleSheet/processFilter.js +5 -5
- package/Libraries/StyleSheet/splitLayoutProps.js +2 -2
- package/Libraries/Text/Text.js +534 -234
- package/Libraries/Text/Text.windows.js +622 -265
- package/Libraries/Text/TextNativeComponent.js +2 -2
- package/Libraries/Utilities/Appearance.d.ts +3 -5
- package/Libraries/Utilities/Appearance.js +5 -17
- package/Libraries/Utilities/HMRClient.js +2 -1
- package/Libraries/Utilities/Platform.android.js +3 -3
- package/Libraries/Utilities/Platform.d.ts +1 -0
- package/Libraries/Utilities/Platform.ios.js +1 -1
- package/Libraries/Utilities/Platform.windows.js +3 -3
- package/Libraries/Utilities/PlatformTypes.js +1 -1
- package/Libraries/Utilities/ReactNativeTestTools.js +12 -0
- package/Libraries/Utilities/SceneTracker.js +1 -1
- package/Libraries/Utilities/codegenNativeCommands.js +1 -1
- package/Libraries/Utilities/codegenNativeComponent.js +1 -1
- package/Libraries/Utilities/createPerformanceLogger.js +32 -0
- package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +2 -0
- package/Libraries/Utilities/differ/pointsDiffer.js +1 -1
- package/Libraries/Utilities/useMergeRefs.js +1 -1
- package/Libraries/WebSocket/WebSocketInterceptor.js +2 -0
- package/Libraries/promiseRejectionTrackingOptions.js +17 -31
- package/Libraries/vendor/emitter/EventEmitter.js +1 -1
- package/Microsoft.ReactNative/App.xaml +5 -0
- package/Microsoft.ReactNative/Base/CxxReactIncludes.h +0 -3
- package/Microsoft.ReactNative/CompositionContext.idl +0 -2
- package/Microsoft.ReactNative/Fabric/AbiViewProps.cpp +2 -2
- package/Microsoft.ReactNative/Fabric/AbiViewProps.h +0 -2
- package/Microsoft.ReactNative/Fabric/ComponentView.cpp +26 -0
- package/Microsoft.ReactNative/Fabric/ComponentView.h +2 -0
- package/Microsoft.ReactNative/Fabric/Composition/ActivityIndicatorComponentView.cpp +0 -1
- package/Microsoft.ReactNative/Fabric/Composition/Composition.Input.cpp +0 -69
- package/Microsoft.ReactNative/Fabric/Composition/Composition.Input.h +1 -15
- package/Microsoft.ReactNative/Fabric/Composition/CompositionAnnotationProvider.cpp +2 -5
- package/Microsoft.ReactNative/Fabric/Composition/CompositionAnnotationProvider.h +1 -4
- package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.cpp +0 -31
- package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.h +0 -10
- package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper_emptyimpl.cpp +0 -4
- package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.cpp +65 -32
- package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.h +9 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.cpp +8 -6
- package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.h +0 -2
- package/Microsoft.ReactNative/Fabric/Composition/CompositionHelpers.h +0 -2
- package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.cpp +0 -9
- package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.cpp +2 -11
- package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.h +0 -4
- package/Microsoft.ReactNative/Fabric/Composition/CompositionTextProvider.cpp +4 -7
- package/Microsoft.ReactNative/Fabric/Composition/CompositionTextProvider.h +1 -5
- package/Microsoft.ReactNative/Fabric/Composition/CompositionTextRangeProvider.cpp +68 -53
- package/Microsoft.ReactNative/Fabric/Composition/CompositionTextRangeProvider.h +1 -5
- package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +20 -18
- package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.h +10 -3
- package/Microsoft.ReactNative/Fabric/Composition/ContentIslandComponentView.cpp +30 -9
- package/Microsoft.ReactNative/Fabric/Composition/ContentIslandComponentView.h +4 -1
- package/Microsoft.ReactNative/Fabric/Composition/DebuggingOverlayComponentView.cpp +3 -2
- package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.cpp +0 -2
- package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.h +0 -1
- package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.cpp +550 -4
- package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.h +52 -0
- package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.cpp +16 -0
- package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.h +6 -0
- package/Microsoft.ReactNative/Fabric/Composition/ReactNativeIsland.cpp +0 -6
- package/Microsoft.ReactNative/Fabric/Composition/ReactNativeIsland.h +0 -2
- package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.cpp +53 -2
- package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.h +8 -1
- package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.cpp +0 -2
- package/Microsoft.ReactNative/Fabric/Composition/SwitchComponentView.cpp +0 -1
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +5 -2
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.cpp +4 -1
- package/Microsoft.ReactNative/Fabric/Composition/Theme.cpp +6 -30
- package/Microsoft.ReactNative/Fabric/Composition/Theme.h +1 -3
- package/Microsoft.ReactNative/Fabric/Composition/TooltipService.cpp +1 -1
- package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.cpp +36 -14
- package/Microsoft.ReactNative/Fabric/Composition/UnimplementedNativeViewComponentView.cpp +0 -1
- package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +0 -1
- package/Microsoft.ReactNative/Fabric/ImageManager.cpp +0 -4
- package/Microsoft.ReactNative/Fabric/ReactTaggedView.h +1 -1
- package/Microsoft.ReactNative/Fabric/WindowsComponentDescriptorRegistry.cpp +8 -0
- package/Microsoft.ReactNative/Fabric/WindowsComponentDescriptorRegistry.h +3 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/PlatformColorUtils.cpp +0 -11
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/WindowsTextLayoutManager.h +2 -1
- package/Microsoft.ReactNative/IReactContext.cpp +2 -25
- package/Microsoft.ReactNative/IReactContext.h +0 -7
- package/Microsoft.ReactNative/IReactContext.idl +4 -29
- package/Microsoft.ReactNative/IReactModuleBuilder.cpp +24 -140
- package/Microsoft.ReactNative/IReactModuleBuilder.h +0 -11
- package/Microsoft.ReactNative/IReactPackageBuilder.idl +1 -16
- package/Microsoft.ReactNative/IReactPackageProvider.idl +0 -1
- package/Microsoft.ReactNative/IReactViewComponentBuilder.idl +10 -0
- package/Microsoft.ReactNative/JsiApi.cpp +4 -3
- package/Microsoft.ReactNative/JsiApi.h +2 -3
- package/Microsoft.ReactNative/JsiApi.idl +3 -2
- package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj +6 -214
- package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj.filters +0 -252
- package/Microsoft.ReactNative/Modules/AccessibilityInfoModule.cpp +0 -37
- package/Microsoft.ReactNative/Modules/AlertModule.cpp +2 -140
- package/Microsoft.ReactNative/Modules/AlertModule.h +0 -2
- package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedNodeManager.cpp +5 -10
- package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedNodeManager.h +0 -1
- package/Microsoft.ReactNative/Modules/Animated/PropsAnimatedNode.cpp +1 -96
- package/Microsoft.ReactNative/Modules/Animated/PropsAnimatedNode.h +0 -14
- package/Microsoft.ReactNative/Modules/AppStateModule.cpp +0 -53
- package/Microsoft.ReactNative/Modules/AppStateModule.h +0 -5
- package/Microsoft.ReactNative/Modules/AppThemeModuleUwp.cpp +5 -14
- package/Microsoft.ReactNative/Modules/AppThemeModuleUwp.h +0 -2
- package/Microsoft.ReactNative/Modules/AppearanceModule.cpp +1 -9
- package/Microsoft.ReactNative/Modules/DevSettingsModule.cpp +0 -4
- package/Microsoft.ReactNative/Modules/DevSettingsModule.h +0 -2
- package/Microsoft.ReactNative/Modules/DeviceInfoModule.cpp +16 -90
- package/Microsoft.ReactNative/Modules/I18nManagerModule.cpp +3 -8
- package/Microsoft.ReactNative/Modules/ImageViewManagerModule.cpp +11 -48
- package/Microsoft.ReactNative/Modules/LinkingManagerModule.cpp +0 -3
- package/Microsoft.ReactNative/Modules/LogBoxModule.cpp +30 -102
- package/Microsoft.ReactNative/Modules/LogBoxModule.h +0 -7
- package/Microsoft.ReactNative/Modules/Timing.cpp +7 -9
- package/Microsoft.ReactNative/Pch/pch.h +0 -28
- package/Microsoft.ReactNative/ReactCoreInjection.h +0 -1
- package/Microsoft.ReactNative/ReactHost/IReactInstance.h +0 -8
- package/Microsoft.ReactNative/ReactHost/MsoReactContext.cpp +0 -15
- package/Microsoft.ReactNative/ReactHost/MsoReactContext.h +0 -2
- package/Microsoft.ReactNative/ReactHost/React.h +0 -44
- package/Microsoft.ReactNative/ReactHost/ReactHost.cpp +10 -47
- package/Microsoft.ReactNative/ReactHost/ReactHost.h +1 -1
- package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +30 -586
- package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.h +2 -37
- package/Microsoft.ReactNative/ReactHost/ReactNativeHeaders.h +0 -13
- package/Microsoft.ReactNative/ReactHost/React_Win.h +0 -1
- package/Microsoft.ReactNative/ReactInstanceSettings.cpp +0 -8
- package/Microsoft.ReactNative/ReactInstanceSettings.h +0 -13
- package/Microsoft.ReactNative/ReactInstanceSettings.idl +7 -23
- package/Microsoft.ReactNative/ReactNativeHost.cpp +10 -35
- package/Microsoft.ReactNative/ReactNativeHost.h +0 -1
- package/Microsoft.ReactNative/ReactNativeIsland.idl +0 -4
- package/Microsoft.ReactNative/ReactPackageBuilder.cpp +9 -36
- package/Microsoft.ReactNative/ReactPackageBuilder.h +4 -38
- package/Microsoft.ReactNative/RedBox.cpp +9 -362
- package/Microsoft.ReactNative/Theme.idl +0 -2
- package/Microsoft.ReactNative/Timer.cpp +3 -2
- package/Microsoft.ReactNative/Utils/Helpers.cpp +0 -47
- package/Microsoft.ReactNative/Utils/Helpers.h +0 -5
- package/Microsoft.ReactNative/Utils/IcuUtils.cpp +84 -0
- package/Microsoft.ReactNative/Utils/IcuUtils.h +42 -0
- package/Microsoft.ReactNative/Utils/KeyboardUtils.cpp +0 -11
- package/Microsoft.ReactNative/Utils/ThemeUtils.cpp +0 -4
- package/Microsoft.ReactNative/Utils/ThemeUtils.h +1 -5
- package/Microsoft.ReactNative/Utils/UwpPreparedScriptStore.h +0 -2
- package/Microsoft.ReactNative/Utils/ValueUtils.cpp +0 -245
- package/Microsoft.ReactNative/Utils/ValueUtils.h +0 -23
- package/Microsoft.ReactNative/ViewProps.idl +0 -2
- package/Microsoft.ReactNative/Views/DevMenu.cpp +2 -278
- package/Microsoft.ReactNative/Views/DevMenu.h +0 -5
- package/Microsoft.ReactNative/XamlApplication.cpp +71 -0
- package/Microsoft.ReactNative/XamlApplication.h +47 -0
- package/Microsoft.ReactNative/XamlApplication.idl +19 -0
- package/Microsoft.ReactNative/XamlUIService.cpp +0 -54
- package/Microsoft.ReactNative/XamlUIService.h +0 -12
- package/Microsoft.ReactNative/XamlUIService.idl +0 -12
- package/Microsoft.ReactNative.Cxx/CppWinRTIncludes.h +0 -19
- package/Microsoft.ReactNative.Cxx/DesktopWindowBridge.h +1 -1
- package/Microsoft.ReactNative.Cxx/JSI/decorator.h +191 -114
- package/Microsoft.ReactNative.Cxx/JSI/instrumentation.h +5 -0
- package/Microsoft.ReactNative.Cxx/JSI/jsi-inl.h +37 -0
- package/Microsoft.ReactNative.Cxx/JSI/jsi.cpp +68 -0
- package/Microsoft.ReactNative.Cxx/JSI/jsi.h +77 -11
- package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems +2 -2
- package/Microsoft.ReactNative.Cxx/NamespaceRedirect.h +0 -5
- package/Microsoft.ReactNative.Cxx/NodeApiJsiRuntime.cpp +93 -1
- package/Microsoft.ReactNative.Cxx/ReactCommon/TurboModule.cpp +4 -3
- package/Microsoft.ReactNative.Cxx/ReactCommon/TurboModule.h +2 -2
- package/Microsoft.ReactNative.Cxx/ReactCommon/TurboModuleUtils.cpp +2 -55
- package/Microsoft.ReactNative.Cxx/ReactCommon/TurboModuleUtils.h +4 -8
- package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Class.h +5 -0
- package/Microsoft.ReactNative.Cxx/ReactCommon/react/timing/primitives.h +32 -4
- package/Microsoft.ReactNative.Cxx/ReactContext.h +0 -13
- package/Microsoft.ReactNative.Cxx/StructInfo.h +8 -1
- package/Microsoft.ReactNative.Cxx/UI.Composition.Effects.h +0 -4
- package/Microsoft.ReactNative.Cxx/UI.Composition.h +0 -4
- package/Microsoft.ReactNative.Cxx/UI.Input.h +0 -4
- package/Microsoft.ReactNative.Cxx/UI.Popups.h +0 -4
- package/Microsoft.ReactNative.Cxx/UI.Text.h +0 -4
- package/Microsoft.ReactNative.Cxx/XamlUtils.h +0 -33
- package/Microsoft.ReactNative.Managed/JSValueReader.cs +0 -4
- package/Microsoft.ReactNative.Managed/Microsoft.ReactNative.Managed.csproj +0 -3
- package/Microsoft.ReactNative.Managed/ReactContext.cs +0 -5
- package/Microsoft.ReactNative.Managed/ReactContextGenerator.cs +0 -4
- package/Microsoft.ReactNative.Managed/ReactPackageBuilderExtensions.cs +0 -25
- package/Microsoft.ReactNative.Managed/ReactSettingsSnapshot.cs +0 -4
- package/Microsoft.ReactNative.Managed/ReflectionReactPackageProvider.cs +1 -2
- package/Microsoft.ReactNative.Managed.CodeGen/CodeAnalyzer.cs +0 -10
- package/Microsoft.ReactNative.Managed.CodeGen/CodeGenerator.ViewManager.cs +0 -36
- package/Microsoft.ReactNative.Managed.CodeGen/CodeGenerator.cs +0 -6
- package/Microsoft.ReactNative.Managed.CodeGen/Model/ReactAssembly.cs +0 -2
- package/Microsoft.ReactNative.Managed.CodeGen/Model/ReactTypes.cs +0 -2
- package/Microsoft.ReactNative.Managed.CodeGen/ReactNativeNames.cs +0 -2
- package/Mso/src/dispatchQueue/queueService.cpp +3 -1
- package/Mso/src/dispatchQueue/uiScheduler_winrt.cpp +2 -10
- package/PropertySheets/Bundle.Common.targets +1 -1
- package/PropertySheets/Bundle.props +3 -4
- package/PropertySheets/External/Microsoft.ReactNative.Common.props +0 -1
- package/PropertySheets/External/Microsoft.ReactNative.Uwp.CSharpApp.targets +1 -1
- package/PropertySheets/External/Microsoft.ReactNative.Uwp.CppApp.targets +1 -1
- package/PropertySheets/Generated/PackageVersion.g.props +4 -4
- package/PropertySheets/JSEngine.props +1 -1
- package/PropertySheets/NuGet.LockFile.props +0 -8
- package/PropertySheets/OutputMSBuildProperties.targets +0 -1
- package/PropertySheets/React.Cpp.props +3 -5
- package/PropertySheets/WinUI.props +3 -3
- package/README.md +1 -5
- package/ReactCommon/ReactCommon.vcxproj +12 -31
- package/ReactCommon/ReactCommon.vcxproj.filters +0 -3
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/CxxNativeModule.cpp +3 -2
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/NativeToJsBridge.cpp +5 -2
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/TraceSection.h +20 -4
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/jsi/test/testlib.cpp +113 -1
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.cpp +14 -6
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/Utf8.h +1 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/tracing/RuntimeSamplingProfileTraceEventSerializer.cpp +351 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModule.h +2 -2
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/dom/NativeDOM.cpp +42 -36
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/dom/NativeDOM.h +15 -3
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp +1 -1
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/image/conversions.h +174 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/text/ParagraphShadowNode.cpp +1 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/AccessibilityPrimitives.h +26 -3
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/conversions.h +1 -1
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/ShadowNode.cpp +1 -1
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/imagemanager/primitives.h +189 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/reactperflogger/reactperflogger/ReactPerfettoLogger.cpp +27 -8
- package/ReactCommon/cgmanifest.json +1 -1
- package/Scripts/Microsoft.ReactNative.nuspec +15 -33
- package/Scripts/NuGetRestoreForceEvaluateAllSolutions.ps1 +23 -23
- package/Scripts/OfficeReact.Win32.nuspec +0 -3
- package/Scripts/creaternwapp.cmd +1 -1
- package/Shared/DevServerHelper.h +17 -21
- package/Shared/DevSettings.h +1 -25
- package/Shared/DevSupportManager.cpp +0 -50
- package/Shared/DevSupportManager.h +0 -4
- package/Shared/Hermes/HermesRuntimeTargetDelegate.cpp +5 -1
- package/Shared/HermesRuntimeHolder.cpp +0 -31
- package/Shared/HermesRuntimeHolder.h +0 -14
- package/Shared/IDevSupportManager.h +0 -6
- package/Shared/InstanceManager.cpp +0 -97
- package/Shared/InstanceManager.h +0 -53
- package/Shared/JSI/ScriptStore.h +1 -1
- package/Shared/Logging.cpp +1 -12
- package/Shared/Modules/CxxModuleUtilities.cpp +0 -9
- package/Shared/Modules/CxxModuleUtilities.h +0 -8
- package/Shared/Networking/OriginPolicyHttpFilter.cpp +9 -1
- package/Shared/OInstance.cpp +144 -424
- package/Shared/OInstance.h +0 -81
- package/Shared/Shared.vcxitems +83 -203
- package/Shared/Shared.vcxitems.filters +8 -67
- package/Shared/Threading/MessageQueueThreadFactory.cpp +0 -6
- package/Shared/Threading/MessageQueueThreadFactory.h +0 -4
- package/Shared/TurboModuleManager.cpp +0 -4
- package/Shared/Utils.cpp +26 -0
- package/Shared/Utils.h +3 -0
- package/codegen/NativeDOMSpec.g.h +41 -35
- package/codegen/NativeIntersectionObserverSpec.g.h +9 -21
- package/codegen/NativePerformanceSpec.g.h +47 -35
- package/codegen/NativeReactNativeFeatureFlagsSpec.g.h +177 -129
- package/codegen/react/components/rnwcore/ActivityIndicatorView.g.h +14 -0
- package/codegen/react/components/rnwcore/AndroidDrawerLayout.g.h +14 -0
- package/codegen/react/components/rnwcore/AndroidHorizontalScrollContentView.g.h +14 -0
- package/codegen/react/components/rnwcore/AndroidProgressBar.g.h +14 -0
- package/codegen/react/components/rnwcore/AndroidSwipeRefreshLayout.g.h +14 -0
- package/codegen/react/components/rnwcore/AndroidSwitch.g.h +14 -0
- package/codegen/react/components/rnwcore/DebuggingOverlay.g.h +14 -0
- package/codegen/react/components/rnwcore/EventEmitters.cpp +25 -0
- package/codegen/react/components/rnwcore/EventEmitters.h +25 -0
- package/codegen/react/components/rnwcore/InputAccessory.g.h +14 -0
- package/codegen/react/components/rnwcore/ModalHostView.g.h +14 -0
- package/codegen/react/components/rnwcore/Props.cpp +41 -2
- package/codegen/react/components/rnwcore/Props.h +51 -2
- package/codegen/react/components/rnwcore/PullToRefreshView.g.h +14 -0
- package/codegen/react/components/rnwcore/SafeAreaView.g.h +14 -0
- package/codegen/react/components/rnwcore/Switch.g.h +14 -0
- package/codegen/react/components/rnwcore/UnimplementedNativeView.g.h +14 -0
- package/codegen/react/components/rnwcore/VirtualView.g.h +18 -0
- package/codegen/react/components/rnwcore/VirtualViewExperimental.g.h +240 -0
- package/codegen/rnwcoreJSI-generated.cpp +106 -51
- package/codegen/rnwcoreJSI.h +148 -67
- package/fmt/cgmanifest.json +1 -1
- package/fmt/fmt.vcxproj +0 -8
- package/index.js +8 -2
- package/index.windows.js +8 -2
- package/jest/local-setup.js +2 -2
- package/jest/mock.js +1 -1
- package/jest/mockComponent.js +9 -9
- package/jest/mockNativeComponent.js +3 -2
- package/jest/mocks/Modal.js +1 -1
- package/jest/mocks/ScrollView.js +1 -1
- package/jest/mocks/ViewNativeComponent.js +1 -1
- package/jest/setup.js +23 -12
- package/just-task.js +14 -0
- package/package.json +31 -32
- package/src/private/animated/NativeAnimatedHelper.js +16 -5
- package/src/private/animated/createAnimatedPropsHook.js +11 -60
- package/src/private/animated/createAnimatedPropsMemoHook.js +8 -54
- package/src/private/components/virtualview/VirtualView.js +43 -12
- package/src/private/components/virtualview/VirtualViewExperimentalNativeComponent.js +93 -0
- package/src/private/components/virtualview/VirtualViewNativeComponent.js +6 -0
- package/src/private/devsupport/devmenu/elementinspector/Inspector.js +2 -2
- package/src/private/devsupport/devmenu/elementinspector/ReactDevToolsOverlay.js +2 -2
- package/src/private/featureflags/ReactNativeFeatureFlags.js +80 -52
- package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +23 -4
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +14 -6
- package/src/private/renderer/errorhandling/ErrorHandlers.js +3 -3
- package/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js +0 -1
- package/src/private/types/HostInstance.js +4 -1
- package/src/private/webapis/dom/nodes/ReactNativeDocument.js +22 -2
- package/src/private/webapis/dom/nodes/ReactNativeElement.js +1 -1
- package/src/private/webapis/dom/nodes/ReadOnlyElement.js +5 -3
- package/src/private/webapis/dom/nodes/ReadOnlyNode.js +16 -13
- package/src/private/webapis/dom/nodes/internals/NodeInternals.js +45 -22
- package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentInstanceHandle.js +1 -1
- package/src/private/webapis/dom/nodes/specs/NativeDOM.js +26 -192
- package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +15 -12
- package/src/private/webapis/dom/oldstylecollections/NodeList.js +14 -11
- package/src/private/webapis/geometry/DOMRectList.js +2 -2
- package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +19 -74
- package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +0 -4
- package/src/private/webapis/mutationobserver/internals/MutationObserverManager.js +1 -1
- package/src/private/webapis/performance/EventTiming.js +6 -10
- package/src/private/webapis/performance/Performance.js +309 -164
- package/src/private/webapis/performance/PerformanceEntry.js +20 -16
- package/src/private/webapis/performance/PerformanceObserver.js +8 -29
- package/src/private/webapis/performance/UserTiming.js +71 -18
- package/src/private/webapis/performance/UserTimingExtensibility.js.flow +38 -0
- package/src/private/webapis/performance/internals/Utilities.js +9 -0
- package/src/private/webapis/performance/specs/NativePerformance.js +21 -23
- package/src/private/webapis/structuredClone/structuredClone.js +10 -10
- package/stubs/double-conversion/README.md +1 -1
- package/template/cpp-lib/proj/MyLib.sln +0 -5
- package/template/cpp-lib/src/pch.h +0 -5
- package/template/cs-lib/proj/MyLib.sln +0 -5
- package/template/metro.config.js +1 -0
- package/templates/cpp-app/metro.config.js +2 -1
- package/templates/cpp-app/windows/MyApp.sln +0 -5
- package/templates/cpp-lib/example/metro.config.js +3 -4
- package/templates/cpp-lib/windows/MyLib.sln +0 -5
- package/Chakra/Chakra.vcxitems +0 -32
- package/Chakra/Chakra.vcxitems.filters +0 -54
- package/Chakra/ChakraHelpers.cpp +0 -468
- package/Chakra/ChakraHelpers.h +0 -146
- package/Chakra/ChakraInstanceArgs.h +0 -52
- package/Chakra/ChakraPlatform.cpp +0 -42
- package/Chakra/ChakraPlatform.h +0 -51
- package/Chakra/ChakraTracing.cpp +0 -275
- package/Chakra/ChakraTracing.h +0 -11
- package/Chakra/ChakraUtils.cpp +0 -190
- package/Chakra/ChakraUtils.h +0 -72
- package/Chakra/ChakraValue.cpp +0 -257
- package/Chakra/ChakraValue.h +0 -308
- package/Chakra/Utf8DebugExtensions.cpp +0 -62
- package/Chakra/Utf8DebugExtensions.h +0 -29
- package/Libraries/Interaction/InteractionManagerStub.js +0 -184
- package/Libraries/Interaction/TaskQueue.js +0 -183
- package/Libraries/ReactNative/ReactNativeFeatureFlags.js +0 -31
- package/Microsoft.ReactNative/ABICxxModule.cpp +0 -51
- package/Microsoft.ReactNative/ABICxxModule.h +0 -38
- package/Microsoft.ReactNative/ABIViewManager.cpp +0 -263
- package/Microsoft.ReactNative/ABIViewManager.h +0 -100
- package/Microsoft.ReactNative/Base/CoreUIManagers.cpp +0 -55
- package/Microsoft.ReactNative/DevMenuControl.cpp +0 -14
- package/Microsoft.ReactNative/DevMenuControl.h +0 -20
- package/Microsoft.ReactNative/DevMenuControl.idl +0 -28
- package/Microsoft.ReactNative/DevMenuControl.xaml +0 -139
- package/Microsoft.ReactNative/GlyphViewManager.cpp +0 -167
- package/Microsoft.ReactNative/GlyphViewManager.h +0 -24
- package/Microsoft.ReactNative/INativeUIManager.h +0 -75
- package/Microsoft.ReactNative/IViewManager.idl +0 -120
- package/Microsoft.ReactNative/IViewManagerCore.idl +0 -45
- package/Microsoft.ReactNative/LayoutService.cpp +0 -51
- package/Microsoft.ReactNative/LayoutService.h +0 -32
- package/Microsoft.ReactNative/LayoutService.idl +0 -41
- package/Microsoft.ReactNative/Modules/NativeUIManager.cpp +0 -1187
- package/Microsoft.ReactNative/Modules/NativeUIManager.h +0 -128
- package/Microsoft.ReactNative/Modules/PaperUIManagerModule.cpp +0 -891
- package/Microsoft.ReactNative/Modules/PaperUIManagerModule.h +0 -185
- package/Microsoft.ReactNative/NativeModulesProvider.cpp +0 -49
- package/Microsoft.ReactNative/NativeModulesProvider.h +0 -25
- package/Microsoft.ReactNative/ReactApplication.cpp +0 -276
- package/Microsoft.ReactNative/ReactApplication.h +0 -156
- package/Microsoft.ReactNative/ReactApplication.idl +0 -48
- package/Microsoft.ReactNative/ReactHost/ViewManagerProvider.h +0 -19
- package/Microsoft.ReactNative/ReactPointerEventArgs.cpp +0 -55
- package/Microsoft.ReactNative/ReactPointerEventArgs.h +0 -32
- package/Microsoft.ReactNative/ReactPointerEventArgs.idl +0 -79
- package/Microsoft.ReactNative/ReactRootView.cpp +0 -592
- package/Microsoft.ReactNative/ReactRootView.h +0 -127
- package/Microsoft.ReactNative/ReactRootView.idl +0 -40
- package/Microsoft.ReactNative/TestHook.cpp +0 -99
- package/Microsoft.ReactNative/TestHook.h +0 -15
- package/Microsoft.ReactNative/Utils/AccessibilityUtils.cpp +0 -36
- package/Microsoft.ReactNative/Utils/AccessibilityUtils.h +0 -15
- package/Microsoft.ReactNative/Utils/BatchingEventEmitter.cpp +0 -171
- package/Microsoft.ReactNative/Utils/BatchingEventEmitter.h +0 -72
- package/Microsoft.ReactNative/Utils/PropertyHandlerUtils.h +0 -87
- package/Microsoft.ReactNative/Utils/PropertyUtils.h +0 -568
- package/Microsoft.ReactNative/Utils/ResourceBrushUtils.cpp +0 -182
- package/Microsoft.ReactNative/Utils/ResourceBrushUtils.h +0 -58
- package/Microsoft.ReactNative/Utils/ShadowNodeTypeUtils.h +0 -26
- package/Microsoft.ReactNative/Utils/XamlIslandUtils.cpp +0 -93
- package/Microsoft.ReactNative/Utils/XamlIslandUtils.h +0 -48
- package/Microsoft.ReactNative/ViewManagersProvider.cpp +0 -39
- package/Microsoft.ReactNative/ViewManagersProvider.h +0 -27
- package/Microsoft.ReactNative/Views/ActivityIndicatorViewManager.cpp +0 -62
- package/Microsoft.ReactNative/Views/ActivityIndicatorViewManager.h +0 -29
- package/Microsoft.ReactNative/Views/ConfigureBundlerDlg.cpp +0 -186
- package/Microsoft.ReactNative/Views/ConfigureBundlerDlg.h +0 -11
- package/Microsoft.ReactNative/Views/ControlViewManager.cpp +0 -143
- package/Microsoft.ReactNative/Views/ControlViewManager.h +0 -38
- package/Microsoft.ReactNative/Views/DebuggingOverlayViewManager.cpp +0 -53
- package/Microsoft.ReactNative/Views/DebuggingOverlayViewManager.h +0 -30
- package/Microsoft.ReactNative/Views/DynamicAutomationPeer.cpp +0 -586
- package/Microsoft.ReactNative/Views/DynamicAutomationPeer.h +0 -104
- package/Microsoft.ReactNative/Views/DynamicAutomationProperties.cpp +0 -330
- package/Microsoft.ReactNative/Views/DynamicAutomationProperties.h +0 -111
- package/Microsoft.ReactNative/Views/DynamicValueProvider.cpp +0 -59
- package/Microsoft.ReactNative/Views/DynamicValueProvider.h +0 -32
- package/Microsoft.ReactNative/Views/ExpressionAnimationStore.cpp +0 -61
- package/Microsoft.ReactNative/Views/ExpressionAnimationStore.h +0 -26
- package/Microsoft.ReactNative/Views/FlyoutViewManager.cpp +0 -559
- package/Microsoft.ReactNative/Views/FlyoutViewManager.h +0 -34
- package/Microsoft.ReactNative/Views/FrameworkElementTransferProperties.cpp +0 -126
- package/Microsoft.ReactNative/Views/FrameworkElementTransferProperties.h +0 -23
- package/Microsoft.ReactNative/Views/FrameworkElementViewManager.cpp +0 -957
- package/Microsoft.ReactNative/Views/FrameworkElementViewManager.h +0 -41
- package/Microsoft.ReactNative/Views/IXamlRootView.h +0 -17
- package/Microsoft.ReactNative/Views/Image/ImageViewManager.cpp +0 -245
- package/Microsoft.ReactNative/Views/Image/ImageViewManager.h +0 -45
- package/Microsoft.ReactNative/Views/Image/ReactImage.cpp +0 -469
- package/Microsoft.ReactNative/Views/Image/ReactImage.h +0 -80
- package/Microsoft.ReactNative/Views/Image/ReactImageBrush.cpp +0 -247
- package/Microsoft.ReactNative/Views/Image/ReactImageBrush.h +0 -67
- package/Microsoft.ReactNative/Views/KeyboardEventHandler.cpp +0 -261
- package/Microsoft.ReactNative/Views/KeyboardEventHandler.h +0 -132
- package/Microsoft.ReactNative/Views/PaperShadowNode.cpp +0 -18
- package/Microsoft.ReactNative/Views/PaperShadowNode.h +0 -38
- package/Microsoft.ReactNative/Views/PopupViewManager.cpp +0 -349
- package/Microsoft.ReactNative/Views/PopupViewManager.h +0 -36
- package/Microsoft.ReactNative/Views/RawTextViewManager.cpp +0 -69
- package/Microsoft.ReactNative/Views/RawTextViewManager.h +0 -46
- package/Microsoft.ReactNative/Views/ReactViewInstance.cpp +0 -43
- package/Microsoft.ReactNative/Views/ReactViewInstance.h +0 -53
- package/Microsoft.ReactNative/Views/RefreshControlManager.cpp +0 -116
- package/Microsoft.ReactNative/Views/RefreshControlManager.h +0 -28
- package/Microsoft.ReactNative/Views/RootViewManager.cpp +0 -65
- package/Microsoft.ReactNative/Views/RootViewManager.h +0 -36
- package/Microsoft.ReactNative/Views/SIPEventHandler.cpp +0 -117
- package/Microsoft.ReactNative/Views/SIPEventHandler.h +0 -45
- package/Microsoft.ReactNative/Views/ScrollContentViewManager.cpp +0 -16
- package/Microsoft.ReactNative/Views/ScrollContentViewManager.h +0 -19
- package/Microsoft.ReactNative/Views/ScrollViewManager.cpp +0 -540
- package/Microsoft.ReactNative/Views/ScrollViewManager.h +0 -42
- package/Microsoft.ReactNative/Views/ShadowNodeBase.cpp +0 -228
- package/Microsoft.ReactNative/Views/ShadowNodeBase.h +0 -169
- package/Microsoft.ReactNative/Views/ShadowNodeRegistry.cpp +0 -68
- package/Microsoft.ReactNative/Views/ShadowNodeRegistry.h +0 -40
- package/Microsoft.ReactNative/Views/SliderViewManager.cpp +0 -97
- package/Microsoft.ReactNative/Views/SliderViewManager.h +0 -32
- package/Microsoft.ReactNative/Views/SwitchViewManager.cpp +0 -227
- package/Microsoft.ReactNative/Views/SwitchViewManager.h +0 -31
- package/Microsoft.ReactNative/Views/Text/TextHighlighterVisitor.cpp +0 -52
- package/Microsoft.ReactNative/Views/Text/TextHighlighterVisitor.h +0 -37
- package/Microsoft.ReactNative/Views/Text/TextHitTestUtils.cpp +0 -348
- package/Microsoft.ReactNative/Views/Text/TextHitTestUtils.h +0 -13
- package/Microsoft.ReactNative/Views/Text/TextHitTestVisitor.cpp +0 -76
- package/Microsoft.ReactNative/Views/Text/TextHitTestVisitor.h +0 -32
- package/Microsoft.ReactNative/Views/Text/TextParentVisitor.cpp +0 -12
- package/Microsoft.ReactNative/Views/Text/TextParentVisitor.h +0 -19
- package/Microsoft.ReactNative/Views/Text/TextPropertyChangedParentVisitor.cpp +0 -75
- package/Microsoft.ReactNative/Views/Text/TextPropertyChangedParentVisitor.h +0 -43
- package/Microsoft.ReactNative/Views/Text/TextTransformParentVisitor.cpp +0 -21
- package/Microsoft.ReactNative/Views/Text/TextTransformParentVisitor.h +0 -23
- package/Microsoft.ReactNative/Views/Text/TextTransformVisitor.cpp +0 -70
- package/Microsoft.ReactNative/Views/Text/TextTransformVisitor.h +0 -34
- package/Microsoft.ReactNative/Views/Text/TextVisitor.cpp +0 -56
- package/Microsoft.ReactNative/Views/Text/TextVisitor.h +0 -34
- package/Microsoft.ReactNative/Views/Text/TextVisitorScope.h +0 -35
- package/Microsoft.ReactNative/Views/Text/TextVisitors.h +0 -47
- package/Microsoft.ReactNative/Views/TextInputViewManager.cpp +0 -1003
- package/Microsoft.ReactNative/Views/TextInputViewManager.h +0 -33
- package/Microsoft.ReactNative/Views/TextViewManager.cpp +0 -414
- package/Microsoft.ReactNative/Views/TextViewManager.h +0 -47
- package/Microsoft.ReactNative/Views/TouchEventHandler.cpp +0 -608
- package/Microsoft.ReactNative/Views/TouchEventHandler.h +0 -116
- package/Microsoft.ReactNative/Views/UnimplementedViewManager.cpp +0 -79
- package/Microsoft.ReactNative/Views/UnimplementedViewManager.h +0 -27
- package/Microsoft.ReactNative/Views/ViewControl.cpp +0 -43
- package/Microsoft.ReactNative/Views/ViewControl.h +0 -32
- package/Microsoft.ReactNative/Views/ViewManager.h +0 -33
- package/Microsoft.ReactNative/Views/ViewManagerBase.cpp +0 -487
- package/Microsoft.ReactNative/Views/ViewManagerBase.h +0 -121
- package/Microsoft.ReactNative/Views/ViewPanel.cpp +0 -164
- package/Microsoft.ReactNative/Views/ViewPanel.h +0 -82
- package/Microsoft.ReactNative/Views/ViewViewManager.cpp +0 -507
- package/Microsoft.ReactNative/Views/ViewViewManager.h +0 -52
- package/Microsoft.ReactNative/Views/VirtualTextViewManager.cpp +0 -143
- package/Microsoft.ReactNative/Views/VirtualTextViewManager.h +0 -57
- package/Microsoft.ReactNative/Views/XamlFeatures.cpp +0 -11
- package/Microsoft.ReactNative/Views/XamlFeatures.h +0 -11
- package/Microsoft.ReactNative/Views/cppwinrt/AccessibilityAction.idl +0 -12
- package/Microsoft.ReactNative/Views/cppwinrt/DynamicAutomationPeer.idl +0 -231
- package/Microsoft.ReactNative/Views/cppwinrt/ViewPanel.idl +0 -48
- package/Microsoft.ReactNative/XamlHelper.cpp +0 -78
- package/Microsoft.ReactNative/XamlHelper.h +0 -54
- package/Microsoft.ReactNative/XamlHelper.idl +0 -30
- package/Microsoft.ReactNative/XamlLoadState.cpp +0 -217
- package/Microsoft.ReactNative/XamlLoadState.h +0 -44
- package/Microsoft.ReactNative/XamlView.cpp +0 -59
- package/Microsoft.ReactNative/XamlView.h +0 -58
- package/Microsoft.ReactNative/getLayoutProps.ps1 +0 -5
- package/Microsoft.ReactNative.Cxx/UI.Xaml.Automation.Peers.h +0 -10
- package/Microsoft.ReactNative.Cxx/UI.Xaml.Automation.h +0 -10
- package/Microsoft.ReactNative.Cxx/UI.Xaml.Controls.Primitives.h +0 -10
- package/Microsoft.ReactNative.Cxx/UI.Xaml.Controls.h +0 -13
- package/Microsoft.ReactNative.Cxx/UI.Xaml.Documents.h +0 -10
- package/Microsoft.ReactNative.Cxx/UI.Xaml.Hosting.DesktopWindowXamlSource.h +0 -11
- package/Microsoft.ReactNative.Cxx/UI.Xaml.Hosting.h +0 -10
- package/Microsoft.ReactNative.Cxx/UI.Xaml.Input.h +0 -10
- package/Microsoft.ReactNative.Cxx/UI.Xaml.Markup.h +0 -10
- package/Microsoft.ReactNative.Cxx/UI.Xaml.Media.Imaging.h +0 -10
- package/Microsoft.ReactNative.Cxx/UI.Xaml.Media.Media3D.h +0 -10
- package/Microsoft.ReactNative.Cxx/UI.Xaml.Media.h +0 -10
- package/Microsoft.ReactNative.Cxx/UI.Xaml.Navigation.h +0 -10
- package/Microsoft.ReactNative.Cxx/UI.Xaml.Shapes.h +0 -10
- package/Microsoft.ReactNative.Managed/AttributedViewManager.cs +0 -527
- package/Microsoft.ReactNative.Managed/ViewManagerAttributes.cs +0 -91
- package/Microsoft.ReactNative.Managed/ViewManagerEvent.cs +0 -13
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/AccessibilityProps.cpp +0 -344
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/DynamicEventPayload.cpp +0 -42
- package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/YGEnums.h +0 -146
- package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/algorithm/CalculateLayout.cpp +0 -2435
- package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/enums/ExperimentalFeature.h +0 -40
- package/Shared/BatchingMessageQueueThread.h +0 -20
- package/Shared/ChakraRuntimeHolder.cpp +0 -62
- package/Shared/ChakraRuntimeHolder.h +0 -46
- package/Shared/CreateInstance.h +0 -25
- package/Shared/Executors/WebSocketJSExecutor.cpp +0 -294
- package/Shared/Executors/WebSocketJSExecutor.h +0 -123
- package/Shared/Executors/WebSocketJSExecutorFactory.cpp +0 -25
- package/Shared/Hermes/HermesSamplingProfiler.cpp +0 -114
- package/Shared/Hermes/HermesSamplingProfiler.h +0 -26
- package/Shared/JSI/ChakraApi.cpp +0 -436
- package/Shared/JSI/ChakraApi.h +0 -474
- package/Shared/JSI/ChakraJsiRuntime_edgemode.cpp +0 -100
- package/Shared/JSI/ChakraRuntime.cpp +0 -1132
- package/Shared/JSI/ChakraRuntime.h +0 -512
- package/Shared/JSI/ChakraRuntimeArgs.h +0 -45
- package/Shared/JSI/ChakraRuntimeFactory.h +0 -15
- package/Shared/JSI/JSExecutorFactoryDelegate.h +0 -12
- package/Shared/JSI/JSExecutorFactorySettings.cpp +0 -30
- package/Shared/JSI/JSExecutorFactorySettings.h +0 -21
- package/Shared/NativeModuleProvider.h +0 -40
- package/Shared/SystemChakraRuntime.h +0 -38
- package/Shared/Threading/BatchingQueueThread.cpp +0 -128
- package/Shared/Threading/BatchingQueueThread.h +0 -59
- package/Shared/WebSocketJSExecutorFactory.h +0 -27
- package/fmt/TEMP_UntilFmtUpdate/core.h +0 -2925
- package/template/cpp-app/proj/MyApp.sln +0 -166
- package/template/cpp-app/proj/MyApp.vcxproj +0 -176
- package/template/cpp-app/proj/MyApp.vcxproj.filters +0 -62
- package/template/cpp-app/src/App.cpp +0 -93
- package/template/cpp-app/src/App.h +0 -21
- package/template/cpp-app/src/App.idl +0 -3
- package/template/cpp-app/src/AutolinkedNativeModules.g.cpp +0 -13
- package/template/cpp-app/src/AutolinkedNativeModules.g.h +0 -10
- package/template/cpp-app/src/MainPage.cpp +0 -20
- package/template/cpp-app/src/MainPage.h +0 -19
- package/template/cpp-app/src/MainPage.idl +0 -10
- package/template/cpp-app/src/PropertySheet.props +0 -16
- package/template/cpp-app/src/ReactPackageProvider.cpp +0 -15
- package/template/cpp-app/src/ReactPackageProvider.h +0 -13
- package/template/cpp-app/src/pch.cpp +0 -1
- package/template/cpp-app/src/pch.h +0 -24
- package/template/cs-app/proj/MyApp.csproj +0 -162
- package/template/cs-app/proj/MyApp.sln +0 -191
- package/template/cs-app/src/App.xaml.cs +0 -62
- package/template/cs-app/src/AutolinkedNativeModules.g.cs +0 -13
- package/template/cs-app/src/MainPage.xaml.cs +0 -34
- package/template/cs-app/src/Properties/AssemblyInfo.cs +0 -29
- package/template/cs-app/src/Properties/Default.rd.xml +0 -32
- package/template/cs-app/src/ReactPackageProvider.cs +0 -17
- package/template/shared-app/assets/LockScreenLogo.scale-200.png +0 -0
- package/template/shared-app/assets/SplashScreen.scale-200.png +0 -0
- package/template/shared-app/assets/Square150x150Logo.scale-200.png +0 -0
- package/template/shared-app/assets/Square44x44Logo.scale-200.png +0 -0
- package/template/shared-app/assets/Square44x44Logo.targetsize-24_altform-unplated.png +0 -0
- package/template/shared-app/assets/StoreLogo.png +0 -0
- package/template/shared-app/assets/Wide310x150Logo.scale-200.png +0 -0
- package/template/shared-app/proj/ExperimentalFeatures.props +0 -32
- package/template/shared-app/proj/NuGet_Config +0 -19
- package/template/shared-app/src/App.xaml +0 -10
- package/template/shared-app/src/AutolinkedNativeModules.g.props +0 -6
- package/template/shared-app/src/AutolinkedNativeModules.g.targets +0 -6
- package/template/shared-app/src/MainPage.xaml +0 -21
- package/template/shared-app/src/Package.appxmanifest +0 -50
- package/templates/old/uwp-cpp-app/template.config.js +0 -15
- package/templates/old/uwp-cs-app/template.config.js +0 -15
|
@@ -6,7 +6,6 @@
|
|
|
6
6
|
#include <AppModelHelpers.h>
|
|
7
7
|
#include <CallInvoker.h>
|
|
8
8
|
#include <CppRuntimeOptions.h>
|
|
9
|
-
#include <CreateInstance.h>
|
|
10
9
|
#include <CreateModules.h>
|
|
11
10
|
#include <JSCallInvokerScheduler.h>
|
|
12
11
|
#include <OInstance.h>
|
|
@@ -17,7 +16,6 @@
|
|
|
17
16
|
#include <Threading/MessageQueueThreadFactory.h>
|
|
18
17
|
#include <TurboModuleManager.h>
|
|
19
18
|
#include <Utils/Helpers.h>
|
|
20
|
-
#include <Views/ViewManager.h>
|
|
21
19
|
#include <appModel.h>
|
|
22
20
|
#include <comUtil/qiCast.h>
|
|
23
21
|
#include <dispatchQueue/dispatchQueue.h>
|
|
@@ -26,7 +24,6 @@
|
|
|
26
24
|
#include <winrt/Windows.Storage.h>
|
|
27
25
|
#include <tuple>
|
|
28
26
|
#include "BaseScriptStoreImpl.h"
|
|
29
|
-
#include "ChakraRuntimeHolder.h"
|
|
30
27
|
#include "CrashManager.h"
|
|
31
28
|
#include "DevMenu.h"
|
|
32
29
|
#include "DynamicWriter.h"
|
|
@@ -34,7 +31,6 @@
|
|
|
34
31
|
#include "IReactContext.h"
|
|
35
32
|
#include "IReactDispatcher.h"
|
|
36
33
|
#include "IReactNotificationService.h"
|
|
37
|
-
#include "JSI/JSExecutorFactorySettings.h"
|
|
38
34
|
#include "JsiApi.h"
|
|
39
35
|
#include "Modules/DevSettingsModule.h"
|
|
40
36
|
#include "Modules/ExceptionsManager.h"
|
|
@@ -47,13 +43,11 @@
|
|
|
47
43
|
#include "MoveOnCopy.h"
|
|
48
44
|
#include "MsoUtils.h"
|
|
49
45
|
#include "NativeModules.h"
|
|
50
|
-
#include "NativeModulesProvider.h"
|
|
51
46
|
#include "ReactCoreInjection.h"
|
|
52
47
|
#include "ReactErrorProvider.h"
|
|
53
48
|
#include "RedBox.h"
|
|
54
49
|
#include "Unicode.h"
|
|
55
50
|
|
|
56
|
-
#ifdef USE_FABRIC
|
|
57
51
|
#include <Fabric/Composition/UriImageManager.h>
|
|
58
52
|
#include <Fabric/FabricUIManagerModule.h>
|
|
59
53
|
#include <Fabric/WindowsComponentDescriptorRegistry.h>
|
|
@@ -67,19 +61,10 @@
|
|
|
67
61
|
#include <react/runtime/TimerManager.h>
|
|
68
62
|
#include <react/threading/MessageQueueThreadImpl.h>
|
|
69
63
|
#include "Inspector/ReactInspectorThread.h"
|
|
70
|
-
#endif
|
|
71
|
-
|
|
72
|
-
#if !defined(CORE_ABI) && !defined(USE_FABRIC)
|
|
73
|
-
#include <LayoutService.h>
|
|
74
|
-
#include <XamlUIService.h>
|
|
75
|
-
#include "Modules/NativeUIManager.h"
|
|
76
|
-
#include "Modules/PaperUIManagerModule.h"
|
|
77
|
-
#endif
|
|
78
64
|
|
|
79
65
|
#ifndef CORE_ABI
|
|
80
66
|
#include <Utils/UwpPreparedScriptStore.h>
|
|
81
67
|
#include <Utils/UwpScriptStore.h>
|
|
82
|
-
#include "ConfigureBundlerDlg.h"
|
|
83
68
|
#include "Modules/AccessibilityInfoModule.h"
|
|
84
69
|
#include "Modules/AlertModule.h"
|
|
85
70
|
#include "Modules/AppStateModule.h"
|
|
@@ -89,8 +74,6 @@
|
|
|
89
74
|
#include "Modules/I18nManagerModule.h"
|
|
90
75
|
#include "Modules/LinkingManagerModule.h"
|
|
91
76
|
#include "Modules/LogBoxModule.h"
|
|
92
|
-
#else
|
|
93
|
-
#include "Modules/DesktopTimingModule.h"
|
|
94
77
|
#endif
|
|
95
78
|
#include "Modules/ExceptionsManager.h"
|
|
96
79
|
#include "Modules/PlatformConstantsWinModule.h"
|
|
@@ -98,28 +81,14 @@
|
|
|
98
81
|
#include "Modules/SourceCode.h"
|
|
99
82
|
#include "Modules/StatusBarManager.h"
|
|
100
83
|
|
|
101
|
-
#if !defined(CORE_ABI) || defined(USE_FABRIC)
|
|
102
84
|
#include <Modules/ImageViewManagerModule.h>
|
|
103
85
|
#include "Modules/Animated/NativeAnimatedModule.h"
|
|
104
|
-
#endif
|
|
105
86
|
|
|
106
87
|
#if defined(USE_V8)
|
|
107
88
|
#include "JSI/V8RuntimeHolder.h"
|
|
108
89
|
#include "V8JSIRuntimeHolder.h"
|
|
109
90
|
#endif // USE_V8
|
|
110
91
|
|
|
111
|
-
namespace Microsoft::ReactNative {
|
|
112
|
-
|
|
113
|
-
void AddStandardViewManagers(
|
|
114
|
-
std::vector<std::unique_ptr<Microsoft::ReactNative::IViewManager>> &viewManagers,
|
|
115
|
-
const Mso::React::IReactContext &context) noexcept;
|
|
116
|
-
|
|
117
|
-
std::shared_ptr<facebook::react::IUIManager> CreateUIManager2(
|
|
118
|
-
Mso::React::IReactContext *context,
|
|
119
|
-
std::vector<Microsoft::ReactNative::IViewManager> &&viewManagers) noexcept;
|
|
120
|
-
|
|
121
|
-
} // namespace Microsoft::ReactNative
|
|
122
|
-
|
|
123
92
|
using namespace winrt::Microsoft::ReactNative;
|
|
124
93
|
|
|
125
94
|
namespace Mso::React {
|
|
@@ -149,77 +118,6 @@ struct LoadedCallbackGuard {
|
|
|
149
118
|
Mso::CntPtr<ReactInstanceWin> m_reactInstance;
|
|
150
119
|
};
|
|
151
120
|
|
|
152
|
-
struct BridgeUIBatchInstanceCallback final : public facebook::react::InstanceCallback {
|
|
153
|
-
BridgeUIBatchInstanceCallback(Mso::WeakPtr<ReactInstanceWin> wkInstance) : m_wkInstance(wkInstance) {}
|
|
154
|
-
virtual ~BridgeUIBatchInstanceCallback() = default;
|
|
155
|
-
void onBatchComplete() override {
|
|
156
|
-
if (auto instance = m_wkInstance.GetStrongPtr()) {
|
|
157
|
-
auto state = instance->State();
|
|
158
|
-
if (state != ReactInstanceState::HasError && state != ReactInstanceState::Unloaded) {
|
|
159
|
-
if (instance->UseWebDebugger()) {
|
|
160
|
-
// While using a CxxModule for UIManager (which we do when running under webdebugger)
|
|
161
|
-
// We need to post the batch complete to the NativeQueue to ensure that the UIManager
|
|
162
|
-
// has posted everything from this batch into its queue before we complete the batch.
|
|
163
|
-
instance->m_jsDispatchQueue.Load().Post([wkInstance = m_wkInstance]() {
|
|
164
|
-
if (auto instance = wkInstance.GetStrongPtr()) {
|
|
165
|
-
instance->m_batchingUIThread->runOnQueue([wkInstance]() {
|
|
166
|
-
if (auto instance = wkInstance.GetStrongPtr()) {
|
|
167
|
-
auto propBag = ReactPropertyBag(instance->m_reactContext->Properties());
|
|
168
|
-
if (auto callback = propBag.Get(winrt::Microsoft::ReactNative::implementation::ReactCoreInjection::
|
|
169
|
-
UIBatchCompleteCallbackProperty())) {
|
|
170
|
-
(*callback)(instance->m_reactContext->Properties());
|
|
171
|
-
}
|
|
172
|
-
#if !defined(CORE_ABI) && !defined(USE_FABRIC)
|
|
173
|
-
if (auto uiManager = Microsoft::ReactNative::GetNativeUIManager(*instance->m_reactContext).lock()) {
|
|
174
|
-
uiManager->onBatchComplete();
|
|
175
|
-
}
|
|
176
|
-
#endif
|
|
177
|
-
}
|
|
178
|
-
});
|
|
179
|
-
|
|
180
|
-
// For UWP we use a batching message queue to optimize the usage
|
|
181
|
-
// of the CoreDispatcher. Win32 already has an optimized queue.
|
|
182
|
-
facebook::react::BatchingMessageQueueThread *batchingUIThread =
|
|
183
|
-
static_cast<facebook::react::BatchingMessageQueueThread *>(instance->m_batchingUIThread.get());
|
|
184
|
-
if (batchingUIThread != nullptr) {
|
|
185
|
-
batchingUIThread->onBatchComplete();
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
});
|
|
189
|
-
} else {
|
|
190
|
-
instance->m_batchingUIThread->runOnQueue([wkInstance = m_wkInstance]() {
|
|
191
|
-
if (auto instance = wkInstance.GetStrongPtr()) {
|
|
192
|
-
auto propBag = ReactPropertyBag(instance->m_reactContext->Properties());
|
|
193
|
-
if (auto callback = propBag.Get(winrt::Microsoft::ReactNative::implementation::ReactCoreInjection::
|
|
194
|
-
UIBatchCompleteCallbackProperty())) {
|
|
195
|
-
(*callback)(instance->m_reactContext->Properties());
|
|
196
|
-
}
|
|
197
|
-
#if !defined(CORE_ABI) && !defined(USE_FABRIC)
|
|
198
|
-
if (auto uiManager = Microsoft::ReactNative::GetNativeUIManager(*instance->m_reactContext).lock()) {
|
|
199
|
-
uiManager->onBatchComplete();
|
|
200
|
-
}
|
|
201
|
-
#endif
|
|
202
|
-
}
|
|
203
|
-
});
|
|
204
|
-
// For UWP we use a batching message queue to optimize the usage
|
|
205
|
-
// of the CoreDispatcher. Win32 already has an optimized queue.
|
|
206
|
-
facebook::react::BatchingMessageQueueThread *batchingUIThread =
|
|
207
|
-
static_cast<facebook::react::BatchingMessageQueueThread *>(instance->m_batchingUIThread.get());
|
|
208
|
-
if (batchingUIThread != nullptr) {
|
|
209
|
-
batchingUIThread->onBatchComplete();
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
}
|
|
214
|
-
}
|
|
215
|
-
void incrementPendingJSCalls() override {}
|
|
216
|
-
void decrementPendingJSCalls() override {}
|
|
217
|
-
|
|
218
|
-
Mso::WeakPtr<ReactInstanceWin> m_wkInstance;
|
|
219
|
-
Mso::CntPtr<Mso::React::ReactContext> m_context;
|
|
220
|
-
std::weak_ptr<facebook::react::MessageQueueThread> m_uiThread;
|
|
221
|
-
};
|
|
222
|
-
|
|
223
121
|
//=============================================================================================
|
|
224
122
|
// ReactInstanceWin implementation
|
|
225
123
|
//=============================================================================================
|
|
@@ -240,7 +138,6 @@ ReactInstanceWin::ReactInstanceWin(
|
|
|
240
138
|
m_isFastReloadEnabled(options.UseFastRefresh()),
|
|
241
139
|
m_isLiveReloadEnabled(options.UseLiveReload()),
|
|
242
140
|
m_updateUI{std::move(updateUI)},
|
|
243
|
-
m_useWebDebugger(options.UseWebDebugger()),
|
|
244
141
|
m_useDirectDebugger(options.UseDirectDebugger()),
|
|
245
142
|
m_debuggerBreakOnNextLine(options.DebuggerBreakOnNextLine()),
|
|
246
143
|
m_reactContext{Mso::Make<ReactContext>(
|
|
@@ -278,7 +175,6 @@ ReactInstanceWin::ReactInstanceWin(
|
|
|
278
175
|
propBag = m_options.Properties,
|
|
279
176
|
reactContext = m_reactContext]() noexcept {
|
|
280
177
|
whenLoaded.TryCancel(); // It only has an effect if whenLoaded was not set before
|
|
281
|
-
Microsoft::ReactNative::HermesRuntimeHolder::storeTo(ReactPropertyBag(reactContext->Properties()), nullptr);
|
|
282
178
|
if (onDestroyed) {
|
|
283
179
|
onDestroyed.Get()->Invoke(reactContext);
|
|
284
180
|
}
|
|
@@ -333,31 +229,15 @@ void ReactInstanceWin::InstanceCrashHandler(int fileDescriptor) noexcept {
|
|
|
333
229
|
|
|
334
230
|
void ReactInstanceWin::LoadModules(
|
|
335
231
|
const std::shared_ptr<facebook::react::DevSettings> &devSettings,
|
|
336
|
-
const std::shared_ptr<winrt::Microsoft::ReactNative::NativeModulesProvider> &nativeModulesProvider,
|
|
337
232
|
const std::shared_ptr<winrt::Microsoft::ReactNative::TurboModulesProvider> &turboModulesProvider) noexcept {
|
|
338
|
-
auto registerTurboModule = [this, &
|
|
233
|
+
auto registerTurboModule = [this, &turboModulesProvider](
|
|
339
234
|
const wchar_t *name, const ReactModuleProvider &provider) noexcept {
|
|
340
|
-
|
|
341
|
-
nativeModulesProvider->AddModuleProvider(name, provider);
|
|
342
|
-
} else {
|
|
343
|
-
turboModulesProvider->AddModuleProvider(name, provider, false);
|
|
344
|
-
}
|
|
235
|
+
turboModulesProvider->AddModuleProvider(name, provider, false);
|
|
345
236
|
};
|
|
346
237
|
|
|
347
|
-
#ifdef USE_FABRIC
|
|
348
|
-
if (Microsoft::ReactNative::IsFabricEnabled(m_reactContext->Properties())) {
|
|
349
|
-
registerTurboModule(
|
|
350
|
-
L"FabricUIManagerBinding",
|
|
351
|
-
winrt::Microsoft::ReactNative::MakeModuleProvider<::Microsoft::ReactNative::FabricUIManager>());
|
|
352
|
-
}
|
|
353
|
-
#endif
|
|
354
|
-
|
|
355
|
-
#if !defined(CORE_ABI) && !defined(USE_FABRIC)
|
|
356
238
|
registerTurboModule(
|
|
357
|
-
L"
|
|
358
|
-
|
|
359
|
-
winrt::Microsoft::ReactNative::MakeModuleProvider<::Microsoft::ReactNative::UIManager>());
|
|
360
|
-
#endif
|
|
239
|
+
L"FabricUIManagerBinding",
|
|
240
|
+
winrt::Microsoft::ReactNative::MakeModuleProvider<::Microsoft::ReactNative::FabricUIManager>());
|
|
361
241
|
|
|
362
242
|
#ifndef CORE_ABI
|
|
363
243
|
registerTurboModule(
|
|
@@ -393,23 +273,18 @@ void ReactInstanceWin::LoadModules(
|
|
|
393
273
|
winrt::Microsoft::ReactNative::MakeModuleProvider<::Microsoft::ReactNative::NativeAnimatedModule>());
|
|
394
274
|
|
|
395
275
|
#else
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
L"NativeAnimatedModule",
|
|
403
|
-
winrt::Microsoft::ReactNative::MakeModuleProvider<::Microsoft::ReactNative::NativeAnimatedModule>());
|
|
404
|
-
}
|
|
276
|
+
registerTurboModule(
|
|
277
|
+
L"ImageLoader", winrt::Microsoft::ReactNative::MakeTurboModuleProvider<::Microsoft::ReactNative::ImageLoader>());
|
|
278
|
+
|
|
279
|
+
registerTurboModule(
|
|
280
|
+
L"NativeAnimatedModule",
|
|
281
|
+
winrt::Microsoft::ReactNative::MakeModuleProvider<::Microsoft::ReactNative::NativeAnimatedModule>());
|
|
405
282
|
#endif
|
|
406
283
|
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
false);
|
|
412
|
-
}
|
|
284
|
+
turboModulesProvider->AddModuleProvider(
|
|
285
|
+
L"SampleTurboModule",
|
|
286
|
+
winrt::Microsoft::ReactNative::MakeTurboModuleProvider<::Microsoft::ReactNative::SampleTurboModule>(),
|
|
287
|
+
false);
|
|
413
288
|
|
|
414
289
|
::Microsoft::ReactNative::ExceptionsManager::SetRedBoxHander(
|
|
415
290
|
winrt::Microsoft::ReactNative::ReactPropertyBag(m_reactContext->Properties()), m_redboxHandler);
|
|
@@ -425,22 +300,21 @@ void ReactInstanceWin::LoadModules(
|
|
|
425
300
|
L"PlatformConstants",
|
|
426
301
|
winrt::Microsoft::ReactNative::MakeTurboModuleProvider<::Microsoft::ReactNative::PlatformConstants>());
|
|
427
302
|
uint32_t hermesBytecodeVersion = 0;
|
|
428
|
-
#if defined(
|
|
303
|
+
#if defined(ENABLE_DEVSERVER_HBCBUNDLES)
|
|
429
304
|
hermesBytecodeVersion = ::hermes::hbc::BYTECODE_VERSION;
|
|
430
305
|
#endif
|
|
431
306
|
|
|
432
|
-
std::string bundleUrl =
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
: devSettings->bundleRootPath;
|
|
307
|
+
std::string bundleUrl = devSettings->liveReloadCallback ? facebook::react::DevServerHelper::get_BundleUrl(
|
|
308
|
+
devSettings->sourceBundleHost,
|
|
309
|
+
devSettings->sourceBundlePort,
|
|
310
|
+
devSettings->debugBundlePath,
|
|
311
|
+
devSettings->platformName,
|
|
312
|
+
devSettings->bundleAppId,
|
|
313
|
+
devSettings->devBundle,
|
|
314
|
+
devSettings->useFastRefresh,
|
|
315
|
+
devSettings->inlineSourceMap,
|
|
316
|
+
hermesBytecodeVersion)
|
|
317
|
+
: devSettings->bundleRootPath;
|
|
444
318
|
::Microsoft::ReactNative::SourceCode::SetScriptUrl(
|
|
445
319
|
winrt::Microsoft::ReactNative::ReactPropertyBag(m_reactContext->Properties()), bundleUrl);
|
|
446
320
|
|
|
@@ -457,17 +331,9 @@ void ReactInstanceWin::LoadModules(
|
|
|
457
331
|
registerTurboModule(
|
|
458
332
|
L"LinkingManager",
|
|
459
333
|
winrt::Microsoft::ReactNative::MakeTurboModuleProvider<::Microsoft::ReactNative::LinkingManager>());
|
|
334
|
+
#endif
|
|
460
335
|
|
|
461
336
|
registerTurboModule(L"Timing", winrt::Microsoft::ReactNative::MakeModuleProvider<::Microsoft::ReactNative::Timing>());
|
|
462
|
-
#else
|
|
463
|
-
|
|
464
|
-
if (Microsoft::ReactNative::IsFabricEnabled(m_reactContext->Properties())) {
|
|
465
|
-
registerTurboModule(
|
|
466
|
-
L"Timing", winrt::Microsoft::ReactNative::MakeModuleProvider<::Microsoft::ReactNative::Timing>());
|
|
467
|
-
} else {
|
|
468
|
-
registerTurboModule(L"Timing", winrt::Microsoft::ReactNative::MakeModuleProvider<::facebook::react::Timing>());
|
|
469
|
-
}
|
|
470
|
-
#endif
|
|
471
337
|
|
|
472
338
|
registerTurboModule(
|
|
473
339
|
::Microsoft::React::GetWebSocketTurboModuleName(), ::Microsoft::React::GetWebSocketModuleProvider());
|
|
@@ -482,22 +348,11 @@ void ReactInstanceWin::LoadModules(
|
|
|
482
348
|
|
|
483
349
|
//! Initialize() is called from the native queue.
|
|
484
350
|
void ReactInstanceWin::Initialize() noexcept {
|
|
485
|
-
|
|
486
|
-
if (Microsoft::ReactNative::IsFabricEnabled(m_reactContext->Properties())) {
|
|
487
|
-
InitializeBridgeless();
|
|
488
|
-
} else
|
|
489
|
-
#endif
|
|
490
|
-
{
|
|
491
|
-
InitializeWithBridge();
|
|
492
|
-
}
|
|
351
|
+
InitializeBridgeless();
|
|
493
352
|
}
|
|
494
353
|
|
|
495
354
|
void ReactInstanceWin::InitDevMenu() noexcept {
|
|
496
|
-
Microsoft::ReactNative::DevMenuManager::InitDevMenu(m_reactContext, [weakReactHost = m_weakReactHost]() noexcept {
|
|
497
|
-
#if !defined(CORE_ABI) && !defined(USE_FABRIC)
|
|
498
|
-
Microsoft::ReactNative::ShowConfigureBundlerDialog(weakReactHost);
|
|
499
|
-
#endif // CORE_ABI
|
|
500
|
-
});
|
|
355
|
+
Microsoft::ReactNative::DevMenuManager::InitDevMenu(m_reactContext, [weakReactHost = m_weakReactHost]() noexcept {});
|
|
501
356
|
}
|
|
502
357
|
|
|
503
358
|
void ReactInstanceWin::InitUIDependentCalls() noexcept {
|
|
@@ -525,13 +380,10 @@ std::shared_ptr<facebook::react::DevSettings> ReactInstanceWin::CreateDevSetting
|
|
|
525
380
|
devSettings->debuggerBreakOnNextLine = m_debuggerBreakOnNextLine;
|
|
526
381
|
devSettings->debuggerPort = m_options.DeveloperSettings.DebuggerPort;
|
|
527
382
|
devSettings->debuggerRuntimeName = m_options.DeveloperSettings.DebuggerRuntimeName;
|
|
528
|
-
devSettings->useWebDebugger = m_useWebDebugger;
|
|
529
383
|
devSettings->useFastRefresh = m_isFastReloadEnabled;
|
|
530
384
|
devSettings->bundleRootPath = BundleRootPath();
|
|
531
385
|
devSettings->platformName =
|
|
532
386
|
winrt::Microsoft::ReactNative::implementation::ReactCoreInjection::GetPlatformName(m_reactContext->Properties());
|
|
533
|
-
devSettings->waitingForDebuggerCallback = GetWaitingForDebuggerCallback();
|
|
534
|
-
devSettings->debuggerAttachCallback = GetDebuggerAttachCallback();
|
|
535
387
|
devSettings->enableDefaultCrashHandler = m_options.EnableDefaultCrashHandler();
|
|
536
388
|
devSettings->bundleAppId = BundleAppId();
|
|
537
389
|
devSettings->devBundle = RequestDevBundle();
|
|
@@ -583,8 +435,6 @@ std::unique_ptr<facebook::jsi::PreparedScriptStore> CreatePreparedScriptStore()
|
|
|
583
435
|
return preparedScriptStore;
|
|
584
436
|
}
|
|
585
437
|
|
|
586
|
-
#ifdef USE_FABRIC
|
|
587
|
-
|
|
588
438
|
typedef HRESULT(__stdcall *SetThreadDescriptionFn)(HANDLE, PCWSTR);
|
|
589
439
|
void SetJSThreadDescription() noexcept {
|
|
590
440
|
// Office still supports Server 2016 so we need to use Run Time Dynamic Linking and cannot just use:
|
|
@@ -635,8 +485,7 @@ void ReactInstanceWin::InitializeBridgeless() noexcept {
|
|
|
635
485
|
if (devSettings->useFastRefresh || devSettings->liveReloadCallback) {
|
|
636
486
|
Microsoft::ReactNative::PackagerConnection::CreateOrReusePackagerConnection(*devSettings);
|
|
637
487
|
}
|
|
638
|
-
|
|
639
|
-
LoadModules(devSettings, nullptr, m_options.TurboModuleProvider);
|
|
488
|
+
LoadModules(devSettings, m_options.TurboModuleProvider);
|
|
640
489
|
|
|
641
490
|
auto jsMessageThread = std::make_shared<facebook::react::MessageQueueThreadImpl>();
|
|
642
491
|
m_jsMessageThread.Exchange(jsMessageThread);
|
|
@@ -763,7 +612,6 @@ void ReactInstanceWin::InitializeBridgeless() noexcept {
|
|
|
763
612
|
}
|
|
764
613
|
});
|
|
765
614
|
}
|
|
766
|
-
#endif
|
|
767
615
|
|
|
768
616
|
void ReactInstanceWin::FireInstanceCreatedCallback() noexcept {
|
|
769
617
|
// The InstanceCreated event can be used to augment the JS environment for all JS code. So it needs to be
|
|
@@ -777,158 +625,6 @@ void ReactInstanceWin::FireInstanceCreatedCallback() noexcept {
|
|
|
777
625
|
});
|
|
778
626
|
}
|
|
779
627
|
|
|
780
|
-
void ReactInstanceWin::InitializeWithBridge() noexcept {
|
|
781
|
-
InitJSMessageThread();
|
|
782
|
-
InitNativeMessageThread();
|
|
783
|
-
|
|
784
|
-
InitUIQueue();
|
|
785
|
-
InitUIMessageThread();
|
|
786
|
-
|
|
787
|
-
#if !defined(CORE_ABI) && !defined(USE_FABRIC)
|
|
788
|
-
// InitUIManager uses m_legacyReactInstance
|
|
789
|
-
InitUIManager();
|
|
790
|
-
#endif
|
|
791
|
-
|
|
792
|
-
InitDevMenu();
|
|
793
|
-
#ifdef USE_FABRIC
|
|
794
|
-
winrt::Microsoft::ReactNative::Composition::implementation::UriImageManager::Install(
|
|
795
|
-
ReactPropertyBag(m_reactContext->Properties()), m_options.UriImageManager);
|
|
796
|
-
#endif
|
|
797
|
-
|
|
798
|
-
m_uiQueue->Post([this, weakThis = Mso::WeakPtr{this}]() noexcept {
|
|
799
|
-
// Objects that must be created on the UI thread
|
|
800
|
-
if (auto strongThis = weakThis.GetStrongPtr()) {
|
|
801
|
-
InitUIDependentCalls();
|
|
802
|
-
strongThis->Queue().Post([this, weakThis]() noexcept {
|
|
803
|
-
if (auto strongThis = weakThis.GetStrongPtr()) {
|
|
804
|
-
auto devSettings = strongThis->CreateDevSettings();
|
|
805
|
-
|
|
806
|
-
auto getBoolProperty = [properties = ReactPropertyBag{m_options.Properties}](
|
|
807
|
-
const wchar_t *ns, const wchar_t *name, bool defaultValue) noexcept -> bool {
|
|
808
|
-
ReactPropertyId<bool> propId{ns == nullptr ? ReactPropertyNamespace() : ReactPropertyNamespace(ns), name};
|
|
809
|
-
std::optional<bool> propValue = properties.Get(propId);
|
|
810
|
-
return propValue.value_or(defaultValue);
|
|
811
|
-
};
|
|
812
|
-
|
|
813
|
-
devSettings->useWebSocketTurboModule = getBoolProperty(nullptr, L"UseWebSocketTurboModule", false);
|
|
814
|
-
|
|
815
|
-
std::vector<facebook::react::NativeModuleDescription> cxxModules;
|
|
816
|
-
auto nmp = std::make_shared<winrt::Microsoft::ReactNative::NativeModulesProvider>();
|
|
817
|
-
|
|
818
|
-
LoadModules(devSettings, nmp, m_options.TurboModuleProvider);
|
|
819
|
-
|
|
820
|
-
auto modules = nmp->GetModules(m_reactContext, m_jsMessageThread.Load());
|
|
821
|
-
cxxModules.insert(
|
|
822
|
-
cxxModules.end(), std::make_move_iterator(modules.begin()), std::make_move_iterator(modules.end()));
|
|
823
|
-
|
|
824
|
-
if (m_options.ModuleProvider != nullptr) {
|
|
825
|
-
std::vector<facebook::react::NativeModuleDescription> customCxxModules =
|
|
826
|
-
m_options.ModuleProvider->GetModules(m_reactContext, m_jsMessageThread.Load());
|
|
827
|
-
cxxModules.insert(std::end(cxxModules), std::begin(customCxxModules), std::end(customCxxModules));
|
|
828
|
-
}
|
|
829
|
-
|
|
830
|
-
std::unique_ptr<facebook::jsi::ScriptStore> scriptStore = nullptr;
|
|
831
|
-
std::unique_ptr<facebook::jsi::PreparedScriptStore> preparedScriptStore = nullptr;
|
|
832
|
-
|
|
833
|
-
if (const auto jsExecutorFactoryDelegate =
|
|
834
|
-
Microsoft::JSI::JSExecutorFactorySettings::GetJSExecutorFactoryDelegate(
|
|
835
|
-
winrt::Microsoft::ReactNative::ReactPropertyBag(strongThis->Options().Properties))) {
|
|
836
|
-
devSettings->jsExecutorFactoryDelegate = jsExecutorFactoryDelegate;
|
|
837
|
-
if (m_options.JsiEngine() == JSIEngine::Hermes) {
|
|
838
|
-
devSettings->jsiEngineOverride = facebook::react::JSIEngineOverride::Hermes;
|
|
839
|
-
}
|
|
840
|
-
} else {
|
|
841
|
-
switch (m_options.JsiEngine()) {
|
|
842
|
-
case JSIEngine::Hermes: {
|
|
843
|
-
preparedScriptStore = CreatePreparedScriptStore();
|
|
844
|
-
|
|
845
|
-
auto hermesRuntimeHolder = std::make_shared<Microsoft::ReactNative::HermesRuntimeHolder>(
|
|
846
|
-
devSettings, m_jsMessageThread.Load(), std::move(preparedScriptStore));
|
|
847
|
-
Microsoft::ReactNative::HermesRuntimeHolder::storeTo(
|
|
848
|
-
ReactPropertyBag(m_reactContext->Properties()), hermesRuntimeHolder);
|
|
849
|
-
devSettings->jsiRuntimeHolder = hermesRuntimeHolder;
|
|
850
|
-
break;
|
|
851
|
-
}
|
|
852
|
-
case JSIEngine::V8:
|
|
853
|
-
#if defined(USE_V8)
|
|
854
|
-
{
|
|
855
|
-
preparedScriptStore = CreatePreparedScriptStore();
|
|
856
|
-
bool enableMultiThreadSupport{false};
|
|
857
|
-
#ifdef USE_FABRIC
|
|
858
|
-
enableMultiThreadSupport = Microsoft::ReactNative::IsFabricEnabled(m_reactContext->Properties());
|
|
859
|
-
#endif // USE_FABRIC
|
|
860
|
-
|
|
861
|
-
if (m_options.JsiEngineV8NodeApi()) {
|
|
862
|
-
devSettings->jsiRuntimeHolder = std::make_shared<Microsoft::ReactNative::V8RuntimeHolder>(
|
|
863
|
-
devSettings, m_jsMessageThread.Load(), std::move(preparedScriptStore), enableMultiThreadSupport);
|
|
864
|
-
} else {
|
|
865
|
-
devSettings->jsiRuntimeHolder = std::make_shared<facebook::react::V8JSIRuntimeHolder>(
|
|
866
|
-
devSettings,
|
|
867
|
-
m_jsMessageThread.Load(),
|
|
868
|
-
std::move(scriptStore),
|
|
869
|
-
std::move(preparedScriptStore),
|
|
870
|
-
enableMultiThreadSupport);
|
|
871
|
-
}
|
|
872
|
-
|
|
873
|
-
break;
|
|
874
|
-
}
|
|
875
|
-
#endif // USE_V8
|
|
876
|
-
case JSIEngine::Chakra:
|
|
877
|
-
#ifndef CORE_ABI
|
|
878
|
-
if (m_options.EnableByteCodeCaching || !m_options.ByteCodeFileUri.empty()) {
|
|
879
|
-
scriptStore = std::make_unique<Microsoft::ReactNative::UwpScriptStore>();
|
|
880
|
-
preparedScriptStore = std::make_unique<Microsoft::ReactNative::UwpPreparedScriptStore>(
|
|
881
|
-
winrt::to_hstring(m_options.ByteCodeFileUri));
|
|
882
|
-
}
|
|
883
|
-
#endif
|
|
884
|
-
devSettings->jsiRuntimeHolder = std::make_shared<Microsoft::JSI::ChakraRuntimeHolder>(
|
|
885
|
-
devSettings, m_jsMessageThread.Load(), std::move(scriptStore), std::move(preparedScriptStore));
|
|
886
|
-
break;
|
|
887
|
-
}
|
|
888
|
-
}
|
|
889
|
-
|
|
890
|
-
m_jsiRuntimeHolder = devSettings->jsiRuntimeHolder;
|
|
891
|
-
|
|
892
|
-
try {
|
|
893
|
-
// We need to keep the instance wrapper alive as its destruction shuts down the native queue.
|
|
894
|
-
m_options.TurboModuleProvider->SetReactContext(
|
|
895
|
-
winrt::make<implementation::ReactContext>(Mso::Copy(m_reactContext)));
|
|
896
|
-
|
|
897
|
-
auto bundleRootPath = devSettings->bundleRootPath;
|
|
898
|
-
auto jsiRuntimeHolder = devSettings->jsiRuntimeHolder;
|
|
899
|
-
auto instanceWrapper = facebook::react::CreateReactInstance(
|
|
900
|
-
std::shared_ptr<facebook::react::Instance>(strongThis->m_instance.Load()),
|
|
901
|
-
std::move(bundleRootPath), // bundleRootPath
|
|
902
|
-
std::move(cxxModules),
|
|
903
|
-
m_options.TurboModuleProvider,
|
|
904
|
-
m_options.TurboModuleProvider->LongLivedObjectCollection(),
|
|
905
|
-
m_reactContext->Properties(),
|
|
906
|
-
std::make_unique<BridgeUIBatchInstanceCallback>(weakThis),
|
|
907
|
-
m_jsMessageThread.Load(),
|
|
908
|
-
m_nativeMessageThread.Load(),
|
|
909
|
-
std::move(devSettings));
|
|
910
|
-
|
|
911
|
-
m_instanceWrapper.Exchange(std::move(instanceWrapper));
|
|
912
|
-
|
|
913
|
-
FireInstanceCreatedCallback();
|
|
914
|
-
LoadJSBundles();
|
|
915
|
-
SetupHMRClient();
|
|
916
|
-
|
|
917
|
-
} catch (std::exception &e) {
|
|
918
|
-
OnErrorWithMessage(e.what());
|
|
919
|
-
OnErrorWithMessage("UwpReactInstance: Failed to create React Instance.");
|
|
920
|
-
} catch (winrt::hresult_error const &e) {
|
|
921
|
-
OnErrorWithMessage(Microsoft::Common::Unicode::Utf16ToUtf8(e.message().c_str(), e.message().size()));
|
|
922
|
-
OnErrorWithMessage("UwpReactInstance: Failed to create React Instance.");
|
|
923
|
-
} catch (...) {
|
|
924
|
-
OnErrorWithMessage("UwpReactInstance: Failed to create React Instance.");
|
|
925
|
-
}
|
|
926
|
-
}
|
|
927
|
-
});
|
|
928
|
-
};
|
|
929
|
-
});
|
|
930
|
-
}
|
|
931
|
-
|
|
932
628
|
void ReactInstanceWin::SetupHMRClient() noexcept {
|
|
933
629
|
if (UseDeveloperSupport() && State() != ReactInstanceState::HasError) {
|
|
934
630
|
folly::dynamic params = folly::dynamic::array(
|
|
@@ -943,65 +639,6 @@ void ReactInstanceWin::SetupHMRClient() noexcept {
|
|
|
943
639
|
}
|
|
944
640
|
}
|
|
945
641
|
|
|
946
|
-
void ReactInstanceWin::LoadJSBundles() noexcept {
|
|
947
|
-
//
|
|
948
|
-
// We use m_jsMessageThread to load JS bundles synchronously. In that case we only load
|
|
949
|
-
// them if the m_jsMessageThread is not shut down (quitSynchronous() is not called).
|
|
950
|
-
// After the load we call OnReactInstanceLoaded callback on native queue.
|
|
951
|
-
//
|
|
952
|
-
// Note that the instance could be destroyed while we are loading JS Bundles.
|
|
953
|
-
// Though, the JS engine is not destroyed until this work item is not finished.
|
|
954
|
-
// Thus, we check the m_isDestroyed flag to see if we should do an early exit.
|
|
955
|
-
// Also, since we have to guarantee that the OnReactInstanceLoaded callback is called before
|
|
956
|
-
// the OnReactInstanceDestroyed callback, the OnReactInstanceLoaded is called right before the
|
|
957
|
-
// OnReactInstanceDestroyed callback in the Destroy() method. In that case any OnReactInstanceLoaded
|
|
958
|
-
// calls after we finish this JS message queue work item is ignored.
|
|
959
|
-
//
|
|
960
|
-
// The LoadedCallbackGuard is used for the case when runOnQueue does not execute the lambda
|
|
961
|
-
// before destroying it. It may happen if the m_jsMessageThread is already shutdown.
|
|
962
|
-
// In that case, the LoadedCallbackGuard notifies about cancellation by calling OnReactInstanceLoaded.
|
|
963
|
-
// The OnReactInstanceLoaded internally only accepts the first call and ignores others.
|
|
964
|
-
//
|
|
965
|
-
|
|
966
|
-
if (m_useWebDebugger || m_isFastReloadEnabled) {
|
|
967
|
-
// Getting bundle from the packager, so do everything async.
|
|
968
|
-
auto instanceWrapper = m_instanceWrapper.LoadWithLock();
|
|
969
|
-
instanceWrapper->loadBundle(Mso::Copy(JavaScriptBundleFile()));
|
|
970
|
-
|
|
971
|
-
m_jsMessageThread.Load()->runOnQueue(
|
|
972
|
-
[weakThis = Mso::WeakPtr{this},
|
|
973
|
-
loadCallbackGuard = Mso::MakeMoveOnCopyWrapper(LoadedCallbackGuard{*this})]() noexcept {
|
|
974
|
-
if (auto strongThis = weakThis.GetStrongPtr()) {
|
|
975
|
-
if (strongThis->State() != ReactInstanceState::HasError) {
|
|
976
|
-
strongThis->OnReactInstanceLoaded(Mso::ErrorCode{});
|
|
977
|
-
}
|
|
978
|
-
}
|
|
979
|
-
});
|
|
980
|
-
} else {
|
|
981
|
-
m_jsMessageThread.Load()->runOnQueue(
|
|
982
|
-
[weakThis = Mso::WeakPtr{this},
|
|
983
|
-
loadCallbackGuard = Mso::MakeMoveOnCopyWrapper(LoadedCallbackGuard{*this})]() noexcept {
|
|
984
|
-
if (auto strongThis = weakThis.GetStrongPtr()) {
|
|
985
|
-
auto instance = strongThis->m_instance.LoadWithLock();
|
|
986
|
-
auto instanceWrapper = strongThis->m_instanceWrapper.LoadWithLock();
|
|
987
|
-
if (!instance || !instanceWrapper) {
|
|
988
|
-
return;
|
|
989
|
-
}
|
|
990
|
-
|
|
991
|
-
try {
|
|
992
|
-
instanceWrapper->loadBundleSync(Mso::Copy(strongThis->JavaScriptBundleFile()));
|
|
993
|
-
if (strongThis->State() != ReactInstanceState::HasError) {
|
|
994
|
-
strongThis->OnReactInstanceLoaded(Mso::ErrorCode{});
|
|
995
|
-
}
|
|
996
|
-
} catch (...) {
|
|
997
|
-
strongThis->OnReactInstanceLoaded(Mso::ExceptionErrorProvider().MakeErrorCode(std::current_exception()));
|
|
998
|
-
}
|
|
999
|
-
}
|
|
1000
|
-
});
|
|
1001
|
-
}
|
|
1002
|
-
}
|
|
1003
|
-
|
|
1004
|
-
#ifdef USE_FABRIC
|
|
1005
642
|
void ReactInstanceWin::LoadJSBundlesBridgeless(std::shared_ptr<facebook::react::DevSettings> devSettings) noexcept {
|
|
1006
643
|
if (m_isFastReloadEnabled) {
|
|
1007
644
|
// Getting bundle from the packager, so do everything async.
|
|
@@ -1042,7 +679,6 @@ void ReactInstanceWin::LoadJSBundlesBridgeless(std::shared_ptr<facebook::react::
|
|
|
1042
679
|
});
|
|
1043
680
|
}
|
|
1044
681
|
}
|
|
1045
|
-
#endif
|
|
1046
682
|
|
|
1047
683
|
void ReactInstanceWin::OnReactInstanceLoaded(const Mso::ErrorCode &errorCode) noexcept {
|
|
1048
684
|
bool isLoadedExpected = false;
|
|
@@ -1071,22 +707,6 @@ Mso::Future<void> ReactInstanceWin::Destroy() noexcept {
|
|
|
1071
707
|
m_state = ReactInstanceState::Unloaded;
|
|
1072
708
|
AbandonJSCallQueue();
|
|
1073
709
|
|
|
1074
|
-
// Make sure that the instance is not destroyed yet
|
|
1075
|
-
if (auto instance = m_instance.Exchange(nullptr)) {
|
|
1076
|
-
{
|
|
1077
|
-
// Release the JSI runtime
|
|
1078
|
-
std::scoped_lock lock{m_mutex};
|
|
1079
|
-
m_jsiRuntimeHolder = nullptr;
|
|
1080
|
-
m_jsiRuntime = nullptr;
|
|
1081
|
-
}
|
|
1082
|
-
// Release the message queues before the ui manager and instance.
|
|
1083
|
-
m_nativeMessageThread.Exchange(nullptr);
|
|
1084
|
-
m_jsMessageThread.Exchange(nullptr);
|
|
1085
|
-
m_instanceWrapper.Exchange(nullptr);
|
|
1086
|
-
m_jsDispatchQueue.Exchange(nullptr);
|
|
1087
|
-
}
|
|
1088
|
-
|
|
1089
|
-
#ifdef USE_FABRIC
|
|
1090
710
|
if (m_bridgelessReactInstance) {
|
|
1091
711
|
if (auto jsMessageThread = m_jsMessageThread.Exchange(nullptr)) {
|
|
1092
712
|
jsMessageThread->runOnQueueSync([&]() noexcept {
|
|
@@ -1114,7 +734,6 @@ Mso::Future<void> ReactInstanceWin::Destroy() noexcept {
|
|
|
1114
734
|
});
|
|
1115
735
|
}
|
|
1116
736
|
}
|
|
1117
|
-
#endif
|
|
1118
737
|
|
|
1119
738
|
return m_whenDestroyedResult;
|
|
1120
739
|
}
|
|
@@ -1127,89 +746,11 @@ ReactInstanceState ReactInstanceWin::State() const noexcept {
|
|
|
1127
746
|
return m_state;
|
|
1128
747
|
}
|
|
1129
748
|
|
|
1130
|
-
void ReactInstanceWin::InitJSMessageThread() noexcept {
|
|
1131
|
-
m_instance.Exchange(std::make_shared<facebook::react::Instance>());
|
|
1132
|
-
|
|
1133
|
-
auto callInvoker = m_instance.Load()->getJSCallInvoker();
|
|
1134
|
-
auto scheduler = Mso::MakeJSCallInvokerScheduler(
|
|
1135
|
-
CreateDispatchQueueSettings(m_reactContext->Notifications()),
|
|
1136
|
-
std::shared_ptr<facebook::react::CallInvoker>(callInvoker),
|
|
1137
|
-
Mso::MakeWeakMemberFunctor(this, &ReactInstanceWin::OnError),
|
|
1138
|
-
Mso::Copy(m_whenDestroyed));
|
|
1139
|
-
auto jsDispatchQueue = Mso::DispatchQueue::MakeCustomQueue(Mso::CntPtr(scheduler));
|
|
1140
|
-
|
|
1141
|
-
winrt::Microsoft::ReactNative::implementation::CallInvoker::SetProperties(
|
|
1142
|
-
ReactPropertyBag(m_options.Properties),
|
|
1143
|
-
winrt::make<winrt::Microsoft::ReactNative::implementation::CallInvoker>(
|
|
1144
|
-
*m_reactContext, std::shared_ptr<facebook::react::CallInvoker>(callInvoker)));
|
|
1145
|
-
|
|
1146
|
-
auto jsDispatcher =
|
|
1147
|
-
winrt::make<winrt::Microsoft::ReactNative::implementation::ReactDispatcher>(Mso::Copy(jsDispatchQueue));
|
|
1148
|
-
m_options.Properties.Set(ReactDispatcherHelper::JSDispatcherProperty(), jsDispatcher);
|
|
1149
|
-
|
|
1150
|
-
m_jsMessageThread.Exchange(qi_cast<Mso::IJSCallInvokerQueueScheduler>(scheduler.Get())->GetMessageQueue());
|
|
1151
|
-
m_jsDispatchQueue.Exchange(std::move(jsDispatchQueue));
|
|
1152
|
-
}
|
|
1153
|
-
|
|
1154
|
-
void ReactInstanceWin::InitNativeMessageThread() noexcept {
|
|
1155
|
-
// Native queue was already given us in constructor.
|
|
1156
|
-
m_nativeMessageThread.Exchange(
|
|
1157
|
-
std::make_shared<MessageDispatchQueue>(Queue(), Mso::MakeWeakMemberFunctor(this, &ReactInstanceWin::OnError)));
|
|
1158
|
-
}
|
|
1159
|
-
|
|
1160
749
|
void ReactInstanceWin::InitUIQueue() noexcept {
|
|
1161
750
|
m_uiQueue = winrt::Microsoft::ReactNative::implementation::ReactDispatcher::GetUIDispatchQueue2(m_options.Properties);
|
|
1162
751
|
VerifyElseCrashSz(m_uiQueue, "No UI Dispatcher provided");
|
|
1163
752
|
}
|
|
1164
753
|
|
|
1165
|
-
void ReactInstanceWin::InitUIMessageThread() noexcept {
|
|
1166
|
-
m_uiMessageThread.Exchange(std::make_shared<MessageDispatchQueue2>(
|
|
1167
|
-
*m_uiQueue, Mso::MakeWeakMemberFunctor(this, &ReactInstanceWin::OnError)));
|
|
1168
|
-
|
|
1169
|
-
auto batchingUIThread = Microsoft::ReactNative::MakeBatchingQueueThread(m_uiMessageThread.Load());
|
|
1170
|
-
m_batchingUIThread = batchingUIThread;
|
|
1171
|
-
|
|
1172
|
-
ReactPropertyBag(m_reactContext->Properties())
|
|
1173
|
-
.Set(
|
|
1174
|
-
winrt::Microsoft::ReactNative::implementation::ReactCoreInjection::PostToUIBatchingQueueProperty(),
|
|
1175
|
-
[wkBatchingUIThread = std::weak_ptr<facebook::react::BatchingMessageQueueThread>(batchingUIThread)](
|
|
1176
|
-
winrt::Microsoft::ReactNative::ReactDispatcherCallback const &callback) {
|
|
1177
|
-
if (auto batchingUIThread = wkBatchingUIThread.lock()) {
|
|
1178
|
-
batchingUIThread->runOnQueue(callback);
|
|
1179
|
-
}
|
|
1180
|
-
});
|
|
1181
|
-
|
|
1182
|
-
m_jsDispatchQueue.Load().Post(
|
|
1183
|
-
[batchingUIThread, instance = std::weak_ptr<facebook::react::Instance>(m_instance.Load())]() noexcept {
|
|
1184
|
-
batchingUIThread->decoratedNativeCallInvokerReady(instance);
|
|
1185
|
-
});
|
|
1186
|
-
}
|
|
1187
|
-
|
|
1188
|
-
#if !defined(CORE_ABI) && !defined(USE_FABRIC)
|
|
1189
|
-
void ReactInstanceWin::InitUIManager() noexcept {
|
|
1190
|
-
std::vector<std::unique_ptr<Microsoft::ReactNative::IViewManager>> viewManagers;
|
|
1191
|
-
|
|
1192
|
-
// Custom view managers
|
|
1193
|
-
if (m_options.ViewManagerProvider) {
|
|
1194
|
-
viewManagers = m_options.ViewManagerProvider->GetViewManagers(m_reactContext);
|
|
1195
|
-
}
|
|
1196
|
-
|
|
1197
|
-
Microsoft::ReactNative::AddStandardViewManagers(viewManagers, *m_reactContext);
|
|
1198
|
-
|
|
1199
|
-
auto uiManagerSettings = std::make_unique<Microsoft::ReactNative::UIManagerSettings>(
|
|
1200
|
-
m_batchingUIThread, m_uiMessageThread.Load(), std::move(viewManagers));
|
|
1201
|
-
Microsoft::ReactNative::UIManager::SetSettings(m_reactContext->Properties(), std::move(uiManagerSettings));
|
|
1202
|
-
|
|
1203
|
-
m_reactContext->Properties().Set(
|
|
1204
|
-
implementation::XamlUIService::XamlUIServiceProperty().Handle(),
|
|
1205
|
-
winrt::make<implementation::XamlUIService>(m_reactContext));
|
|
1206
|
-
|
|
1207
|
-
m_reactContext->Properties().Set(
|
|
1208
|
-
implementation::LayoutService::LayoutServiceProperty().Handle(),
|
|
1209
|
-
winrt::make<implementation::LayoutService>(m_reactContext));
|
|
1210
|
-
}
|
|
1211
|
-
#endif
|
|
1212
|
-
|
|
1213
754
|
facebook::react::NativeLoggingHook ReactInstanceWin::GetLoggingCallback() noexcept {
|
|
1214
755
|
if (m_options.OnLogging) {
|
|
1215
756
|
return [logCallback = m_options.OnLogging](facebook::react::RCTLogLevel logLevel, const char *message) {
|
|
@@ -1273,7 +814,6 @@ std::function<void()> ReactInstanceWin::GetLiveReloadCallback() noexcept {
|
|
|
1273
814
|
|
|
1274
815
|
std::string ReactInstanceWin::GetBytecodeFileName() noexcept {
|
|
1275
816
|
// use bytecode caching if enabled and not debugging
|
|
1276
|
-
// (ChakraCore debugging does not work when bytecode caching is enabled)
|
|
1277
817
|
// TODO: implement
|
|
1278
818
|
// bool useByteCode = Mso::React::BytecodeOptimizationEnabled() && !m_options.DeveloperSettings.UseDirectDebugger;
|
|
1279
819
|
// return useByteCode ? Mso::React::GetBytecodeFilePath(m_options.Identity) : "";
|
|
@@ -1304,7 +844,6 @@ void ReactInstanceWin::OnError(const Mso::ErrorCode &errorCode) noexcept {
|
|
|
1304
844
|
m_updateUI();
|
|
1305
845
|
}
|
|
1306
846
|
|
|
1307
|
-
#ifdef USE_FABRIC
|
|
1308
847
|
void ReactInstanceWin::OnJSError(
|
|
1309
848
|
facebook::jsi::Runtime &runtime,
|
|
1310
849
|
const facebook::react::JsErrorHandler::ProcessedError &error) noexcept {
|
|
@@ -1333,7 +872,6 @@ void ReactInstanceWin::OnJSError(
|
|
|
1333
872
|
|
|
1334
873
|
m_updateUI();
|
|
1335
874
|
}
|
|
1336
|
-
#endif
|
|
1337
875
|
|
|
1338
876
|
void ReactInstanceWin::OnLiveReload() noexcept {
|
|
1339
877
|
if (auto reactHost = m_weakReactHost.GetStrongPtr()) {
|
|
@@ -1341,14 +879,6 @@ void ReactInstanceWin::OnLiveReload() noexcept {
|
|
|
1341
879
|
}
|
|
1342
880
|
}
|
|
1343
881
|
|
|
1344
|
-
std::function<void()> ReactInstanceWin::GetWaitingForDebuggerCallback() noexcept {
|
|
1345
|
-
if (m_useWebDebugger) {
|
|
1346
|
-
return Mso::MakeWeakMemberStdFunction(this, &ReactInstanceWin::OnWaitingForDebugger);
|
|
1347
|
-
}
|
|
1348
|
-
|
|
1349
|
-
return {};
|
|
1350
|
-
}
|
|
1351
|
-
|
|
1352
882
|
void ReactInstanceWin::OnWaitingForDebugger() noexcept {
|
|
1353
883
|
auto state = m_state.load();
|
|
1354
884
|
while (state == ReactInstanceState::Loading) {
|
|
@@ -1360,14 +890,6 @@ void ReactInstanceWin::OnWaitingForDebugger() noexcept {
|
|
|
1360
890
|
m_updateUI();
|
|
1361
891
|
}
|
|
1362
892
|
|
|
1363
|
-
std::function<void()> ReactInstanceWin::GetDebuggerAttachCallback() noexcept {
|
|
1364
|
-
if (m_useWebDebugger) {
|
|
1365
|
-
return Mso::MakeWeakMemberStdFunction(this, &ReactInstanceWin::OnDebuggerAttach);
|
|
1366
|
-
}
|
|
1367
|
-
|
|
1368
|
-
return {};
|
|
1369
|
-
}
|
|
1370
|
-
|
|
1371
893
|
void ReactInstanceWin::OnDebuggerAttach() noexcept {
|
|
1372
894
|
m_updateUI();
|
|
1373
895
|
}
|
|
@@ -1386,13 +908,8 @@ void ReactInstanceWin::DrainJSCallQueue() noexcept {
|
|
|
1386
908
|
}
|
|
1387
909
|
}
|
|
1388
910
|
|
|
1389
|
-
#ifdef USE_FABRIC
|
|
1390
911
|
if (m_bridgelessReactInstance) {
|
|
1391
912
|
m_bridgelessReactInstance->callFunctionOnModule(entry.ModuleName, entry.MethodName, std::move(entry.Args));
|
|
1392
|
-
} else
|
|
1393
|
-
#endif
|
|
1394
|
-
if (auto instance = m_instance.LoadWithLock()) {
|
|
1395
|
-
instance->callJSFunction(std::move(entry.ModuleName), std::move(entry.MethodName), std::move(entry.Args));
|
|
1396
913
|
}
|
|
1397
914
|
}
|
|
1398
915
|
}
|
|
@@ -1425,13 +942,8 @@ void ReactInstanceWin::CallJsFunction(
|
|
|
1425
942
|
}
|
|
1426
943
|
|
|
1427
944
|
if (shouldCall) {
|
|
1428
|
-
#ifdef USE_FABRIC
|
|
1429
945
|
if (m_bridgelessReactInstance) {
|
|
1430
946
|
m_bridgelessReactInstance->callFunctionOnModule(moduleName, method, std::move(params));
|
|
1431
|
-
} else
|
|
1432
|
-
#endif
|
|
1433
|
-
if (auto instance = m_instance.LoadWithLock()) {
|
|
1434
|
-
instance->callJSFunction(std::move(moduleName), std::move(method), std::move(params));
|
|
1435
947
|
}
|
|
1436
948
|
}
|
|
1437
949
|
}
|
|
@@ -1466,74 +978,10 @@ winrt::Microsoft::ReactNative::JsiRuntime ReactInstanceWin::JsiRuntime() noexcep
|
|
|
1466
978
|
}
|
|
1467
979
|
}
|
|
1468
980
|
|
|
1469
|
-
std::shared_ptr<facebook::react::Instance> ReactInstanceWin::GetInnerInstance() noexcept {
|
|
1470
|
-
return m_instance.LoadWithLock();
|
|
1471
|
-
}
|
|
1472
|
-
|
|
1473
981
|
bool ReactInstanceWin::IsLoaded() const noexcept {
|
|
1474
982
|
return m_state == ReactInstanceState::Loaded;
|
|
1475
983
|
}
|
|
1476
984
|
|
|
1477
|
-
void ReactInstanceWin::AttachMeasuredRootView(
|
|
1478
|
-
facebook::react::IReactRootView *rootView,
|
|
1479
|
-
const winrt::Microsoft::ReactNative::JSValueArgWriter &initialProps,
|
|
1480
|
-
bool useFabric) noexcept {
|
|
1481
|
-
if (State() == ReactInstanceState::HasError)
|
|
1482
|
-
return;
|
|
1483
|
-
|
|
1484
|
-
assert(!useFabric);
|
|
1485
|
-
#ifndef CORE_ABI
|
|
1486
|
-
if (!useFabric || m_useWebDebugger) {
|
|
1487
|
-
int64_t rootTag = -1;
|
|
1488
|
-
|
|
1489
|
-
#if !defined(CORE_ABI) && !defined(USE_FABRIC)
|
|
1490
|
-
if (auto uiManager = Microsoft::ReactNative::GetNativeUIManager(*m_reactContext).lock()) {
|
|
1491
|
-
rootTag = uiManager->AddMeasuredRootView(rootView);
|
|
1492
|
-
rootView->SetTag(rootTag);
|
|
1493
|
-
} else {
|
|
1494
|
-
assert(false);
|
|
1495
|
-
}
|
|
1496
|
-
#endif
|
|
1497
|
-
|
|
1498
|
-
std::string jsMainModuleName = rootView->JSComponentName();
|
|
1499
|
-
folly::dynamic params = folly::dynamic::array(
|
|
1500
|
-
std::move(jsMainModuleName),
|
|
1501
|
-
folly::dynamic::object("initialProps", DynamicWriter::ToDynamic(initialProps))("rootTag", rootTag)(
|
|
1502
|
-
"fabric", false));
|
|
1503
|
-
CallJsFunction("AppRegistry", "runApplication", std::move(params));
|
|
1504
|
-
}
|
|
1505
|
-
#endif
|
|
1506
|
-
}
|
|
1507
|
-
|
|
1508
|
-
void ReactInstanceWin::DetachRootView(facebook::react::IReactRootView *rootView, bool useFabric) noexcept {
|
|
1509
|
-
if (State() == ReactInstanceState::HasError)
|
|
1510
|
-
return;
|
|
1511
|
-
|
|
1512
|
-
auto rootTag = rootView->GetTag();
|
|
1513
|
-
folly::dynamic params = folly::dynamic::array(rootTag);
|
|
1514
|
-
|
|
1515
|
-
#ifdef USE_FABRIC
|
|
1516
|
-
if (useFabric && !m_useWebDebugger) {
|
|
1517
|
-
auto uiManager = ::Microsoft::ReactNative::FabricUIManager::FromProperties(
|
|
1518
|
-
winrt::Microsoft::ReactNative::ReactPropertyBag(m_reactContext->Properties()));
|
|
1519
|
-
uiManager->stopSurface(static_cast<facebook::react::SurfaceId>(rootTag));
|
|
1520
|
-
} else
|
|
1521
|
-
#endif
|
|
1522
|
-
{
|
|
1523
|
-
CallJsFunction("AppRegistry", "unmountApplicationComponentAtRootTag", std::move(params));
|
|
1524
|
-
}
|
|
1525
|
-
|
|
1526
|
-
// QUIRK: Legacy sync behavior can be re-enabled via EnableSyncDetachRootView option
|
|
1527
|
-
// The sync call was removed to prevent deadlocks with Hermes GC operations
|
|
1528
|
-
bool useSyncCall = winrt::Microsoft::ReactNative::implementation::QuirkSettings::GetUseRunOnQueueSync(
|
|
1529
|
-
winrt::Microsoft::ReactNative::ReactPropertyBag(m_reactContext->Properties()));
|
|
1530
|
-
if (useSyncCall) {
|
|
1531
|
-
// Legacy behavior: wait for JS thread to finish executing (can cause deadlocks)
|
|
1532
|
-
m_jsMessageThread.Load()->runOnQueueSync([]() {});
|
|
1533
|
-
}
|
|
1534
|
-
// Default behavior: no synchronization call to prevent deadlocks
|
|
1535
|
-
}
|
|
1536
|
-
|
|
1537
985
|
Mso::CntPtr<IReactInstanceInternal> MakeReactInstance(
|
|
1538
986
|
IReactHost &reactHost,
|
|
1539
987
|
ReactOptions &&options,
|
|
@@ -1544,10 +992,6 @@ Mso::CntPtr<IReactInstanceInternal> MakeReactInstance(
|
|
|
1544
992
|
reactHost, std::move(options), std::move(whenCreated), std::move(whenLoaded), std::move(updateUI));
|
|
1545
993
|
}
|
|
1546
994
|
|
|
1547
|
-
bool ReactInstanceWin::UseWebDebugger() const noexcept {
|
|
1548
|
-
return m_useWebDebugger;
|
|
1549
|
-
}
|
|
1550
|
-
|
|
1551
995
|
bool ReactInstanceWin::UseFastRefresh() const noexcept {
|
|
1552
996
|
return m_isFastReloadEnabled;
|
|
1553
997
|
}
|