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
package/Shared/JSI/ChakraApi.h
DELETED
|
@@ -1,474 +0,0 @@
|
|
|
1
|
-
// Copyright (c) Microsoft Corporation.
|
|
2
|
-
// Licensed under the MIT License.
|
|
3
|
-
|
|
4
|
-
#pragma once
|
|
5
|
-
|
|
6
|
-
#ifndef USE_EDGEMODE_JSRT
|
|
7
|
-
#define USE_EDGEMODE_JSRT
|
|
8
|
-
#endif
|
|
9
|
-
#include <jsrt.h>
|
|
10
|
-
|
|
11
|
-
#include <cassert>
|
|
12
|
-
#include <cstddef>
|
|
13
|
-
#include <cstdint>
|
|
14
|
-
#include <memory>
|
|
15
|
-
#include <string>
|
|
16
|
-
#include <string_view>
|
|
17
|
-
|
|
18
|
-
// We use macros to report errors.
|
|
19
|
-
// Macros provide more flexibility to show assert and provide failure context.
|
|
20
|
-
|
|
21
|
-
// Check condition and crash process if it fails.
|
|
22
|
-
#define ChakraVerifyElseCrash(condition, message) \
|
|
23
|
-
do { \
|
|
24
|
-
if (!(condition)) { \
|
|
25
|
-
assert(false && "Failed: " #condition && (message)); \
|
|
26
|
-
*((int *)0) = 1; \
|
|
27
|
-
} \
|
|
28
|
-
} while (false)
|
|
29
|
-
|
|
30
|
-
// Throw native exception
|
|
31
|
-
#define ChakraThrow(message) ThrowNativeException(message);
|
|
32
|
-
|
|
33
|
-
// Check condition and throw native exception if it fails.
|
|
34
|
-
#define ChakraVerifyElseThrow(condition, message) \
|
|
35
|
-
do { \
|
|
36
|
-
if (!(condition)) { \
|
|
37
|
-
ThrowNativeException(message); \
|
|
38
|
-
} \
|
|
39
|
-
} while (false)
|
|
40
|
-
|
|
41
|
-
// Evaluate expression and throw JS exception if it fails.
|
|
42
|
-
#define ChakraVerifyJsErrorElseThrow(expression) \
|
|
43
|
-
do { \
|
|
44
|
-
JsErrorCode temp_error_code_ = (expression); \
|
|
45
|
-
if (temp_error_code_ != JsNoError) { \
|
|
46
|
-
ThrowJsException(temp_error_code_); \
|
|
47
|
-
} \
|
|
48
|
-
} while (false)
|
|
49
|
-
|
|
50
|
-
namespace Microsoft::JSI {
|
|
51
|
-
|
|
52
|
-
/**
|
|
53
|
-
* @brief A wrapper for Chakra APIs.
|
|
54
|
-
*
|
|
55
|
-
* The ChakraApi class wraps up the Chakra API functions in a way that:
|
|
56
|
-
* - functions throw exceptions instead of returning error code (derived class can define the exception types);
|
|
57
|
-
* - standard library types are used when possible to simplify usage.
|
|
58
|
-
*
|
|
59
|
-
* The order of the functions below follows the corresponding functions order in the chakrart.h
|
|
60
|
-
* Currently we only wrap up functions that are needed to implement the JSI API.
|
|
61
|
-
*/
|
|
62
|
-
struct ChakraApi {
|
|
63
|
-
/**
|
|
64
|
-
* @brief A smart pointer for JsRefs.
|
|
65
|
-
*
|
|
66
|
-
* JsRefs are references to objects owned by the garbage collector and include
|
|
67
|
-
* JsContextRef, JsValueRef, and JsPropertyIdRef, etc. JsRefHolder ensures
|
|
68
|
-
* that JsAddRef and JsRelease are called to handle the JsRef lifetime.
|
|
69
|
-
*/
|
|
70
|
-
struct JsRefHolder final {
|
|
71
|
-
JsRefHolder(std::nullptr_t = nullptr) noexcept {}
|
|
72
|
-
explicit JsRefHolder(JsRef ref) noexcept;
|
|
73
|
-
|
|
74
|
-
JsRefHolder(JsRefHolder const &other) noexcept;
|
|
75
|
-
JsRefHolder(JsRefHolder &&other) noexcept;
|
|
76
|
-
|
|
77
|
-
JsRefHolder &operator=(JsRefHolder const &other) noexcept;
|
|
78
|
-
JsRefHolder &operator=(JsRefHolder &&other) noexcept;
|
|
79
|
-
|
|
80
|
-
~JsRefHolder() noexcept;
|
|
81
|
-
|
|
82
|
-
operator JsRef() const noexcept {
|
|
83
|
-
return m_ref;
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
private:
|
|
87
|
-
JsRef m_ref{JS_INVALID_REFERENCE};
|
|
88
|
-
};
|
|
89
|
-
|
|
90
|
-
/**
|
|
91
|
-
* @brief Interface that helps override the exception being thrown.
|
|
92
|
-
*
|
|
93
|
-
* The ChakraApi uses the ExceptionThrowerHolder to retrieve the ExceptionThrower
|
|
94
|
-
* instance from the current thread.
|
|
95
|
-
*/
|
|
96
|
-
struct IExceptionThrower {
|
|
97
|
-
/**
|
|
98
|
-
* @brief Throws an exception based on the errorCore.
|
|
99
|
-
*
|
|
100
|
-
* The base implementation throws the generic std::exception.
|
|
101
|
-
* The method can be overridden in derived class to provide more specific exceptions.
|
|
102
|
-
*/
|
|
103
|
-
[[noreturn]] virtual void ThrowJsExceptionOverride(JsErrorCode errorCode, JsValueRef jsError) = 0;
|
|
104
|
-
|
|
105
|
-
/**
|
|
106
|
-
* @brief Throws an exception with the provided errorMessage.
|
|
107
|
-
*
|
|
108
|
-
* The base implementation throws the generic std::exception.
|
|
109
|
-
* The method can be overridden in derived class to provide more specific exceptions.
|
|
110
|
-
*/
|
|
111
|
-
[[noreturn]] virtual void ThrowNativeExceptionOverride(char const *errorMessage) = 0;
|
|
112
|
-
};
|
|
113
|
-
|
|
114
|
-
/**
|
|
115
|
-
* @brief A RAII class to hold IExceptionThrower instance in the thread local variable.
|
|
116
|
-
*/
|
|
117
|
-
struct ExceptionThrowerHolder final {
|
|
118
|
-
ExceptionThrowerHolder(IExceptionThrower *exceptionThrower) noexcept
|
|
119
|
-
: m_previous{std::exchange(tls_exceptionThrower, exceptionThrower)} {}
|
|
120
|
-
|
|
121
|
-
~ExceptionThrowerHolder() noexcept {
|
|
122
|
-
tls_exceptionThrower = m_previous;
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
static IExceptionThrower *Get() noexcept {
|
|
126
|
-
return tls_exceptionThrower;
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
private:
|
|
130
|
-
static thread_local IExceptionThrower *tls_exceptionThrower;
|
|
131
|
-
IExceptionThrower *const m_previous;
|
|
132
|
-
};
|
|
133
|
-
|
|
134
|
-
/**
|
|
135
|
-
* @brief Throws JavaScript exception with provided errorCode.
|
|
136
|
-
*/
|
|
137
|
-
[[noreturn]] static void ThrowJsException(JsErrorCode errorCode);
|
|
138
|
-
|
|
139
|
-
/**
|
|
140
|
-
* @brief Throws native exception with provided message.
|
|
141
|
-
*/
|
|
142
|
-
[[noreturn]] static void ThrowNativeException(char const *errorMessage);
|
|
143
|
-
|
|
144
|
-
/**
|
|
145
|
-
* @brief Creates a new runtime.
|
|
146
|
-
*/
|
|
147
|
-
static JsRuntimeHandle CreateRuntime(JsRuntimeAttributes attributes, JsThreadServiceCallback threadService);
|
|
148
|
-
|
|
149
|
-
/**
|
|
150
|
-
* @brief Disposes a runtime.
|
|
151
|
-
*/
|
|
152
|
-
static void DisposeRuntime(JsRuntimeHandle runtime);
|
|
153
|
-
|
|
154
|
-
/**
|
|
155
|
-
* @brief Adds a reference to a garbage collected object.
|
|
156
|
-
*/
|
|
157
|
-
static uint32_t AddRef(JsRef ref);
|
|
158
|
-
|
|
159
|
-
/**
|
|
160
|
-
* @brief Releases a reference to a garbage collected object.
|
|
161
|
-
*/
|
|
162
|
-
static uint32_t Release(JsRef ref);
|
|
163
|
-
|
|
164
|
-
/**
|
|
165
|
-
* @brief Creates a script context for running scripts.
|
|
166
|
-
*/
|
|
167
|
-
static JsContextRef CreateContext(JsRuntimeHandle runtime);
|
|
168
|
-
|
|
169
|
-
/**
|
|
170
|
-
* @brief Gets the current script context on the thread..
|
|
171
|
-
*/
|
|
172
|
-
JsContextRef GetCurrentContext();
|
|
173
|
-
|
|
174
|
-
/**
|
|
175
|
-
* @brief Sets the current script context on the thread.
|
|
176
|
-
*/
|
|
177
|
-
void SetCurrentContext(JsContextRef context);
|
|
178
|
-
|
|
179
|
-
/**
|
|
180
|
-
* @brief Gets the property ID associated with the name.
|
|
181
|
-
*/
|
|
182
|
-
static JsPropertyIdRef GetPropertyIdFromName(wchar_t const *name);
|
|
183
|
-
|
|
184
|
-
/**
|
|
185
|
-
* @brief Gets the property ID associated with the name.
|
|
186
|
-
*/
|
|
187
|
-
static JsPropertyIdRef GetPropertyIdFromName(std::string_view name);
|
|
188
|
-
|
|
189
|
-
/**
|
|
190
|
-
* @brief Gets the property ID associated with the string.
|
|
191
|
-
*/
|
|
192
|
-
static JsPropertyIdRef GetPropertyIdFromString(JsValueRef value);
|
|
193
|
-
|
|
194
|
-
/**
|
|
195
|
-
* @brief Gets the name associated with the property ID.
|
|
196
|
-
*/
|
|
197
|
-
static wchar_t const *GetPropertyNameFromId(JsPropertyIdRef propertyId);
|
|
198
|
-
|
|
199
|
-
/**
|
|
200
|
-
* @brief Gets the string associated with the property ID.
|
|
201
|
-
*/
|
|
202
|
-
static JsValueRef GetPropertyStringFromId(JsPropertyIdRef propertyId);
|
|
203
|
-
|
|
204
|
-
/**
|
|
205
|
-
* @brief Gets the symbol associated with the property ID.
|
|
206
|
-
*/
|
|
207
|
-
static JsValueRef GetSymbolFromPropertyId(JsPropertyIdRef propertyId);
|
|
208
|
-
|
|
209
|
-
/**
|
|
210
|
-
* @brief Gets the type of property.
|
|
211
|
-
*/
|
|
212
|
-
static JsPropertyIdType GetPropertyIdType(JsPropertyIdRef propertyId);
|
|
213
|
-
|
|
214
|
-
/**
|
|
215
|
-
* @brief Gets the property ID associated with the symbol.
|
|
216
|
-
*/
|
|
217
|
-
static JsPropertyIdRef GetPropertyIdFromSymbol(JsValueRef symbol);
|
|
218
|
-
|
|
219
|
-
/**
|
|
220
|
-
* @brief Creates symbol and gets the property ID associated with the symbol.
|
|
221
|
-
*/
|
|
222
|
-
static JsPropertyIdRef GetPropertyIdFromSymbol(std::wstring_view symbolDescription);
|
|
223
|
-
|
|
224
|
-
/**
|
|
225
|
-
* @brief Creates a JavaScript symbol.
|
|
226
|
-
*/
|
|
227
|
-
static JsValueRef CreateSymbol(JsValueRef symbolDescription);
|
|
228
|
-
|
|
229
|
-
/**
|
|
230
|
-
* @brief Creates a JavaScript symbol.
|
|
231
|
-
*/
|
|
232
|
-
static JsValueRef CreateSymbol(std::wstring_view symbolDescription);
|
|
233
|
-
|
|
234
|
-
/**
|
|
235
|
-
* @brief Gets the value of \c undefined in the current script context.
|
|
236
|
-
*/
|
|
237
|
-
static JsValueRef GetUndefinedValue();
|
|
238
|
-
|
|
239
|
-
/**
|
|
240
|
-
* @brief Gets the value of \c null in the current script context.
|
|
241
|
-
*/
|
|
242
|
-
static JsValueRef GetNullValue();
|
|
243
|
-
|
|
244
|
-
/**
|
|
245
|
-
* @brief Creates a Boolean value from a \c bool value.
|
|
246
|
-
*/
|
|
247
|
-
static JsValueRef BoolToBoolean(bool value);
|
|
248
|
-
|
|
249
|
-
/**
|
|
250
|
-
* @brief Retrieves the \c bool value of a Boolean value.
|
|
251
|
-
*/
|
|
252
|
-
static bool BooleanToBool(JsValueRef value);
|
|
253
|
-
|
|
254
|
-
/**
|
|
255
|
-
* @brief Gets the JavaScript type of a JsValueRef.
|
|
256
|
-
*/
|
|
257
|
-
static JsValueType GetValueType(JsValueRef value);
|
|
258
|
-
|
|
259
|
-
/**
|
|
260
|
-
* @brief Creates a number value from a \c double value.
|
|
261
|
-
*/
|
|
262
|
-
static JsValueRef DoubleToNumber(double value);
|
|
263
|
-
|
|
264
|
-
/**
|
|
265
|
-
* @brief Creates a number value from an \c int value.
|
|
266
|
-
*/
|
|
267
|
-
static JsValueRef IntToNumber(int32_t value);
|
|
268
|
-
|
|
269
|
-
/**
|
|
270
|
-
* @brief Retrieves the \c double value of a number value.
|
|
271
|
-
*/
|
|
272
|
-
static double NumberToDouble(JsValueRef value);
|
|
273
|
-
|
|
274
|
-
/**
|
|
275
|
-
* @brief Retrieves the \c int value of a number value.
|
|
276
|
-
*/
|
|
277
|
-
static int32_t NumberToInt(JsValueRef value);
|
|
278
|
-
|
|
279
|
-
/**
|
|
280
|
-
* @brief Creates a string value from a string pointer represented as std::wstring_view.
|
|
281
|
-
*/
|
|
282
|
-
static JsValueRef PointerToString(std::wstring_view value);
|
|
283
|
-
|
|
284
|
-
/**
|
|
285
|
-
* @brief Creates a string value from a string pointer represented as std::string_view.
|
|
286
|
-
*/
|
|
287
|
-
static JsValueRef PointerToString(std::string_view value);
|
|
288
|
-
|
|
289
|
-
/**
|
|
290
|
-
* @brief Retrieves the string pointer of a string value.
|
|
291
|
-
*
|
|
292
|
-
* This function retrieves the string pointer of a string value. It will fail with
|
|
293
|
-
* an exception with \c JsErrorInvalidArgument if the type of the value is not string. The lifetime
|
|
294
|
-
* of the string returned will be the same as the lifetime of the value it came from, however
|
|
295
|
-
* the string pointer is not considered a reference to the value (and so will not keep it
|
|
296
|
-
*from being collected).
|
|
297
|
-
*/
|
|
298
|
-
static std::wstring_view StringToPointer(JsValueRef string);
|
|
299
|
-
|
|
300
|
-
/**
|
|
301
|
-
* @brief Converts the string to the utf8-encoded std::string.
|
|
302
|
-
*/
|
|
303
|
-
static std::string StringToStdString(JsValueRef string);
|
|
304
|
-
|
|
305
|
-
/**
|
|
306
|
-
* @brief Converts the value to string using standard JavaScript semantics.
|
|
307
|
-
*/
|
|
308
|
-
static JsValueRef ConvertValueToString(JsValueRef value);
|
|
309
|
-
|
|
310
|
-
/**
|
|
311
|
-
* @brief Gets the global object in the current script context.
|
|
312
|
-
*/
|
|
313
|
-
static JsValueRef GetGlobalObject();
|
|
314
|
-
|
|
315
|
-
/**
|
|
316
|
-
* @brief Creates a new object.
|
|
317
|
-
*/
|
|
318
|
-
static JsValueRef CreateObject();
|
|
319
|
-
|
|
320
|
-
/**
|
|
321
|
-
* @brief Creates a new object that stores some external data.
|
|
322
|
-
*/
|
|
323
|
-
static JsValueRef CreateExternalObject(void *data, JsFinalizeCallback finalizeCallback);
|
|
324
|
-
|
|
325
|
-
/**
|
|
326
|
-
* @brief Creates a new object that stores external data as an std::unique_ptr.
|
|
327
|
-
*/
|
|
328
|
-
template <typename T>
|
|
329
|
-
static JsValueRef CreateExternalObject(std::unique_ptr<T> &&data) {
|
|
330
|
-
JsValueRef object = CreateExternalObject(data.get(), [](void *dataToDestroy) {
|
|
331
|
-
// We wrap dataToDestroy in a unique_ptr to avoid calling delete explicitly.
|
|
332
|
-
std::unique_ptr<T> wrapper{static_cast<T *>(dataToDestroy)};
|
|
333
|
-
});
|
|
334
|
-
|
|
335
|
-
// We only call data.release() after the CreateExternalObject succeeds.
|
|
336
|
-
// Otherwise, when CreateExternalObject fails and an exception is thrown,
|
|
337
|
-
// the memory that data used to own will be leaked.
|
|
338
|
-
data.release();
|
|
339
|
-
return object;
|
|
340
|
-
}
|
|
341
|
-
|
|
342
|
-
/**
|
|
343
|
-
* @brief Returns the prototype of an object.
|
|
344
|
-
*/
|
|
345
|
-
static JsValueRef GetPrototype(JsValueRef object);
|
|
346
|
-
|
|
347
|
-
/**
|
|
348
|
-
* @brief Performs JavaScript "instanceof" operator test.
|
|
349
|
-
*/
|
|
350
|
-
static bool InstanceOf(JsValueRef object, JsValueRef constructor);
|
|
351
|
-
|
|
352
|
-
/**
|
|
353
|
-
* @brief Gets an object's property.
|
|
354
|
-
*/
|
|
355
|
-
static JsValueRef GetProperty(JsValueRef object, JsPropertyIdRef propertyId);
|
|
356
|
-
|
|
357
|
-
/**
|
|
358
|
-
* @brief Gets the list of all properties on the object.
|
|
359
|
-
*/
|
|
360
|
-
static JsValueRef GetOwnPropertyNames(JsValueRef object);
|
|
361
|
-
|
|
362
|
-
/**
|
|
363
|
-
* @brief Puts an object's property.
|
|
364
|
-
*/
|
|
365
|
-
static void SetProperty(JsValueRef object, JsPropertyIdRef propertyId, JsValueRef value);
|
|
366
|
-
|
|
367
|
-
/**
|
|
368
|
-
* @brief Determines whether an object has a property.
|
|
369
|
-
*/
|
|
370
|
-
static bool HasProperty(JsValueRef object, JsPropertyIdRef propertyId);
|
|
371
|
-
|
|
372
|
-
/**
|
|
373
|
-
* @brief Defines a new object's own property from a property descriptor.
|
|
374
|
-
*/
|
|
375
|
-
static bool DefineProperty(JsValueRef object, JsPropertyIdRef propertyId, JsValueRef propertyDescriptor);
|
|
376
|
-
|
|
377
|
-
/**
|
|
378
|
-
* @brief Retrieve the value at the specified index of an object.
|
|
379
|
-
*/
|
|
380
|
-
static JsValueRef GetIndexedProperty(JsValueRef object, int32_t index);
|
|
381
|
-
|
|
382
|
-
/**
|
|
383
|
-
* @brief Set the value at the specified index of an object.
|
|
384
|
-
*/
|
|
385
|
-
static void SetIndexedProperty(JsValueRef object, int32_t index, JsValueRef value);
|
|
386
|
-
|
|
387
|
-
/**
|
|
388
|
-
* @brief Compare two JavaScript values for strict equality.
|
|
389
|
-
*/
|
|
390
|
-
static bool StrictEquals(JsValueRef object1, JsValueRef object2);
|
|
391
|
-
|
|
392
|
-
/**
|
|
393
|
-
* @brief Retrieves the data from an external object.
|
|
394
|
-
*/
|
|
395
|
-
static void *GetExternalData(JsValueRef object);
|
|
396
|
-
|
|
397
|
-
/**
|
|
398
|
-
* @brief Creates a JavaScript array object.
|
|
399
|
-
*/
|
|
400
|
-
static JsValueRef CreateArray(size_t length);
|
|
401
|
-
|
|
402
|
-
/**
|
|
403
|
-
* @brief Creates a JavaScript ArrayBuffer object.
|
|
404
|
-
*/
|
|
405
|
-
static JsValueRef CreateArrayBuffer(size_t byteLength);
|
|
406
|
-
|
|
407
|
-
/**
|
|
408
|
-
* @brief A span of values that can be used to pass arguments to function.
|
|
409
|
-
*
|
|
410
|
-
* For C++20 we should consider to replace it with std::span.
|
|
411
|
-
*/
|
|
412
|
-
template <typename T>
|
|
413
|
-
struct Span final {
|
|
414
|
-
constexpr Span(std::initializer_list<T> il) noexcept : m_data{const_cast<T *>(il.begin())}, m_size{il.size()} {}
|
|
415
|
-
constexpr Span(T *data, size_t size) noexcept : m_data{data}, m_size{size} {}
|
|
416
|
-
|
|
417
|
-
[[nodiscard]] constexpr T *begin() const noexcept {
|
|
418
|
-
return m_data;
|
|
419
|
-
}
|
|
420
|
-
|
|
421
|
-
[[nodiscard]] constexpr T *end() const noexcept {
|
|
422
|
-
return m_data + m_size;
|
|
423
|
-
}
|
|
424
|
-
|
|
425
|
-
[[nodiscard]] constexpr size_t size() const noexcept {
|
|
426
|
-
return m_size;
|
|
427
|
-
}
|
|
428
|
-
|
|
429
|
-
private:
|
|
430
|
-
T *const m_data;
|
|
431
|
-
size_t const m_size;
|
|
432
|
-
};
|
|
433
|
-
|
|
434
|
-
/**
|
|
435
|
-
* @brief Obtains the underlying memory storage used by an \c ArrayBuffer.
|
|
436
|
-
*/
|
|
437
|
-
Span<std::byte> GetArrayBufferStorage(JsValueRef arrayBuffer);
|
|
438
|
-
|
|
439
|
-
/**
|
|
440
|
-
* @brief Invokes a function.
|
|
441
|
-
*/
|
|
442
|
-
static JsValueRef CallFunction(JsValueRef function, Span<JsValueRef> args);
|
|
443
|
-
|
|
444
|
-
/**
|
|
445
|
-
* @brief Invokes a function as a constructor.
|
|
446
|
-
*/
|
|
447
|
-
static JsValueRef ConstructObject(JsValueRef function, Span<JsValueRef> args);
|
|
448
|
-
|
|
449
|
-
/**
|
|
450
|
-
* @brief Creates a new JavaScript function with name.
|
|
451
|
-
*/
|
|
452
|
-
static JsValueRef CreateNamedFunction(JsValueRef name, JsNativeFunction nativeFunction, void *callbackState);
|
|
453
|
-
|
|
454
|
-
/**
|
|
455
|
-
* @brief Sets the runtime of the current context to an exception state.
|
|
456
|
-
*
|
|
457
|
-
* It returns \c false in case if the current context is already in an exception state.
|
|
458
|
-
*/
|
|
459
|
-
static bool SetException(JsValueRef error) noexcept;
|
|
460
|
-
|
|
461
|
-
/**
|
|
462
|
-
* @brief Sets the runtime of the current context to an exception state.
|
|
463
|
-
*/
|
|
464
|
-
static bool SetException(std::string_view message) noexcept;
|
|
465
|
-
|
|
466
|
-
/**
|
|
467
|
-
* @brief Sets the runtime of the current context to an exception state.
|
|
468
|
-
*/
|
|
469
|
-
static bool SetException(std::wstring_view message) noexcept;
|
|
470
|
-
|
|
471
|
-
private:
|
|
472
|
-
};
|
|
473
|
-
|
|
474
|
-
} // namespace Microsoft::JSI
|
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
// Copyright (c) Microsoft Corporation.
|
|
2
|
-
// Licensed under the MIT License.
|
|
3
|
-
|
|
4
|
-
#include <SystemChakraRuntime.h>
|
|
5
|
-
|
|
6
|
-
#include <JSI/ByteArrayBuffer.h>
|
|
7
|
-
#include <JSI/ChakraRuntime.h>
|
|
8
|
-
#include <JSI/ChakraRuntimeFactory.h>
|
|
9
|
-
#include <cxxreact/MessageQueueThread.h>
|
|
10
|
-
#include "Unicode.h"
|
|
11
|
-
|
|
12
|
-
// From <chakrart.h>
|
|
13
|
-
STDAPI_(JsErrorCode)
|
|
14
|
-
JsStartDebugging();
|
|
15
|
-
|
|
16
|
-
namespace Microsoft::JSI {
|
|
17
|
-
|
|
18
|
-
#if defined(USE_EDGEMODE_JSRT)
|
|
19
|
-
/*static*/ void ChakraRuntime::initRuntimeVersion() noexcept {}
|
|
20
|
-
#endif
|
|
21
|
-
|
|
22
|
-
SystemChakraRuntime::SystemChakraRuntime(ChakraRuntimeArgs &&args) noexcept : ChakraRuntime(std::move(args)) {
|
|
23
|
-
this->Init();
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
void SystemChakraRuntime::setupNativePromiseContinuation() noexcept {
|
|
27
|
-
JsSetPromiseContinuationCallback(PromiseContinuationCallback, this);
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
void SystemChakraRuntime::startDebuggingIfNeeded() {
|
|
31
|
-
if (runtimeArgs().enableDebugging)
|
|
32
|
-
JsStartDebugging();
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
void SystemChakraRuntime::stopDebuggingIfNeeded() {
|
|
36
|
-
// NOP AFAIK
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
std::unique_ptr<const facebook::jsi::Buffer> SystemChakraRuntime::generatePreparedScript(
|
|
40
|
-
const std::string & /*sourceURL*/,
|
|
41
|
-
const facebook::jsi::Buffer &sourceBuffer) noexcept {
|
|
42
|
-
const std::wstring scriptUTF16 =
|
|
43
|
-
Microsoft::Common::Unicode::Utf8ToUtf16(reinterpret_cast<const char *>(sourceBuffer.data()), sourceBuffer.size());
|
|
44
|
-
|
|
45
|
-
unsigned long bytecodeSize = 0;
|
|
46
|
-
if (JsSerializeScript(scriptUTF16.c_str(), nullptr, &bytecodeSize) == JsNoError) {
|
|
47
|
-
std::unique_ptr<ByteArrayBuffer> bytecodeBuffer(std::make_unique<ByteArrayBuffer>(bytecodeSize));
|
|
48
|
-
if (JsSerializeScript(scriptUTF16.c_str(), bytecodeBuffer->data(), &bytecodeSize) == JsNoError) {
|
|
49
|
-
return bytecodeBuffer;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
return nullptr;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
facebook::jsi::Value SystemChakraRuntime::evaluateJavaScriptSimple(
|
|
57
|
-
const facebook::jsi::Buffer &buffer,
|
|
58
|
-
const std::string &sourceURL) {
|
|
59
|
-
const std::wstring script16 =
|
|
60
|
-
Microsoft::Common::Unicode::Utf8ToUtf16(reinterpret_cast<const char *>(buffer.data()), buffer.size());
|
|
61
|
-
if (script16.empty())
|
|
62
|
-
throw facebook::jsi::JSINativeException("Script can't be empty.");
|
|
63
|
-
|
|
64
|
-
const std::wstring url16 = Microsoft::Common::Unicode::Utf8ToUtf16(sourceURL);
|
|
65
|
-
|
|
66
|
-
JsValueRef result;
|
|
67
|
-
ChakraVerifyJsErrorElseThrow(
|
|
68
|
-
JsRunScript(script16.c_str(), JS_SOURCE_CONTEXT_NONE /*sourceContext*/, url16.c_str(), &result));
|
|
69
|
-
|
|
70
|
-
return ToJsiValue(result);
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
bool SystemChakraRuntime::evaluateSerializedScript(
|
|
74
|
-
const facebook::jsi::Buffer &scriptBuffer,
|
|
75
|
-
const facebook::jsi::Buffer &serializedScriptBuffer,
|
|
76
|
-
const std::string &sourceURL,
|
|
77
|
-
JsValueRef *result) {
|
|
78
|
-
std::wstring script16 =
|
|
79
|
-
Microsoft::Common::Unicode::Utf8ToUtf16(reinterpret_cast<const char *>(scriptBuffer.data()), scriptBuffer.size());
|
|
80
|
-
std::wstring url16 = Microsoft::Common::Unicode::Utf8ToUtf16(sourceURL);
|
|
81
|
-
|
|
82
|
-
// Note:: Bytecode caching on UWP is untested yet.
|
|
83
|
-
JsErrorCode errorCode = JsRunSerializedScript(
|
|
84
|
-
script16.c_str(), const_cast<uint8_t *>(serializedScriptBuffer.data()), 0, url16.c_str(), result);
|
|
85
|
-
|
|
86
|
-
if (errorCode == JsNoError) {
|
|
87
|
-
return true;
|
|
88
|
-
} else if (errorCode == JsErrorBadSerializedScript) {
|
|
89
|
-
return false;
|
|
90
|
-
} else {
|
|
91
|
-
ChakraVerifyJsErrorElseThrow(errorCode);
|
|
92
|
-
return true;
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
std::unique_ptr<facebook::jsi::Runtime> MakeSystemChakraRuntime(ChakraRuntimeArgs &&args) noexcept {
|
|
97
|
-
return std::make_unique<SystemChakraRuntime>(std::move(args));
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
} // namespace Microsoft::JSI
|