react-native-windows 0.81.3 → 0.82.0-preview.10

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.
Files changed (704) hide show
  1. package/.flowconfig +11 -10
  2. package/Directory.Build.props +3 -3
  3. package/Folly/Folly.vcxproj +1 -3
  4. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +7 -3
  5. package/Libraries/Alert/RCTAlertManager.android.js +4 -2
  6. package/Libraries/Animated/Animated.d.ts +2 -0
  7. package/Libraries/Animated/AnimatedEvent.js +1 -1
  8. package/Libraries/Animated/AnimatedExports.js.flow +1 -0
  9. package/Libraries/Animated/AnimatedImplementation.js +4 -2
  10. package/Libraries/Animated/AnimatedMock.js +1 -1
  11. package/Libraries/Animated/Easing.js +2 -0
  12. package/Libraries/Animated/NativeAnimatedAllowlist.js +1 -0
  13. package/Libraries/Animated/animations/Animation.js +19 -20
  14. package/Libraries/Animated/animations/TimingAnimation.js +2 -0
  15. package/Libraries/Animated/components/AnimatedScrollView.js +3 -2
  16. package/Libraries/Animated/components/AnimatedSectionList.js +1 -1
  17. package/Libraries/Animated/nodes/AnimatedColor.js +9 -9
  18. package/Libraries/Animated/nodes/AnimatedInterpolation.js +4 -4
  19. package/Libraries/Animated/nodes/AnimatedNode.js +14 -7
  20. package/Libraries/Animated/nodes/AnimatedObject.js +7 -7
  21. package/Libraries/Animated/nodes/AnimatedProps.js +32 -32
  22. package/Libraries/Animated/nodes/AnimatedStyle.js +23 -21
  23. package/Libraries/Animated/nodes/AnimatedTransform.js +6 -6
  24. package/Libraries/Animated/nodes/AnimatedValue.js +18 -26
  25. package/Libraries/AppState/AppState.js +8 -4
  26. package/Libraries/BatchedBridge/BatchedBridge.js +1 -0
  27. package/Libraries/BatchedBridge/MessageQueue.js +5 -0
  28. package/Libraries/BatchedBridge/NativeModules.js +1 -1
  29. package/Libraries/Blob/BlobManager.js +1 -1
  30. package/Libraries/Blob/URLSearchParams.js +2 -0
  31. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +2 -2
  32. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.windows.js +2 -2
  33. package/Libraries/Components/Button.js +1 -1
  34. package/Libraries/Components/Button.windows.js +1 -1
  35. package/Libraries/Components/Flyout/FlyoutNativeComponent.js +2 -2
  36. package/Libraries/Components/Glyph/GlyphNativeComponent.js +1 -1
  37. package/Libraries/Components/Popup/PopupNativeComponent.js +1 -0
  38. package/Libraries/Components/Pressable/Pressable.js +10 -1
  39. package/Libraries/Components/Pressable/Pressable.windows.js +9 -0
  40. package/Libraries/Components/Pressable/useAndroidRippleForView.js +2 -2
  41. package/Libraries/Components/ScrollView/ScrollView.js +13 -4
  42. package/Libraries/Components/ScrollView/ScrollView.windows.js +14 -5
  43. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +1 -1
  44. package/Libraries/Components/StatusBar/StatusBar.js +2 -2
  45. package/Libraries/Components/Switch/Switch.js +1 -1
  46. package/Libraries/Components/Switch/Switch.windows.js +1 -1
  47. package/Libraries/Components/TextInput/TextInput.flow.js +12 -5
  48. package/Libraries/Components/TextInput/TextInput.flow.windows.js +12 -5
  49. package/Libraries/Components/TextInput/TextInput.js +14 -5
  50. package/Libraries/Components/TextInput/TextInput.windows.js +23 -11
  51. package/Libraries/Components/TextInput/TextInputState.js +1 -1
  52. package/Libraries/Components/TextInput/TextInputState.windows.js +1 -1
  53. package/Libraries/Components/Touchable/TouchableBounce.js +1 -1
  54. package/Libraries/Components/Touchable/TouchableHighlight.js +1 -1
  55. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +1 -1
  56. package/Libraries/Components/Touchable/TouchableOpacity.js +1 -1
  57. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +3 -3
  58. package/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js +1 -1
  59. package/Libraries/Components/View/View.js +81 -167
  60. package/Libraries/Components/View/View.windows.js +202 -302
  61. package/Libraries/Core/Devtools/loadBundleFromServer.js +1 -1
  62. package/Libraries/Core/Devtools/loadBundleFromServer.windows.js +1 -1
  63. package/Libraries/Core/ExceptionsManager.js +4 -2
  64. package/Libraries/Core/ReactFiberErrorDialog.js +3 -3
  65. package/Libraries/Core/ReactNativeVersion.js +37 -10
  66. package/Libraries/Core/Timers/JSTimers.js +4 -1
  67. package/Libraries/Core/Timers/NativeTiming.js +1 -0
  68. package/Libraries/Core/Timers/immediateShim.js +2 -1
  69. package/Libraries/Core/Timers/queueMicrotask.js +1 -0
  70. package/Libraries/Core/setUpPerformance.js +3 -4
  71. package/Libraries/Debugging/DebuggingOverlayRegistry.js +5 -3
  72. package/Libraries/Image/AssetSourceResolver.windows.js +2 -2
  73. package/Libraries/Image/Image.android.js +327 -111
  74. package/Libraries/Image/Image.ios.js +6 -1
  75. package/Libraries/Image/Image.windows.js +28 -61
  76. package/Libraries/Image/ImageSourceUtils.js +8 -2
  77. package/Libraries/Image/resolveAssetSource.js +1 -1
  78. package/Libraries/Image/resolveAssetSource.windows.js +1 -1
  79. package/Libraries/Interaction/InteractionManager.js +118 -167
  80. package/Libraries/Interaction/PanResponder.js +7 -52
  81. package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -0
  82. package/Libraries/Lists/FlatList.js +5 -6
  83. package/Libraries/LogBox/Data/LogBoxData.js +5 -2
  84. package/Libraries/LogBox/Data/parseLogBoxLog.js +1 -1
  85. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +1 -1
  86. package/Libraries/Modal/Modal.js +3 -3
  87. package/Libraries/Modal/Modal.windows.js +2 -2
  88. package/Libraries/NativeComponent/NativeComponentRegistry.js +1 -1
  89. package/Libraries/NativeComponent/ViewConfig.js +2 -2
  90. package/Libraries/Network/RCTNetworking.android.js +1 -1
  91. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  92. package/Libraries/Network/RCTNetworking.windows.js +1 -1
  93. package/Libraries/Network/XMLHttpRequest.js +20 -5
  94. package/Libraries/Network/convertRequestBody.js +1 -1
  95. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +10 -9
  96. package/Libraries/Pressability/HoverState.js +2 -0
  97. package/Libraries/Pressability/Pressability.js +1 -1
  98. package/Libraries/Pressability/Pressability.windows.js +5 -5
  99. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +2 -2
  100. package/Libraries/ReactNative/AppRegistryImpl.js +4 -2
  101. package/Libraries/ReactNative/PaperUIManager.windows.js +4 -4
  102. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +2 -0
  103. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +3 -3
  104. package/Libraries/ReactNative/RendererImplementation.js +116 -116
  105. package/Libraries/ReactNative/UIManager.js +3 -3
  106. package/Libraries/ReactNative/renderApplication.js +1 -0
  107. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +1 -1
  108. package/Libraries/Renderer/implementations/ReactFabric-dev.js +38 -35
  109. package/Libraries/Renderer/implementations/ReactFabric-prod.js +51 -22
  110. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +54 -24
  111. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +36 -33
  112. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +5 -5
  113. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +5 -5
  114. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +3 -1
  115. package/Libraries/Share/Share.js +4 -0
  116. package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +2 -2
  117. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +2 -2
  118. package/Libraries/StyleSheet/PlatformColorValueTypes.windows.js +2 -0
  119. package/Libraries/StyleSheet/StyleSheet.d.ts +7 -22
  120. package/Libraries/StyleSheet/StyleSheetExports.js +2 -8
  121. package/Libraries/StyleSheet/StyleSheetExports.js.flow +11 -18
  122. package/Libraries/StyleSheet/flattenStyle.js +2 -2
  123. package/Libraries/StyleSheet/processAspectRatio.js +2 -0
  124. package/Libraries/StyleSheet/processFilter.js +5 -5
  125. package/Libraries/StyleSheet/splitLayoutProps.js +2 -2
  126. package/Libraries/Text/Text.js +534 -234
  127. package/Libraries/Text/Text.windows.js +622 -265
  128. package/Libraries/Text/TextNativeComponent.js +2 -2
  129. package/Libraries/Utilities/Appearance.d.ts +3 -5
  130. package/Libraries/Utilities/Appearance.js +5 -17
  131. package/Libraries/Utilities/HMRClient.js +2 -1
  132. package/Libraries/Utilities/Platform.android.js +3 -3
  133. package/Libraries/Utilities/Platform.d.ts +1 -0
  134. package/Libraries/Utilities/Platform.ios.js +1 -1
  135. package/Libraries/Utilities/Platform.windows.js +3 -3
  136. package/Libraries/Utilities/PlatformTypes.js +1 -1
  137. package/Libraries/Utilities/ReactNativeTestTools.js +12 -0
  138. package/Libraries/Utilities/SceneTracker.js +1 -1
  139. package/Libraries/Utilities/codegenNativeCommands.js +1 -1
  140. package/Libraries/Utilities/codegenNativeComponent.js +1 -1
  141. package/Libraries/Utilities/createPerformanceLogger.js +32 -0
  142. package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +2 -0
  143. package/Libraries/Utilities/differ/pointsDiffer.js +1 -1
  144. package/Libraries/Utilities/useMergeRefs.js +1 -1
  145. package/Libraries/WebSocket/WebSocketInterceptor.js +2 -0
  146. package/Libraries/promiseRejectionTrackingOptions.js +17 -31
  147. package/Libraries/vendor/emitter/EventEmitter.js +1 -1
  148. package/Microsoft.ReactNative/App.xaml +5 -0
  149. package/Microsoft.ReactNative/Base/CxxReactIncludes.h +0 -3
  150. package/Microsoft.ReactNative/ComponentView.idl +2 -0
  151. package/Microsoft.ReactNative/Composition.Input.idl +7 -0
  152. package/Microsoft.ReactNative/CompositionContext.idl +0 -2
  153. package/Microsoft.ReactNative/Fabric/AbiViewProps.cpp +2 -2
  154. package/Microsoft.ReactNative/Fabric/AbiViewProps.h +0 -2
  155. package/Microsoft.ReactNative/Fabric/ComponentView.cpp +18 -0
  156. package/Microsoft.ReactNative/Fabric/ComponentView.h +9 -0
  157. package/Microsoft.ReactNative/Fabric/Composition/Composition.Input.cpp +12 -69
  158. package/Microsoft.ReactNative/Fabric/Composition/Composition.Input.h +16 -15
  159. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.cpp +0 -31
  160. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.h +0 -10
  161. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper_emptyimpl.cpp +0 -4
  162. package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.cpp +75 -6
  163. package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.h +1 -2
  164. package/Microsoft.ReactNative/Fabric/Composition/CompositionHelpers.h +0 -2
  165. package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.cpp +0 -9
  166. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.cpp +0 -10
  167. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.h +0 -4
  168. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +2 -4
  169. package/Microsoft.ReactNative/Fabric/Composition/ContentIslandComponentView.cpp +6 -68
  170. package/Microsoft.ReactNative/Fabric/Composition/ContentIslandComponentView.h +0 -4
  171. package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.cpp +0 -1
  172. package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.h +0 -1
  173. package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.cpp +82 -14
  174. package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.h +11 -4
  175. package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.cpp +8 -0
  176. package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.h +3 -0
  177. package/Microsoft.ReactNative/Fabric/Composition/ReactNativeIsland.cpp +0 -6
  178. package/Microsoft.ReactNative/Fabric/Composition/ReactNativeIsland.h +0 -2
  179. package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.cpp +0 -1
  180. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +61 -32
  181. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.h +3 -0
  182. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.cpp +4 -1
  183. package/Microsoft.ReactNative/Fabric/Composition/Theme.cpp +0 -30
  184. package/Microsoft.ReactNative/Fabric/Composition/Theme.h +1 -3
  185. package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.cpp +8 -4
  186. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +0 -1
  187. package/Microsoft.ReactNative/Fabric/ImageManager.cpp +0 -4
  188. package/Microsoft.ReactNative/Fabric/WindowsComponentDescriptorRegistry.cpp +8 -0
  189. package/Microsoft.ReactNative/Fabric/WindowsComponentDescriptorRegistry.h +3 -0
  190. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/PlatformColorUtils.cpp +0 -11
  191. package/Microsoft.ReactNative/IReactContext.cpp +2 -25
  192. package/Microsoft.ReactNative/IReactContext.h +0 -7
  193. package/Microsoft.ReactNative/IReactContext.idl +4 -29
  194. package/Microsoft.ReactNative/IReactModuleBuilder.cpp +24 -140
  195. package/Microsoft.ReactNative/IReactModuleBuilder.h +0 -11
  196. package/Microsoft.ReactNative/IReactPackageBuilder.idl +1 -16
  197. package/Microsoft.ReactNative/IReactPackageProvider.idl +0 -1
  198. package/Microsoft.ReactNative/IReactViewComponentBuilder.idl +2 -0
  199. package/Microsoft.ReactNative/JsiApi.cpp +4 -3
  200. package/Microsoft.ReactNative/JsiApi.h +2 -3
  201. package/Microsoft.ReactNative/JsiApi.idl +3 -2
  202. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj +5 -214
  203. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj.filters +0 -252
  204. package/Microsoft.ReactNative/Modules/AccessibilityInfoModule.cpp +0 -37
  205. package/Microsoft.ReactNative/Modules/AlertModule.cpp +2 -140
  206. package/Microsoft.ReactNative/Modules/AlertModule.h +0 -2
  207. package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedNodeManager.cpp +5 -10
  208. package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedNodeManager.h +0 -1
  209. package/Microsoft.ReactNative/Modules/Animated/PropsAnimatedNode.cpp +1 -96
  210. package/Microsoft.ReactNative/Modules/Animated/PropsAnimatedNode.h +0 -14
  211. package/Microsoft.ReactNative/Modules/AppStateModule.cpp +0 -53
  212. package/Microsoft.ReactNative/Modules/AppStateModule.h +0 -5
  213. package/Microsoft.ReactNative/Modules/AppThemeModuleUwp.cpp +5 -14
  214. package/Microsoft.ReactNative/Modules/AppThemeModuleUwp.h +0 -2
  215. package/Microsoft.ReactNative/Modules/AppearanceModule.cpp +1 -9
  216. package/Microsoft.ReactNative/Modules/DevSettingsModule.cpp +0 -4
  217. package/Microsoft.ReactNative/Modules/DevSettingsModule.h +0 -2
  218. package/Microsoft.ReactNative/Modules/DeviceInfoModule.cpp +16 -90
  219. package/Microsoft.ReactNative/Modules/I18nManagerModule.cpp +3 -8
  220. package/Microsoft.ReactNative/Modules/ImageViewManagerModule.cpp +33 -43
  221. package/Microsoft.ReactNative/Modules/LinkingManagerModule.cpp +0 -3
  222. package/Microsoft.ReactNative/Modules/LogBoxModule.cpp +30 -102
  223. package/Microsoft.ReactNative/Modules/LogBoxModule.h +0 -7
  224. package/Microsoft.ReactNative/Modules/Timing.cpp +7 -9
  225. package/Microsoft.ReactNative/Pch/pch.h +0 -28
  226. package/Microsoft.ReactNative/ReactCoreInjection.h +0 -1
  227. package/Microsoft.ReactNative/ReactHost/IReactInstance.h +0 -8
  228. package/Microsoft.ReactNative/ReactHost/MsoReactContext.cpp +0 -15
  229. package/Microsoft.ReactNative/ReactHost/MsoReactContext.h +0 -2
  230. package/Microsoft.ReactNative/ReactHost/React.h +0 -44
  231. package/Microsoft.ReactNative/ReactHost/ReactHost.cpp +10 -47
  232. package/Microsoft.ReactNative/ReactHost/ReactHost.h +1 -1
  233. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +30 -586
  234. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.h +2 -37
  235. package/Microsoft.ReactNative/ReactHost/ReactNativeHeaders.h +0 -13
  236. package/Microsoft.ReactNative/ReactHost/React_Win.h +0 -1
  237. package/Microsoft.ReactNative/ReactInstanceSettings.cpp +0 -8
  238. package/Microsoft.ReactNative/ReactInstanceSettings.h +0 -13
  239. package/Microsoft.ReactNative/ReactInstanceSettings.idl +7 -23
  240. package/Microsoft.ReactNative/ReactNativeHost.cpp +10 -35
  241. package/Microsoft.ReactNative/ReactNativeHost.h +0 -1
  242. package/Microsoft.ReactNative/ReactNativeIsland.idl +0 -4
  243. package/Microsoft.ReactNative/ReactPackageBuilder.cpp +9 -36
  244. package/Microsoft.ReactNative/ReactPackageBuilder.h +4 -38
  245. package/Microsoft.ReactNative/RedBox.cpp +9 -362
  246. package/Microsoft.ReactNative/Theme.idl +0 -2
  247. package/Microsoft.ReactNative/Timer.cpp +3 -2
  248. package/Microsoft.ReactNative/Utils/Helpers.cpp +0 -47
  249. package/Microsoft.ReactNative/Utils/Helpers.h +0 -5
  250. package/Microsoft.ReactNative/Utils/KeyboardUtils.cpp +0 -11
  251. package/Microsoft.ReactNative/Utils/ThemeUtils.cpp +0 -4
  252. package/Microsoft.ReactNative/Utils/ThemeUtils.h +1 -5
  253. package/Microsoft.ReactNative/Utils/UwpPreparedScriptStore.h +0 -2
  254. package/Microsoft.ReactNative/Utils/ValueUtils.cpp +0 -245
  255. package/Microsoft.ReactNative/Utils/ValueUtils.h +0 -23
  256. package/Microsoft.ReactNative/ViewProps.idl +0 -2
  257. package/Microsoft.ReactNative/Views/DevMenu.cpp +2 -278
  258. package/Microsoft.ReactNative/Views/DevMenu.h +0 -5
  259. package/Microsoft.ReactNative/XamlApplication.cpp +71 -0
  260. package/Microsoft.ReactNative/XamlApplication.h +47 -0
  261. package/Microsoft.ReactNative/XamlApplication.idl +19 -0
  262. package/Microsoft.ReactNative/XamlUIService.cpp +0 -54
  263. package/Microsoft.ReactNative/XamlUIService.h +0 -12
  264. package/Microsoft.ReactNative/XamlUIService.idl +0 -12
  265. package/Microsoft.ReactNative.Cxx/CppWinRTIncludes.h +0 -19
  266. package/Microsoft.ReactNative.Cxx/DesktopWindowBridge.h +1 -1
  267. package/Microsoft.ReactNative.Cxx/JSI/decorator.h +191 -114
  268. package/Microsoft.ReactNative.Cxx/JSI/instrumentation.h +5 -0
  269. package/Microsoft.ReactNative.Cxx/JSI/jsi-inl.h +37 -0
  270. package/Microsoft.ReactNative.Cxx/JSI/jsi.cpp +68 -0
  271. package/Microsoft.ReactNative.Cxx/JSI/jsi.h +77 -11
  272. package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems +2 -2
  273. package/Microsoft.ReactNative.Cxx/NamespaceRedirect.h +0 -5
  274. package/Microsoft.ReactNative.Cxx/NodeApiJsiRuntime.cpp +93 -1
  275. package/Microsoft.ReactNative.Cxx/ReactCommon/TurboModule.cpp +4 -3
  276. package/Microsoft.ReactNative.Cxx/ReactCommon/TurboModule.h +2 -2
  277. package/Microsoft.ReactNative.Cxx/ReactCommon/TurboModuleUtils.cpp +2 -55
  278. package/Microsoft.ReactNative.Cxx/ReactCommon/TurboModuleUtils.h +4 -8
  279. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Class.h +5 -0
  280. package/Microsoft.ReactNative.Cxx/ReactCommon/react/timing/primitives.h +44 -4
  281. package/Microsoft.ReactNative.Cxx/ReactContext.h +0 -13
  282. package/Microsoft.ReactNative.Cxx/UI.Composition.Effects.h +0 -4
  283. package/Microsoft.ReactNative.Cxx/UI.Composition.h +0 -4
  284. package/Microsoft.ReactNative.Cxx/UI.Input.h +0 -4
  285. package/Microsoft.ReactNative.Cxx/UI.Popups.h +0 -4
  286. package/Microsoft.ReactNative.Cxx/UI.Text.h +0 -4
  287. package/Microsoft.ReactNative.Cxx/XamlUtils.h +0 -33
  288. package/Microsoft.ReactNative.Managed/JSValueReader.cs +0 -4
  289. package/Microsoft.ReactNative.Managed/Microsoft.ReactNative.Managed.csproj +0 -3
  290. package/Microsoft.ReactNative.Managed/ReactContext.cs +0 -5
  291. package/Microsoft.ReactNative.Managed/ReactContextGenerator.cs +0 -4
  292. package/Microsoft.ReactNative.Managed/ReactPackageBuilderExtensions.cs +0 -25
  293. package/Microsoft.ReactNative.Managed/ReactSettingsSnapshot.cs +0 -4
  294. package/Microsoft.ReactNative.Managed/ReflectionReactPackageProvider.cs +1 -2
  295. package/Microsoft.ReactNative.Managed.CodeGen/CodeAnalyzer.cs +0 -10
  296. package/Microsoft.ReactNative.Managed.CodeGen/CodeGenerator.ViewManager.cs +0 -36
  297. package/Microsoft.ReactNative.Managed.CodeGen/CodeGenerator.cs +0 -6
  298. package/Microsoft.ReactNative.Managed.CodeGen/Model/ReactAssembly.cs +0 -2
  299. package/Microsoft.ReactNative.Managed.CodeGen/Model/ReactTypes.cs +0 -2
  300. package/Microsoft.ReactNative.Managed.CodeGen/ReactNativeNames.cs +0 -2
  301. package/Mso/src/dispatchQueue/queueService.cpp +3 -1
  302. package/Mso/src/dispatchQueue/uiScheduler_winrt.cpp +2 -10
  303. package/PropertySheets/Bundle.Common.targets +1 -1
  304. package/PropertySheets/Bundle.props +3 -4
  305. package/PropertySheets/External/Microsoft.ReactNative.Common.props +0 -1
  306. package/PropertySheets/External/Microsoft.ReactNative.Uwp.CSharpApp.targets +1 -1
  307. package/PropertySheets/External/Microsoft.ReactNative.Uwp.CppApp.targets +1 -1
  308. package/PropertySheets/Generated/PackageVersion.g.props +4 -4
  309. package/PropertySheets/JSEngine.props +1 -1
  310. package/PropertySheets/NuGet.LockFile.props +0 -8
  311. package/PropertySheets/OutputMSBuildProperties.targets +0 -1
  312. package/PropertySheets/React.Cpp.props +3 -5
  313. package/PropertySheets/Warnings.props +1 -2
  314. package/PropertySheets/WinUI.props +3 -3
  315. package/README.md +1 -5
  316. package/ReactCommon/ReactCommon.vcxproj +12 -31
  317. package/ReactCommon/ReactCommon.vcxproj.filters +0 -3
  318. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/CxxNativeModule.cpp +3 -2
  319. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/NativeToJsBridge.cpp +5 -2
  320. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/TraceSection.h +20 -4
  321. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/jsi/test/testlib.cpp +113 -1
  322. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.cpp +14 -6
  323. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/Utf8.h +1 -0
  324. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/tracing/RuntimeSamplingProfileTraceEventSerializer.cpp +351 -0
  325. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModule.h +2 -2
  326. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/dom/NativeDOM.cpp +42 -36
  327. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/dom/NativeDOM.h +15 -3
  328. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp +1 -1
  329. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/image/conversions.h +174 -0
  330. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/text/BaseParagraphProps.cpp +174 -0
  331. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/text/BaseParagraphProps.h +69 -0
  332. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/text/ParagraphShadowNode.cpp +1 -0
  333. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/AccessibilityPrimitives.h +26 -3
  334. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/conversions.h +1 -1
  335. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/ShadowNode.cpp +1 -1
  336. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/imagemanager/primitives.h +189 -0
  337. package/ReactCommon/TEMP_UntilReactCommonUpdate/reactperflogger/reactperflogger/ReactPerfettoLogger.cpp +27 -8
  338. package/ReactCommon/cgmanifest.json +1 -1
  339. package/Scripts/Microsoft.ReactNative.nuspec +15 -33
  340. package/Scripts/NuGetRestoreForceEvaluateAllSolutions.ps1 +23 -23
  341. package/Scripts/OfficeReact.Win32.nuspec +0 -3
  342. package/Scripts/creaternwapp.cmd +1 -1
  343. package/Scripts/rnw-dependencies.ps1 +15 -1
  344. package/Shared/DevServerHelper.h +17 -21
  345. package/Shared/DevSettings.h +1 -25
  346. package/Shared/DevSupportManager.cpp +0 -50
  347. package/Shared/DevSupportManager.h +0 -4
  348. package/Shared/Hermes/HermesRuntimeTargetDelegate.cpp +5 -1
  349. package/Shared/HermesRuntimeHolder.cpp +0 -31
  350. package/Shared/HermesRuntimeHolder.h +0 -14
  351. package/Shared/IDevSupportManager.h +0 -6
  352. package/Shared/InstanceManager.cpp +0 -97
  353. package/Shared/InstanceManager.h +0 -53
  354. package/Shared/JSI/ScriptStore.h +1 -1
  355. package/Shared/Logging.cpp +1 -12
  356. package/Shared/Modules/CxxModuleUtilities.cpp +0 -9
  357. package/Shared/Modules/CxxModuleUtilities.h +0 -8
  358. package/Shared/Networking/OriginPolicyHttpFilter.cpp +9 -1
  359. package/Shared/OInstance.cpp +144 -424
  360. package/Shared/OInstance.h +0 -81
  361. package/Shared/Shared.vcxitems +83 -203
  362. package/Shared/Shared.vcxitems.filters +7 -69
  363. package/Shared/Threading/MessageQueueThreadFactory.cpp +0 -6
  364. package/Shared/Threading/MessageQueueThreadFactory.h +0 -4
  365. package/Shared/TurboModuleManager.cpp +0 -4
  366. package/Shared/Utils.cpp +26 -0
  367. package/Shared/Utils.h +3 -0
  368. package/codegen/NativeDOMSpec.g.h +41 -35
  369. package/codegen/NativeIntersectionObserverSpec.g.h +9 -21
  370. package/codegen/NativePerformanceSpec.g.h +53 -35
  371. package/codegen/NativeReactNativeFeatureFlagsSpec.g.h +183 -129
  372. package/codegen/react/components/rnwcore/EventEmitters.cpp +25 -0
  373. package/codegen/react/components/rnwcore/EventEmitters.h +25 -0
  374. package/codegen/react/components/rnwcore/Props.cpp +41 -2
  375. package/codegen/react/components/rnwcore/Props.h +51 -2
  376. package/codegen/react/components/rnwcore/VirtualView.g.h +4 -0
  377. package/codegen/react/components/rnwcore/VirtualViewExperimental.g.h +240 -0
  378. package/codegen/rnwcoreJSI-generated.cpp +534 -467
  379. package/codegen/rnwcoreJSI.h +165 -66
  380. package/fmt/cgmanifest.json +1 -1
  381. package/fmt/fmt.vcxproj +0 -8
  382. package/index.js +14 -2
  383. package/index.windows.js +14 -2
  384. package/jest/local-setup.js +2 -2
  385. package/jest/mock.js +1 -1
  386. package/jest/mockComponent.js +9 -9
  387. package/jest/mockNativeComponent.js +3 -2
  388. package/jest/mocks/Modal.js +1 -1
  389. package/jest/mocks/ScrollView.js +1 -1
  390. package/jest/mocks/ViewNativeComponent.js +1 -1
  391. package/jest/setup.js +23 -12
  392. package/just-task.js +14 -0
  393. package/package.json +31 -31
  394. package/src/private/animated/NativeAnimatedHelper.js +16 -5
  395. package/src/private/animated/createAnimatedPropsHook.js +11 -60
  396. package/src/private/animated/createAnimatedPropsMemoHook.js +8 -54
  397. package/src/private/components/virtualview/VirtualView.js +43 -12
  398. package/src/private/components/virtualview/VirtualViewExperimentalNativeComponent.js +93 -0
  399. package/src/private/components/virtualview/VirtualViewNativeComponent.js +6 -0
  400. package/src/private/devsupport/devmenu/elementinspector/Inspector.js +2 -2
  401. package/src/private/devsupport/devmenu/elementinspector/ReactDevToolsOverlay.js +2 -2
  402. package/src/private/featureflags/ReactNativeFeatureFlags.js +85 -52
  403. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +23 -4
  404. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +15 -6
  405. package/src/private/renderer/errorhandling/ErrorHandlers.js +3 -3
  406. package/src/private/setup/{setUpPerformanceObserver.js → setUpPerformanceModern.js} +43 -18
  407. package/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js +1 -1
  408. package/src/private/specs_DEPRECATED/modules/NativeTiming.js +1 -0
  409. package/src/private/types/HostInstance.js +4 -1
  410. package/src/private/webapis/dom/nodes/ReactNativeDocument.js +22 -2
  411. package/src/private/webapis/dom/nodes/ReactNativeElement.js +1 -1
  412. package/src/private/webapis/dom/nodes/ReadOnlyElement.js +5 -3
  413. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +16 -13
  414. package/src/private/webapis/dom/nodes/internals/NodeInternals.js +45 -22
  415. package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentInstanceHandle.js +1 -1
  416. package/src/private/webapis/dom/nodes/specs/NativeDOM.js +26 -192
  417. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +15 -12
  418. package/src/private/webapis/dom/oldstylecollections/NodeList.js +14 -11
  419. package/src/private/webapis/geometry/DOMRectList.js +2 -2
  420. package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +19 -74
  421. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +0 -4
  422. package/src/private/webapis/mutationobserver/internals/MutationObserverManager.js +1 -1
  423. package/src/private/webapis/performance/EventTiming.js +40 -25
  424. package/src/private/webapis/performance/LongTasks.js +35 -2
  425. package/src/private/webapis/performance/Performance.js +347 -166
  426. package/src/private/webapis/performance/PerformanceEntry.js +40 -23
  427. package/src/private/webapis/performance/PerformanceObserver.js +37 -29
  428. package/src/private/webapis/performance/ReactNativeStartupTiming.js +3 -24
  429. package/src/private/webapis/performance/ResourceTiming.js +29 -18
  430. package/src/private/webapis/performance/UserTiming.js +92 -34
  431. package/src/private/webapis/performance/UserTimingExtensibility.js.flow +38 -0
  432. package/src/private/webapis/performance/internals/RawPerformanceEntry.js +3 -4
  433. package/src/private/webapis/performance/internals/Utilities.js +9 -0
  434. package/src/private/webapis/performance/specs/NativePerformance.js +23 -23
  435. package/src/private/webapis/structuredClone/structuredClone.js +10 -10
  436. package/stubs/double-conversion/README.md +1 -1
  437. package/template/cpp-lib/proj/MyLib.sln +0 -5
  438. package/template/cpp-lib/src/pch.h +0 -5
  439. package/template/cs-lib/proj/MyLib.sln +0 -5
  440. package/template/metro.config.js +1 -0
  441. package/templates/cpp-app/metro.config.js +2 -1
  442. package/templates/cpp-app/windows/MyApp.sln +0 -5
  443. package/templates/cpp-lib/example/metro.config.js +3 -4
  444. package/templates/cpp-lib/windows/MyLib.sln +0 -5
  445. package/Chakra/Chakra.vcxitems +0 -32
  446. package/Chakra/Chakra.vcxitems.filters +0 -54
  447. package/Chakra/ChakraHelpers.cpp +0 -468
  448. package/Chakra/ChakraHelpers.h +0 -146
  449. package/Chakra/ChakraInstanceArgs.h +0 -52
  450. package/Chakra/ChakraPlatform.cpp +0 -42
  451. package/Chakra/ChakraPlatform.h +0 -51
  452. package/Chakra/ChakraTracing.cpp +0 -275
  453. package/Chakra/ChakraTracing.h +0 -11
  454. package/Chakra/ChakraUtils.cpp +0 -190
  455. package/Chakra/ChakraUtils.h +0 -72
  456. package/Chakra/ChakraValue.cpp +0 -257
  457. package/Chakra/ChakraValue.h +0 -308
  458. package/Chakra/Utf8DebugExtensions.cpp +0 -62
  459. package/Chakra/Utf8DebugExtensions.h +0 -29
  460. package/Libraries/Interaction/InteractionManagerStub.js +0 -184
  461. package/Libraries/Interaction/TaskQueue.js +0 -183
  462. package/Libraries/ReactNative/ReactNativeFeatureFlags.js +0 -31
  463. package/Microsoft.ReactNative/ABICxxModule.cpp +0 -51
  464. package/Microsoft.ReactNative/ABICxxModule.h +0 -38
  465. package/Microsoft.ReactNative/ABIViewManager.cpp +0 -263
  466. package/Microsoft.ReactNative/ABIViewManager.h +0 -100
  467. package/Microsoft.ReactNative/Base/CoreUIManagers.cpp +0 -55
  468. package/Microsoft.ReactNative/DevMenuControl.cpp +0 -14
  469. package/Microsoft.ReactNative/DevMenuControl.h +0 -20
  470. package/Microsoft.ReactNative/DevMenuControl.idl +0 -28
  471. package/Microsoft.ReactNative/DevMenuControl.xaml +0 -139
  472. package/Microsoft.ReactNative/GlyphViewManager.cpp +0 -167
  473. package/Microsoft.ReactNative/GlyphViewManager.h +0 -24
  474. package/Microsoft.ReactNative/INativeUIManager.h +0 -75
  475. package/Microsoft.ReactNative/IViewManager.idl +0 -120
  476. package/Microsoft.ReactNative/IViewManagerCore.idl +0 -45
  477. package/Microsoft.ReactNative/LayoutService.cpp +0 -51
  478. package/Microsoft.ReactNative/LayoutService.h +0 -32
  479. package/Microsoft.ReactNative/LayoutService.idl +0 -41
  480. package/Microsoft.ReactNative/Modules/NativeUIManager.cpp +0 -1187
  481. package/Microsoft.ReactNative/Modules/NativeUIManager.h +0 -128
  482. package/Microsoft.ReactNative/Modules/PaperUIManagerModule.cpp +0 -891
  483. package/Microsoft.ReactNative/Modules/PaperUIManagerModule.h +0 -185
  484. package/Microsoft.ReactNative/NativeModulesProvider.cpp +0 -49
  485. package/Microsoft.ReactNative/NativeModulesProvider.h +0 -25
  486. package/Microsoft.ReactNative/ReactApplication.cpp +0 -276
  487. package/Microsoft.ReactNative/ReactApplication.h +0 -156
  488. package/Microsoft.ReactNative/ReactApplication.idl +0 -48
  489. package/Microsoft.ReactNative/ReactHost/ViewManagerProvider.h +0 -19
  490. package/Microsoft.ReactNative/ReactPointerEventArgs.cpp +0 -55
  491. package/Microsoft.ReactNative/ReactPointerEventArgs.h +0 -32
  492. package/Microsoft.ReactNative/ReactPointerEventArgs.idl +0 -79
  493. package/Microsoft.ReactNative/ReactRootView.cpp +0 -592
  494. package/Microsoft.ReactNative/ReactRootView.h +0 -127
  495. package/Microsoft.ReactNative/ReactRootView.idl +0 -40
  496. package/Microsoft.ReactNative/TestHook.cpp +0 -99
  497. package/Microsoft.ReactNative/TestHook.h +0 -15
  498. package/Microsoft.ReactNative/Utils/AccessibilityUtils.cpp +0 -36
  499. package/Microsoft.ReactNative/Utils/AccessibilityUtils.h +0 -15
  500. package/Microsoft.ReactNative/Utils/BatchingEventEmitter.cpp +0 -171
  501. package/Microsoft.ReactNative/Utils/BatchingEventEmitter.h +0 -72
  502. package/Microsoft.ReactNative/Utils/PropertyHandlerUtils.h +0 -87
  503. package/Microsoft.ReactNative/Utils/PropertyUtils.h +0 -568
  504. package/Microsoft.ReactNative/Utils/ResourceBrushUtils.cpp +0 -182
  505. package/Microsoft.ReactNative/Utils/ResourceBrushUtils.h +0 -58
  506. package/Microsoft.ReactNative/Utils/ShadowNodeTypeUtils.h +0 -26
  507. package/Microsoft.ReactNative/Utils/XamlIslandUtils.cpp +0 -93
  508. package/Microsoft.ReactNative/Utils/XamlIslandUtils.h +0 -48
  509. package/Microsoft.ReactNative/ViewManagersProvider.cpp +0 -39
  510. package/Microsoft.ReactNative/ViewManagersProvider.h +0 -27
  511. package/Microsoft.ReactNative/Views/ActivityIndicatorViewManager.cpp +0 -62
  512. package/Microsoft.ReactNative/Views/ActivityIndicatorViewManager.h +0 -29
  513. package/Microsoft.ReactNative/Views/ConfigureBundlerDlg.cpp +0 -186
  514. package/Microsoft.ReactNative/Views/ConfigureBundlerDlg.h +0 -11
  515. package/Microsoft.ReactNative/Views/ControlViewManager.cpp +0 -143
  516. package/Microsoft.ReactNative/Views/ControlViewManager.h +0 -38
  517. package/Microsoft.ReactNative/Views/DebuggingOverlayViewManager.cpp +0 -53
  518. package/Microsoft.ReactNative/Views/DebuggingOverlayViewManager.h +0 -30
  519. package/Microsoft.ReactNative/Views/DynamicAutomationPeer.cpp +0 -586
  520. package/Microsoft.ReactNative/Views/DynamicAutomationPeer.h +0 -104
  521. package/Microsoft.ReactNative/Views/DynamicAutomationProperties.cpp +0 -330
  522. package/Microsoft.ReactNative/Views/DynamicAutomationProperties.h +0 -111
  523. package/Microsoft.ReactNative/Views/DynamicValueProvider.cpp +0 -59
  524. package/Microsoft.ReactNative/Views/DynamicValueProvider.h +0 -32
  525. package/Microsoft.ReactNative/Views/ExpressionAnimationStore.cpp +0 -61
  526. package/Microsoft.ReactNative/Views/ExpressionAnimationStore.h +0 -26
  527. package/Microsoft.ReactNative/Views/FlyoutViewManager.cpp +0 -559
  528. package/Microsoft.ReactNative/Views/FlyoutViewManager.h +0 -34
  529. package/Microsoft.ReactNative/Views/FrameworkElementTransferProperties.cpp +0 -126
  530. package/Microsoft.ReactNative/Views/FrameworkElementTransferProperties.h +0 -23
  531. package/Microsoft.ReactNative/Views/FrameworkElementViewManager.cpp +0 -957
  532. package/Microsoft.ReactNative/Views/FrameworkElementViewManager.h +0 -41
  533. package/Microsoft.ReactNative/Views/IXamlRootView.h +0 -17
  534. package/Microsoft.ReactNative/Views/Image/ImageViewManager.cpp +0 -245
  535. package/Microsoft.ReactNative/Views/Image/ImageViewManager.h +0 -45
  536. package/Microsoft.ReactNative/Views/Image/ReactImage.cpp +0 -469
  537. package/Microsoft.ReactNative/Views/Image/ReactImage.h +0 -80
  538. package/Microsoft.ReactNative/Views/Image/ReactImageBrush.cpp +0 -247
  539. package/Microsoft.ReactNative/Views/Image/ReactImageBrush.h +0 -67
  540. package/Microsoft.ReactNative/Views/KeyboardEventHandler.cpp +0 -261
  541. package/Microsoft.ReactNative/Views/KeyboardEventHandler.h +0 -132
  542. package/Microsoft.ReactNative/Views/PaperShadowNode.cpp +0 -18
  543. package/Microsoft.ReactNative/Views/PaperShadowNode.h +0 -38
  544. package/Microsoft.ReactNative/Views/PopupViewManager.cpp +0 -349
  545. package/Microsoft.ReactNative/Views/PopupViewManager.h +0 -36
  546. package/Microsoft.ReactNative/Views/RawTextViewManager.cpp +0 -69
  547. package/Microsoft.ReactNative/Views/RawTextViewManager.h +0 -46
  548. package/Microsoft.ReactNative/Views/ReactViewInstance.cpp +0 -43
  549. package/Microsoft.ReactNative/Views/ReactViewInstance.h +0 -53
  550. package/Microsoft.ReactNative/Views/RefreshControlManager.cpp +0 -116
  551. package/Microsoft.ReactNative/Views/RefreshControlManager.h +0 -28
  552. package/Microsoft.ReactNative/Views/RootViewManager.cpp +0 -65
  553. package/Microsoft.ReactNative/Views/RootViewManager.h +0 -36
  554. package/Microsoft.ReactNative/Views/SIPEventHandler.cpp +0 -117
  555. package/Microsoft.ReactNative/Views/SIPEventHandler.h +0 -45
  556. package/Microsoft.ReactNative/Views/ScrollContentViewManager.cpp +0 -16
  557. package/Microsoft.ReactNative/Views/ScrollContentViewManager.h +0 -19
  558. package/Microsoft.ReactNative/Views/ScrollViewManager.cpp +0 -540
  559. package/Microsoft.ReactNative/Views/ScrollViewManager.h +0 -42
  560. package/Microsoft.ReactNative/Views/ShadowNodeBase.cpp +0 -228
  561. package/Microsoft.ReactNative/Views/ShadowNodeBase.h +0 -169
  562. package/Microsoft.ReactNative/Views/ShadowNodeRegistry.cpp +0 -68
  563. package/Microsoft.ReactNative/Views/ShadowNodeRegistry.h +0 -40
  564. package/Microsoft.ReactNative/Views/SliderViewManager.cpp +0 -97
  565. package/Microsoft.ReactNative/Views/SliderViewManager.h +0 -32
  566. package/Microsoft.ReactNative/Views/SwitchViewManager.cpp +0 -227
  567. package/Microsoft.ReactNative/Views/SwitchViewManager.h +0 -31
  568. package/Microsoft.ReactNative/Views/Text/TextHighlighterVisitor.cpp +0 -52
  569. package/Microsoft.ReactNative/Views/Text/TextHighlighterVisitor.h +0 -37
  570. package/Microsoft.ReactNative/Views/Text/TextHitTestUtils.cpp +0 -348
  571. package/Microsoft.ReactNative/Views/Text/TextHitTestUtils.h +0 -13
  572. package/Microsoft.ReactNative/Views/Text/TextHitTestVisitor.cpp +0 -76
  573. package/Microsoft.ReactNative/Views/Text/TextHitTestVisitor.h +0 -32
  574. package/Microsoft.ReactNative/Views/Text/TextParentVisitor.cpp +0 -12
  575. package/Microsoft.ReactNative/Views/Text/TextParentVisitor.h +0 -19
  576. package/Microsoft.ReactNative/Views/Text/TextPropertyChangedParentVisitor.cpp +0 -75
  577. package/Microsoft.ReactNative/Views/Text/TextPropertyChangedParentVisitor.h +0 -43
  578. package/Microsoft.ReactNative/Views/Text/TextTransformParentVisitor.cpp +0 -21
  579. package/Microsoft.ReactNative/Views/Text/TextTransformParentVisitor.h +0 -23
  580. package/Microsoft.ReactNative/Views/Text/TextTransformVisitor.cpp +0 -70
  581. package/Microsoft.ReactNative/Views/Text/TextTransformVisitor.h +0 -34
  582. package/Microsoft.ReactNative/Views/Text/TextVisitor.cpp +0 -56
  583. package/Microsoft.ReactNative/Views/Text/TextVisitor.h +0 -34
  584. package/Microsoft.ReactNative/Views/Text/TextVisitorScope.h +0 -35
  585. package/Microsoft.ReactNative/Views/Text/TextVisitors.h +0 -47
  586. package/Microsoft.ReactNative/Views/TextInputViewManager.cpp +0 -1003
  587. package/Microsoft.ReactNative/Views/TextInputViewManager.h +0 -33
  588. package/Microsoft.ReactNative/Views/TextViewManager.cpp +0 -414
  589. package/Microsoft.ReactNative/Views/TextViewManager.h +0 -47
  590. package/Microsoft.ReactNative/Views/TouchEventHandler.cpp +0 -608
  591. package/Microsoft.ReactNative/Views/TouchEventHandler.h +0 -116
  592. package/Microsoft.ReactNative/Views/UnimplementedViewManager.cpp +0 -79
  593. package/Microsoft.ReactNative/Views/UnimplementedViewManager.h +0 -27
  594. package/Microsoft.ReactNative/Views/ViewControl.cpp +0 -43
  595. package/Microsoft.ReactNative/Views/ViewControl.h +0 -32
  596. package/Microsoft.ReactNative/Views/ViewManager.h +0 -33
  597. package/Microsoft.ReactNative/Views/ViewManagerBase.cpp +0 -487
  598. package/Microsoft.ReactNative/Views/ViewManagerBase.h +0 -121
  599. package/Microsoft.ReactNative/Views/ViewPanel.cpp +0 -164
  600. package/Microsoft.ReactNative/Views/ViewPanel.h +0 -82
  601. package/Microsoft.ReactNative/Views/ViewViewManager.cpp +0 -507
  602. package/Microsoft.ReactNative/Views/ViewViewManager.h +0 -52
  603. package/Microsoft.ReactNative/Views/VirtualTextViewManager.cpp +0 -143
  604. package/Microsoft.ReactNative/Views/VirtualTextViewManager.h +0 -57
  605. package/Microsoft.ReactNative/Views/XamlFeatures.cpp +0 -11
  606. package/Microsoft.ReactNative/Views/XamlFeatures.h +0 -11
  607. package/Microsoft.ReactNative/Views/cppwinrt/AccessibilityAction.idl +0 -12
  608. package/Microsoft.ReactNative/Views/cppwinrt/DynamicAutomationPeer.idl +0 -231
  609. package/Microsoft.ReactNative/Views/cppwinrt/ViewPanel.idl +0 -48
  610. package/Microsoft.ReactNative/XamlHelper.cpp +0 -78
  611. package/Microsoft.ReactNative/XamlHelper.h +0 -54
  612. package/Microsoft.ReactNative/XamlHelper.idl +0 -30
  613. package/Microsoft.ReactNative/XamlLoadState.cpp +0 -217
  614. package/Microsoft.ReactNative/XamlLoadState.h +0 -44
  615. package/Microsoft.ReactNative/XamlView.cpp +0 -59
  616. package/Microsoft.ReactNative/XamlView.h +0 -58
  617. package/Microsoft.ReactNative/getLayoutProps.ps1 +0 -5
  618. package/Microsoft.ReactNative.Cxx/UI.Xaml.Automation.Peers.h +0 -10
  619. package/Microsoft.ReactNative.Cxx/UI.Xaml.Automation.h +0 -10
  620. package/Microsoft.ReactNative.Cxx/UI.Xaml.Controls.Primitives.h +0 -10
  621. package/Microsoft.ReactNative.Cxx/UI.Xaml.Controls.h +0 -13
  622. package/Microsoft.ReactNative.Cxx/UI.Xaml.Documents.h +0 -10
  623. package/Microsoft.ReactNative.Cxx/UI.Xaml.Hosting.DesktopWindowXamlSource.h +0 -11
  624. package/Microsoft.ReactNative.Cxx/UI.Xaml.Hosting.h +0 -10
  625. package/Microsoft.ReactNative.Cxx/UI.Xaml.Input.h +0 -10
  626. package/Microsoft.ReactNative.Cxx/UI.Xaml.Markup.h +0 -10
  627. package/Microsoft.ReactNative.Cxx/UI.Xaml.Media.Imaging.h +0 -10
  628. package/Microsoft.ReactNative.Cxx/UI.Xaml.Media.Media3D.h +0 -10
  629. package/Microsoft.ReactNative.Cxx/UI.Xaml.Media.h +0 -10
  630. package/Microsoft.ReactNative.Cxx/UI.Xaml.Navigation.h +0 -10
  631. package/Microsoft.ReactNative.Cxx/UI.Xaml.Shapes.h +0 -10
  632. package/Microsoft.ReactNative.Managed/AttributedViewManager.cs +0 -527
  633. package/Microsoft.ReactNative.Managed/ViewManagerAttributes.cs +0 -91
  634. package/Microsoft.ReactNative.Managed/ViewManagerEvent.cs +0 -13
  635. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/AccessibilityProps.cpp +0 -344
  636. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/DynamicEventPayload.cpp +0 -42
  637. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/YGEnums.h +0 -146
  638. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/algorithm/CalculateLayout.cpp +0 -2435
  639. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/enums/ExperimentalFeature.h +0 -40
  640. package/Shared/BatchingMessageQueueThread.h +0 -20
  641. package/Shared/ChakraRuntimeHolder.cpp +0 -62
  642. package/Shared/ChakraRuntimeHolder.h +0 -46
  643. package/Shared/CreateInstance.h +0 -25
  644. package/Shared/Executors/WebSocketJSExecutor.cpp +0 -294
  645. package/Shared/Executors/WebSocketJSExecutor.h +0 -123
  646. package/Shared/Executors/WebSocketJSExecutorFactory.cpp +0 -25
  647. package/Shared/Hermes/HermesSamplingProfiler.cpp +0 -114
  648. package/Shared/Hermes/HermesSamplingProfiler.h +0 -26
  649. package/Shared/JSI/ChakraApi.cpp +0 -436
  650. package/Shared/JSI/ChakraApi.h +0 -474
  651. package/Shared/JSI/ChakraJsiRuntime_edgemode.cpp +0 -100
  652. package/Shared/JSI/ChakraRuntime.cpp +0 -1132
  653. package/Shared/JSI/ChakraRuntime.h +0 -512
  654. package/Shared/JSI/ChakraRuntimeArgs.h +0 -45
  655. package/Shared/JSI/ChakraRuntimeFactory.h +0 -15
  656. package/Shared/JSI/JSExecutorFactoryDelegate.h +0 -12
  657. package/Shared/JSI/JSExecutorFactorySettings.cpp +0 -30
  658. package/Shared/JSI/JSExecutorFactorySettings.h +0 -21
  659. package/Shared/NativeModuleProvider.h +0 -40
  660. package/Shared/SystemChakraRuntime.h +0 -38
  661. package/Shared/Threading/BatchingQueueThread.cpp +0 -128
  662. package/Shared/Threading/BatchingQueueThread.h +0 -59
  663. package/Shared/WebSocketJSExecutorFactory.h +0 -27
  664. package/fmt/TEMP_UntilFmtUpdate/core.h +0 -2925
  665. package/template/cpp-app/proj/MyApp.sln +0 -166
  666. package/template/cpp-app/proj/MyApp.vcxproj +0 -176
  667. package/template/cpp-app/proj/MyApp.vcxproj.filters +0 -62
  668. package/template/cpp-app/src/App.cpp +0 -93
  669. package/template/cpp-app/src/App.h +0 -21
  670. package/template/cpp-app/src/App.idl +0 -3
  671. package/template/cpp-app/src/AutolinkedNativeModules.g.cpp +0 -13
  672. package/template/cpp-app/src/AutolinkedNativeModules.g.h +0 -10
  673. package/template/cpp-app/src/MainPage.cpp +0 -20
  674. package/template/cpp-app/src/MainPage.h +0 -19
  675. package/template/cpp-app/src/MainPage.idl +0 -10
  676. package/template/cpp-app/src/PropertySheet.props +0 -16
  677. package/template/cpp-app/src/ReactPackageProvider.cpp +0 -15
  678. package/template/cpp-app/src/ReactPackageProvider.h +0 -13
  679. package/template/cpp-app/src/pch.cpp +0 -1
  680. package/template/cpp-app/src/pch.h +0 -24
  681. package/template/cs-app/proj/MyApp.csproj +0 -162
  682. package/template/cs-app/proj/MyApp.sln +0 -191
  683. package/template/cs-app/src/App.xaml.cs +0 -62
  684. package/template/cs-app/src/AutolinkedNativeModules.g.cs +0 -13
  685. package/template/cs-app/src/MainPage.xaml.cs +0 -34
  686. package/template/cs-app/src/Properties/AssemblyInfo.cs +0 -29
  687. package/template/cs-app/src/Properties/Default.rd.xml +0 -32
  688. package/template/cs-app/src/ReactPackageProvider.cs +0 -17
  689. package/template/shared-app/assets/LockScreenLogo.scale-200.png +0 -0
  690. package/template/shared-app/assets/SplashScreen.scale-200.png +0 -0
  691. package/template/shared-app/assets/Square150x150Logo.scale-200.png +0 -0
  692. package/template/shared-app/assets/Square44x44Logo.scale-200.png +0 -0
  693. package/template/shared-app/assets/Square44x44Logo.targetsize-24_altform-unplated.png +0 -0
  694. package/template/shared-app/assets/StoreLogo.png +0 -0
  695. package/template/shared-app/assets/Wide310x150Logo.scale-200.png +0 -0
  696. package/template/shared-app/proj/ExperimentalFeatures.props +0 -32
  697. package/template/shared-app/proj/NuGet_Config +0 -19
  698. package/template/shared-app/src/App.xaml +0 -10
  699. package/template/shared-app/src/AutolinkedNativeModules.g.props +0 -6
  700. package/template/shared-app/src/AutolinkedNativeModules.g.targets +0 -6
  701. package/template/shared-app/src/MainPage.xaml +0 -21
  702. package/template/shared-app/src/Package.appxmanifest +0 -50
  703. package/templates/old/uwp-cpp-app/template.config.js +0 -15
  704. package/templates/old/uwp-cs-app/template.config.js +0 -15
@@ -1,512 +0,0 @@
1
- // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT License.
3
-
4
- // Do not include this file directly.
5
- // To obtain a chakra runtime instance, include <ChakraRuntimeFactory.h>.
6
- #pragma once
7
-
8
- #include "ChakraApi.h"
9
- #include "ChakraRuntimeArgs.h"
10
-
11
- #include <jsi/jsi.h>
12
-
13
- #include <array>
14
- #include <mutex>
15
- #include <sstream>
16
-
17
- namespace Microsoft::JSI {
18
-
19
- // Implementation of Chakra JSI Runtime
20
- class ChakraRuntime : public facebook::jsi::Runtime, public ChakraApi, ChakraApi::IExceptionThrower {
21
- public:
22
- ChakraRuntime(ChakraRuntimeArgs &&args) noexcept;
23
- void Init() noexcept;
24
- virtual ~ChakraRuntime() noexcept;
25
-
26
- #pragma region Functions_inherited_from_Runtime
27
-
28
- facebook::jsi::Value evaluateJavaScript(
29
- const std::shared_ptr<const facebook::jsi::Buffer> &buffer,
30
- const std::string &sourceURL) override;
31
-
32
- std::shared_ptr<const facebook::jsi::PreparedJavaScript> prepareJavaScript(
33
- const std::shared_ptr<const facebook::jsi::Buffer> &buffer,
34
- std::string sourceURL) override;
35
-
36
- facebook::jsi::Value evaluatePreparedJavaScript(
37
- const std::shared_ptr<const facebook::jsi::PreparedJavaScript> &js) override;
38
-
39
- bool drainMicrotasks(int maxMicrotasksHint = -1) override;
40
-
41
- void queueMicrotask(const facebook::jsi::Function &callback) override;
42
-
43
- facebook::jsi::Object global() override;
44
-
45
- std::string description() override;
46
-
47
- bool isInspectable() override;
48
-
49
- // We use the default instrumentation() implementation that returns an
50
- // Instrumentation instance which returns no metrics.
51
-
52
- private:
53
- // Despite the name "clone" suggesting a deep copy, a return value of these
54
- // functions points to a new heap allocated ChakraPointerValue whose member
55
- // JsRefHolder refers to the same JavaScript object as the member
56
- // JsRefHolder of *pointerValue. This behavior is consistent with that of
57
- // HermesRuntime and JSCRuntime. Also, Like all ChakraPointerValues, the
58
- // return value must only be used as an argument to the constructor of
59
- // jsi::Pointer or one of its derived classes.
60
- PointerValue *cloneSymbol(const PointerValue *pointerValue) override;
61
- PointerValue *cloneBigInt(const PointerValue *pointerValue) override;
62
- PointerValue *cloneString(const PointerValue *pointerValue) override;
63
- PointerValue *cloneObject(const PointerValue *pointerValue) override;
64
- PointerValue *clonePropNameID(const PointerValue *pointerValue) override;
65
-
66
- facebook::jsi::PropNameID createPropNameIDFromAscii(const char *str, size_t length) override;
67
- facebook::jsi::PropNameID createPropNameIDFromUtf8(const uint8_t *utf8, size_t length) override;
68
- facebook::jsi::PropNameID createPropNameIDFromString(const facebook::jsi::String &str) override;
69
- facebook::jsi::PropNameID createPropNameIDFromSymbol(const facebook::jsi::Symbol &sym) override;
70
- std::string utf8(const facebook::jsi::PropNameID &id) override;
71
- bool compare(const facebook::jsi::PropNameID &lhs, const facebook::jsi::PropNameID &rhs) override;
72
-
73
- facebook::jsi::BigInt createBigIntFromInt64(int64_t value) override;
74
- facebook::jsi::BigInt createBigIntFromUint64(uint64_t value) override;
75
- bool bigintIsInt64(const facebook::jsi::BigInt &) override;
76
- bool bigintIsUint64(const facebook::jsi::BigInt &) override;
77
- uint64_t truncate(const facebook::jsi::BigInt &) override;
78
- facebook::jsi::String bigintToString(const facebook::jsi::BigInt &, int) override;
79
-
80
- bool hasNativeState(const facebook::jsi::Object &) override;
81
- std::shared_ptr<facebook::jsi::NativeState> getNativeState(const facebook::jsi::Object &) override;
82
- void setNativeState(const facebook::jsi::Object &, std::shared_ptr<facebook::jsi::NativeState> state) override;
83
-
84
- facebook::jsi::ArrayBuffer createArrayBuffer(std::shared_ptr<facebook::jsi::MutableBuffer> buffer) override;
85
-
86
- std::string symbolToString(const facebook::jsi::Symbol &s) override;
87
-
88
- // Despite its name, createPropNameIDFromAscii is the same function as
89
- // createStringFromUtf8.
90
- facebook::jsi::String createStringFromAscii(const char *str, size_t length) override;
91
- facebook::jsi::String createStringFromUtf8(const uint8_t *utf8, size_t length) override;
92
- std::string utf8(const facebook::jsi::String &str) override;
93
-
94
- facebook::jsi::Object createObject() override;
95
- facebook::jsi::Object createObject(std::shared_ptr<facebook::jsi::HostObject> ho) override;
96
- std::shared_ptr<facebook::jsi::HostObject> getHostObject(const facebook::jsi::Object &) override;
97
- facebook::jsi::HostFunctionType &getHostFunction(const facebook::jsi::Function &) override;
98
-
99
- facebook::jsi::Value getProperty(const facebook::jsi::Object &obj, const facebook::jsi::PropNameID &name) override;
100
- facebook::jsi::Value getProperty(const facebook::jsi::Object &obj, const facebook::jsi::String &name) override;
101
- bool hasProperty(const facebook::jsi::Object &obj, const facebook::jsi::PropNameID &name) override;
102
- bool hasProperty(const facebook::jsi::Object &obj, const facebook::jsi::String &name) override;
103
- void setPropertyValue(
104
- const facebook::jsi::Object &obj,
105
- const facebook::jsi::PropNameID &name,
106
- const facebook::jsi::Value &value) override;
107
- void setPropertyValue(
108
- const facebook::jsi::Object &obj,
109
- const facebook::jsi::String &name,
110
- const facebook::jsi::Value &value) override;
111
-
112
- bool isArray(const facebook::jsi::Object &obj) const override;
113
- bool isArrayBuffer(const facebook::jsi::Object &obj) const override;
114
- bool isFunction(const facebook::jsi::Object &obj) const override;
115
- bool isHostObject(const facebook::jsi::Object &obj) const override;
116
- bool isHostFunction(const facebook::jsi::Function &func) const override;
117
- // Returns the names of all enumerable properties of an object. This
118
- // corresponds the properties iterated through by the JavaScript for..in loop.
119
- facebook::jsi::Array getPropertyNames(const facebook::jsi::Object &obj) override;
120
-
121
- facebook::jsi::WeakObject createWeakObject(const facebook::jsi::Object &obj) override;
122
- facebook::jsi::Value lockWeakObject(const facebook::jsi::WeakObject &weakObj) override;
123
-
124
- facebook::jsi::Array createArray(size_t length) override;
125
- size_t size(const facebook::jsi::Array &arr) override;
126
- size_t size(const facebook::jsi::ArrayBuffer &arrBuf) override;
127
- // The lifetime of the buffer returned is the same as the lifetime of the
128
- // ArrayBuffer. The returned buffer pointer does not count as a reference to
129
- // the ArrayBuffer for the purpose of garbage collection.
130
- uint8_t *data(const facebook::jsi::ArrayBuffer &arrBuf) override;
131
- facebook::jsi::Value getValueAtIndex(const facebook::jsi::Array &arr, size_t index) override;
132
- void setValueAtIndexImpl(const facebook::jsi::Array &arr, size_t index, const facebook::jsi::Value &value) override;
133
-
134
- facebook::jsi::Function createFunctionFromHostFunction(
135
- const facebook::jsi::PropNameID &name,
136
- unsigned int paramCount,
137
- facebook::jsi::HostFunctionType func) override;
138
- facebook::jsi::Value call(
139
- const facebook::jsi::Function &func,
140
- const facebook::jsi::Value &jsThis,
141
- const facebook::jsi::Value *args,
142
- size_t count) override;
143
- facebook::jsi::Value
144
- callAsConstructor(const facebook::jsi::Function &func, const facebook::jsi::Value *args, size_t count) override;
145
-
146
- // For now, pushing a scope does nothing, and popping a scope forces the
147
- // JavaScript garbage collector to run.
148
- ScopeState *pushScope() override;
149
- void popScope(ScopeState *) override;
150
-
151
- bool strictEquals(const facebook::jsi::Symbol &a, const facebook::jsi::Symbol &b) const override;
152
- bool strictEquals(const facebook::jsi::BigInt &a, const facebook::jsi::BigInt &b) const override;
153
- bool strictEquals(const facebook::jsi::String &a, const facebook::jsi::String &b) const override;
154
- bool strictEquals(const facebook::jsi::Object &a, const facebook::jsi::Object &b) const override;
155
-
156
- bool instanceOf(const facebook::jsi::Object &obj, const facebook::jsi::Function &func) override;
157
-
158
- void setExternalMemoryPressure(const facebook::jsi::Object &obj, size_t amount) override;
159
-
160
- #pragma endregion Functions_inherited_from_Runtime
161
-
162
- protected:
163
- ChakraRuntimeArgs &runtimeArgs() {
164
- return m_args;
165
- }
166
-
167
- // Promise Helpers
168
- static void CALLBACK PromiseContinuationCallback(JsValueRef funcRef, void *callbackState) noexcept;
169
- static void CALLBACK
170
- PromiseRejectionTrackerCallback(JsValueRef promise, JsValueRef reason, bool handled, void *callbackState);
171
-
172
- // Note: For simplicity, We are pinning the script and serialized script
173
- // buffers in the facebook::jsi::Runtime instance assuming as these buffers
174
- // are needed to stay alive for the lifetime of the facebook::jsi::Runtime
175
- // implementation. This approach doesn't make sense for other external buffers
176
- // which may get created during the execution as that will stop the backing
177
- // buffer from getting released when the JSValue gets collected.
178
- JsRuntimeHandle m_runtime;
179
- std::string m_debugRuntimeName;
180
- int m_debugPort{0};
181
- constexpr static char DebuggerDefaultRuntimeName[] = "runtime1";
182
- constexpr static int DebuggerDefaultPort = 9229;
183
-
184
- // These buffers are kept to serve the source callbacks when evaluating
185
- // serialized scripts.
186
- std::vector<std::shared_ptr<const facebook::jsi::Buffer>> m_pinnedScripts;
187
-
188
- // These three functions only performs shallow copies.
189
- facebook::jsi::Value ToJsiValue(JsValueRef ref);
190
- JsValueRef ToJsValueRef(const facebook::jsi::Value &value);
191
-
192
- private: // ChakraApi::IExceptionThrower members
193
- [[noreturn]] void ThrowJsExceptionOverride(JsErrorCode errorCode, JsValueRef jsError) override;
194
- [[noreturn]] void ThrowNativeExceptionOverride(char const *errorMessage) override;
195
- void RewriteErrorMessage(JsValueRef jsError);
196
-
197
- private:
198
- // ChakraPointerValueView is the base class for ChakraPointerValue.
199
- // It holds the JsRef, but unlike the ChakraPointerValue does nothing in the
200
- // invalidate() method.
201
- // It is used by the JsiValueView, JsiValueViewArray, and JsiPropNameIDView classes
202
- // to keep temporary PointerValues on the call stack to avoid extra memory allocations.
203
- struct ChakraPointerValueView : PointerValue {
204
- ChakraPointerValueView(JsRef jsRef) noexcept : m_jsRef{jsRef} {}
205
-
206
- ChakraPointerValueView(ChakraPointerValueView const &) = delete;
207
- ChakraPointerValueView &operator=(ChakraPointerValueView const &) = delete;
208
-
209
- void invalidate() noexcept override {}
210
-
211
- JsRef GetRef() const noexcept {
212
- return m_jsRef;
213
- }
214
-
215
- private:
216
- JsRef m_jsRef;
217
- };
218
-
219
- // ChakraPointerValue is needed for working with Facebook's jsi::Pointer class
220
- // and must only be used for this purpose. Every instance of
221
- // ChakraPointerValue should be allocated on the heap and be used as an
222
- // argument to the constructor of jsi::Pointer or one of its derived classes.
223
- // Pointer makes sure that invalidate(), which frees the heap allocated
224
- // ChakraPointerValue, is called upon destruction. Since the constructor of
225
- // jsi::Pointer is protected, we usually have to invoke it through
226
- // jsi::Runtime::make. The code should look something like:
227
- //
228
- // make<Pointer>(new ChakraPointerValue(...));
229
- //
230
- // or you can use the helper function MakePointer(), as defined below.
231
- struct ChakraPointerValue final : ChakraPointerValueView {
232
- ChakraPointerValue(JsRef ref) noexcept : ChakraPointerValueView{ref} {
233
- if (ref) {
234
- AddRef(ref);
235
- }
236
- }
237
-
238
- void invalidate() noexcept override {
239
- delete this;
240
- }
241
-
242
- private:
243
- // ~ChakraPointerValue() should only be invoked by invalidate().
244
- // Hence we make it private.
245
- ~ChakraPointerValue() noexcept override {
246
- if (JsRef ref = GetRef()) {
247
- // JSI allows the destructor to be run on a random thread.
248
- // To handle it correctly we must schedule a task to the thread associated
249
- // with the Chakra context. For now we just leak the value.
250
- // TODO: Implement proper ref count release if it is called on a wrong thread.
251
- JsRelease(ref, nullptr); // We ignore the error until we fix the TODO above.
252
- }
253
- }
254
- };
255
-
256
- template <typename T, std::enable_if_t<std::is_base_of_v<facebook::jsi::Pointer, T>, int> = 0>
257
- static T MakePointer(JsRef ref) {
258
- return make<T>(new ChakraPointerValue(ref));
259
- }
260
-
261
- // The pointer passed to this function must point to a ChakraPointerValue.
262
- static ChakraPointerValue *CloneChakraPointerValue(const PointerValue *pointerValue) {
263
- return new ChakraPointerValue(static_cast<const ChakraPointerValue *>(pointerValue)->GetRef());
264
- }
265
-
266
- // The jsi::Pointer passed to this function must hold a ChakraPointerValue.
267
- static JsRef GetJsRef(const facebook::jsi::Pointer &p) {
268
- return static_cast<const ChakraPointerValueView *>(getPointerValue(p))->GetRef();
269
- }
270
-
271
- JsValueRef CreateExternalFunction(
272
- JsPropertyIdRef name,
273
- int32_t paramCount,
274
- JsNativeFunction nativeFunction,
275
- void *callbackState);
276
-
277
- // Host function helper
278
- static JsValueRef CALLBACK HostFunctionCall(
279
- JsValueRef callee,
280
- bool isConstructCall,
281
- JsValueRef *args,
282
- unsigned short argCount,
283
- void *callbackState);
284
-
285
- // Host object helpers; runtime must be referring to a ChakraRuntime.
286
- static JsValueRef CALLBACK HostObjectGetTrap(
287
- JsValueRef callee,
288
- bool isConstructCall,
289
- JsValueRef *args,
290
- unsigned short argCount,
291
- void *callbackState) noexcept;
292
-
293
- static JsValueRef CALLBACK HostObjectSetTrap(
294
- JsValueRef callee,
295
- bool isConstructCall,
296
- JsValueRef *args,
297
- unsigned short argCount,
298
- void *callbackState) noexcept;
299
-
300
- static JsValueRef CALLBACK HostObjectOwnKeysTrap(
301
- JsValueRef callee,
302
- bool isConstructCall,
303
- JsValueRef *args,
304
- unsigned short argCount,
305
- void *callbackState) noexcept;
306
-
307
- static JsValueRef CALLBACK HostObjectGetOwnPropertyDescriptorTrap(
308
- JsValueRef callee,
309
- bool isConstructCall,
310
- JsValueRef *args,
311
- unsigned short argCount,
312
- void *callbackState) noexcept;
313
-
314
- JsValueRef GetHostObjectProxyHandler();
315
-
316
- // Evaluate lambda and augment exception messages with the methodName.
317
- template <typename TLambda>
318
- static auto RunInMethodContext(char const *methodName, TLambda lambda) {
319
- try {
320
- return lambda();
321
- } catch (facebook::jsi::JSError const &) {
322
- throw; // do not augment the JSError exceptions.
323
- } catch (std::exception const &ex) {
324
- ChakraThrow((std::string{"Exception in "} + methodName + ": " + ex.what()).c_str());
325
- } catch (...) {
326
- ChakraThrow((std::string{"Exception in "} + methodName + ": <unknown>").c_str());
327
- }
328
- }
329
-
330
- // Evaluate lambda and convert all exceptions to Chakra engine exceptions.
331
- template <typename TLambda>
332
- JsValueRef HandleCallbackExceptions(TLambda lambda) noexcept {
333
- try {
334
- try {
335
- return lambda();
336
- } catch (facebook::jsi::JSError const &jsError) {
337
- // This block may throw exceptions
338
- SetException(ToJsValueRef(jsError.value()));
339
- }
340
- } catch (std::exception const &ex) {
341
- SetException(ex.what());
342
- } catch (...) {
343
- SetException(L"Unexpected error");
344
- }
345
-
346
- return m_undefinedValue;
347
- }
348
-
349
- void PromiseContinuation(JsValueRef value) noexcept;
350
- void PromiseRejectionTracker(JsValueRef promise, JsValueRef reason, bool handled);
351
-
352
- virtual void setupNativePromiseContinuation() noexcept;
353
-
354
- // In-proc debugging helpers
355
- virtual void startDebuggingIfNeeded() = 0;
356
- virtual void stopDebuggingIfNeeded() = 0;
357
-
358
- // Version related helpers
359
- static void initRuntimeVersion() noexcept;
360
- static uint64_t getRuntimeVersion() {
361
- return s_runtimeVersion;
362
- }
363
-
364
- // Miscellaneous
365
- virtual std::unique_ptr<const facebook::jsi::Buffer> generatePreparedScript(
366
- const std::string &sourceURL,
367
- const facebook::jsi::Buffer &sourceBuffer) noexcept = 0;
368
- virtual facebook::jsi::Value evaluateJavaScriptSimple(
369
- const facebook::jsi::Buffer &buffer,
370
- const std::string &sourceURL) = 0;
371
- virtual bool evaluateSerializedScript(
372
- const facebook::jsi::Buffer &scriptBuffer,
373
- const facebook::jsi::Buffer &serializedScriptBuffer,
374
- const std::string &sourceURL,
375
- JsValueRef *result) = 0;
376
-
377
- enum class PropertyAttributes {
378
- None = 0,
379
- ReadOnly = 1 << 1,
380
- DontEnum = 1 << 2,
381
- DontDelete = 1 << 3,
382
- Frozen = ReadOnly | DontDelete,
383
- DontEnumAndFrozen = DontEnum | Frozen,
384
- };
385
-
386
- friend constexpr PropertyAttributes operator&(PropertyAttributes left, PropertyAttributes right) {
387
- return (PropertyAttributes)((int)left & (int)right);
388
- }
389
-
390
- friend constexpr bool operator!(PropertyAttributes attrs) {
391
- return attrs == PropertyAttributes::None;
392
- }
393
-
394
- JsValueRef CreatePropertyDescriptor(JsValueRef value, PropertyAttributes attrs);
395
-
396
- // The number of arguments that we keep on stack.
397
- // We use heap if we have more argument.
398
- constexpr static size_t MaxStackArgCount = 8;
399
-
400
- // JsValueArgs helps to optimize passing arguments to Chakra function.
401
- // If number of arguments is below or equal to MaxStackArgCount,
402
- // then they are kept on call stack, otherwise arguments are allocated on heap.
403
- struct JsValueArgs final {
404
- JsValueArgs(ChakraRuntime &rt, facebook::jsi::Value const &firstArg, Span<facebook::jsi::Value const> args);
405
- ~JsValueArgs();
406
- operator ChakraApi::Span<JsValueRef>();
407
-
408
- private:
409
- size_t const m_count{};
410
- std::array<JsValueRef, MaxStackArgCount> m_stackArgs{{JS_INVALID_REFERENCE}};
411
- std::unique_ptr<JsValueRef[]> const m_heapArgs;
412
- };
413
-
414
- // This type represents a view to Value based on JsValueRef.
415
- // It avoids extra memory allocation by using an in-place storage.
416
- // It uses ChakraPointerValueView that does nothing in the invalidate() method.
417
- struct JsiValueView final {
418
- JsiValueView(JsValueRef jsValue);
419
- ~JsiValueView() noexcept;
420
- operator facebook::jsi::Value const &() const noexcept;
421
-
422
- using StoreType = std::aligned_storage_t<sizeof(ChakraPointerValueView)>;
423
- static facebook::jsi::Value InitValue(JsValueRef jsValue, StoreType *store);
424
-
425
- private:
426
- StoreType m_pointerStore{};
427
- facebook::jsi::Value const m_value{};
428
- };
429
-
430
- // This class helps to use stack storage for passing arguments that must be temporary converted from
431
- // JsValueRef to facebook::jsi::Value.
432
- struct JsiValueViewArgs final {
433
- JsiValueViewArgs(JsValueRef *args, size_t argCount) noexcept;
434
- facebook::jsi::Value const *Data() const noexcept;
435
- size_t Size() const noexcept;
436
-
437
- private:
438
- size_t const m_size{};
439
- std::array<JsiValueView::StoreType, MaxStackArgCount> m_stackPointerStore{};
440
- std::array<facebook::jsi::Value, MaxStackArgCount> m_stackArgs{};
441
- std::unique_ptr<JsiValueView::StoreType[]> const m_heapPointerStore{};
442
- std::unique_ptr<facebook::jsi::Value[]> const m_heapArgs{};
443
- };
444
-
445
- // PropNameIDView helps to use the stack storage for temporary conversion from
446
- // JsPropertyIdRef to facebook::jsi::PropNameID.
447
- struct PropNameIDView final {
448
- PropNameIDView(JsPropertyIdRef propertyId) noexcept;
449
- ~PropNameIDView() noexcept;
450
- operator facebook::jsi::PropNameID const &() const noexcept;
451
-
452
- using StoreType = std::aligned_storage_t<sizeof(ChakraPointerValueView)>;
453
-
454
- private:
455
- StoreType m_pointerStore{};
456
- facebook::jsi::PropNameID const m_propertyId;
457
- };
458
-
459
- private:
460
- // Property ID cache to improve execution speed
461
- struct PropertyId final {
462
- JsRefHolder Object;
463
- JsRefHolder Proxy;
464
- JsRefHolder Symbol;
465
- JsRefHolder byteLength;
466
- JsRefHolder configurable;
467
- JsRefHolder enumerable;
468
- JsRefHolder get;
469
- JsRefHolder getOwnPropertyDescriptor;
470
- JsRefHolder has;
471
- JsRefHolder hostFunctionSymbol;
472
- JsRefHolder hostObjectSymbol;
473
- JsRefHolder length;
474
- JsRefHolder message;
475
- JsRefHolder ownKeys;
476
- JsRefHolder propertyIsEnumerable;
477
- JsRefHolder prototype;
478
- JsRefHolder set;
479
- JsRefHolder toString;
480
- JsRefHolder value;
481
- JsRefHolder writable;
482
- } m_propertyId;
483
-
484
- JsRefHolder m_undefinedValue;
485
- JsRefHolder m_proxyConstructor;
486
- JsRefHolder m_hostObjectProxyHandler;
487
-
488
- JsRefHolder m_weakMapGet;
489
- JsRefHolder m_weakMapHas;
490
- JsRefHolder m_weakMapSet;
491
- JsRefHolder m_nativeStateMap;
492
-
493
- static std::once_flag s_runtimeVersionInitFlag;
494
- static uint64_t s_runtimeVersion;
495
-
496
- // Arguments shared by the specializations
497
- ChakraRuntimeArgs m_args;
498
-
499
- JsRefHolder m_context;
500
- JsRefHolder m_prevContext;
501
-
502
- // Set the Chakra API exception thrower on this thread
503
- ExceptionThrowerHolder m_exceptionThrower{this};
504
-
505
- // These buffers back the external array buffers that we handover to
506
- // ChakraCore.
507
- std::vector<std::shared_ptr<const facebook::jsi::Buffer>> m_pinnedPreparedScripts;
508
-
509
- bool m_pendingJSError{false};
510
- };
511
-
512
- } // namespace Microsoft::JSI
@@ -1,45 +0,0 @@
1
- // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT License.
3
-
4
- #pragma once
5
- #include <JSI/ScriptStore.h>
6
- #include <jsi/jsi.h>
7
-
8
- namespace facebook::react {
9
- class MessageQueueThread;
10
- } // namespace facebook::react
11
-
12
- namespace Microsoft::JSI {
13
-
14
- enum class LogLevel {
15
- Trace = 0,
16
- Info = 1,
17
- Warning = 2,
18
- Error = 3,
19
- Fatal = 4,
20
- };
21
-
22
- using Logger = std::function<void(const char *message, LogLevel logLevel)>;
23
-
24
- struct ChakraRuntimeArgs {
25
- bool enableJITCompilation{true};
26
-
27
- Logger loggingCallback{};
28
-
29
- // Debugger configuration.
30
- bool enableDebugging{false};
31
- bool debuggerBreakOnNextLine{false};
32
- bool enableNativePerformanceNow{true};
33
- bool enableNativePromiseSupport{false};
34
- uint16_t debuggerPort{9229};
35
- std::string debuggerRuntimeName;
36
-
37
- std::shared_ptr<facebook::react::MessageQueueThread> jsQueue;
38
-
39
- // Script store which manages script and prepared script storage and
40
- // versioning.
41
- std::unique_ptr<facebook::jsi::ScriptStore> scriptStore;
42
- std::unique_ptr<facebook::jsi::PreparedScriptStore> preparedScriptStore;
43
- };
44
-
45
- } // namespace Microsoft::JSI
@@ -1,15 +0,0 @@
1
- // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT License.
3
-
4
- #pragma once
5
-
6
- #include <jsi/jsi.h>
7
-
8
- namespace Microsoft::JSI {
9
-
10
- struct ChakraRuntimeArgs;
11
-
12
- std::unique_ptr<facebook::jsi::Runtime> makeChakraRuntime(ChakraRuntimeArgs &&args) noexcept;
13
-
14
- std::unique_ptr<facebook::jsi::Runtime> MakeSystemChakraRuntime(ChakraRuntimeArgs &&args) noexcept;
15
- } // namespace Microsoft::JSI
@@ -1,12 +0,0 @@
1
- // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT License.
3
-
4
- #include <functional>
5
- #include <memory>
6
-
7
- namespace facebook::react {
8
- class CallInvoker;
9
- class JSExecutorFactory;
10
- using JSExecutorFactoryDelegate =
11
- std::function<std::shared_ptr<JSExecutorFactory>(std::shared_ptr<CallInvoker> const &callInvoker)>;
12
- } // namespace facebook::react
@@ -1,30 +0,0 @@
1
- // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT License.
3
-
4
- #include "JSExecutorFactorySettings.h"
5
-
6
- namespace Microsoft::JSI::JSExecutorFactorySettings {
7
-
8
- winrt::Microsoft::ReactNative::ReactPropertyId<
9
- winrt::Microsoft::ReactNative::ReactNonAbiValue<facebook::react::JSExecutorFactoryDelegate>>
10
- JSExecutorFactoryDelegateProperty() noexcept {
11
- winrt::Microsoft::ReactNative::ReactPropertyId<
12
- winrt::Microsoft::ReactNative::ReactNonAbiValue<facebook::react::JSExecutorFactoryDelegate>>
13
- propId{L"ReactNative.JSI", L"JSExecutorFactory"};
14
- return propId;
15
- }
16
- void SetJSExecutorFactoryDelegate(
17
- winrt::Microsoft::ReactNative::ReactPropertyBag properties,
18
- facebook::react::JSExecutorFactoryDelegate const &value) noexcept {
19
- properties.Set(JSExecutorFactoryDelegateProperty(), value);
20
- }
21
-
22
- const facebook::react::JSExecutorFactoryDelegate GetJSExecutorFactoryDelegate(
23
- winrt::Microsoft::ReactNative::ReactPropertyBag properties) noexcept {
24
- const auto jsExecutorFactoryDelegate = properties.Get(JSExecutorFactoryDelegateProperty());
25
- if (!jsExecutorFactoryDelegate)
26
- return nullptr;
27
- return jsExecutorFactoryDelegate.Value();
28
- }
29
-
30
- } // namespace Microsoft::JSI::JSExecutorFactorySettings
@@ -1,21 +0,0 @@
1
- // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT License.
3
-
4
- #pragma once
5
-
6
- #include "JSExecutorFactoryDelegate.h"
7
- #include "ReactPropertyBag.h"
8
-
9
- namespace facebook::react {
10
- class JSExecutorFactory;
11
- }
12
-
13
- namespace Microsoft::JSI::JSExecutorFactorySettings {
14
-
15
- void SetJSExecutorFactoryDelegate(
16
- winrt::Microsoft::ReactNative::ReactPropertyBag properties,
17
- facebook::react::JSExecutorFactoryDelegate const &value) noexcept;
18
- const facebook::react::JSExecutorFactoryDelegate GetJSExecutorFactoryDelegate(
19
- winrt::Microsoft::ReactNative::ReactPropertyBag properties) noexcept;
20
-
21
- } // namespace Microsoft::JSI::JSExecutorFactorySettings
@@ -1,40 +0,0 @@
1
- // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT License.
3
-
4
- // public header
5
-
6
- #pragma once
7
-
8
- #include <functional>
9
- #include <memory>
10
- #include <string>
11
- #include <vector>
12
-
13
- namespace facebook {
14
- namespace react {
15
- class MessageQueueThread;
16
- }
17
- } // namespace facebook
18
- namespace facebook {
19
- namespace xplat {
20
- namespace module {
21
- class CxxModule;
22
- }
23
- } // namespace xplat
24
- } // namespace facebook
25
-
26
- namespace facebook {
27
- namespace react {
28
-
29
- using NativeModuleDescription = std::tuple<
30
- std::string,
31
- std::function<std::unique_ptr<facebook::xplat::module::CxxModule>()>, // CxxModule::Provider
32
- std::shared_ptr<facebook::react::MessageQueueThread>>;
33
-
34
- struct NativeModuleProvider {
35
- virtual std::vector<NativeModuleDescription> GetModules(
36
- const std::shared_ptr<facebook::react::MessageQueueThread> &defaultQueueThread) = 0;
37
- };
38
-
39
- } // namespace react
40
- } // namespace facebook