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.
Files changed (724) 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 -18
  25. package/Libraries/AppState/AppState.js +8 -4
  26. package/Libraries/BatchedBridge/MessageQueue.js +4 -0
  27. package/Libraries/BatchedBridge/NativeModules.js +1 -1
  28. package/Libraries/Blob/BlobManager.js +1 -1
  29. package/Libraries/Blob/URLSearchParams.js +2 -0
  30. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +2 -2
  31. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.windows.js +2 -2
  32. package/Libraries/Components/Button.js +1 -1
  33. package/Libraries/Components/Button.windows.js +1 -1
  34. package/Libraries/Components/Flyout/FlyoutNativeComponent.js +2 -2
  35. package/Libraries/Components/Glyph/GlyphNativeComponent.js +1 -1
  36. package/Libraries/Components/Popup/PopupNativeComponent.js +1 -0
  37. package/Libraries/Components/Pressable/Pressable.d.ts +8 -0
  38. package/Libraries/Components/Pressable/Pressable.js +10 -1
  39. package/Libraries/Components/Pressable/Pressable.windows.js +30 -2
  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 +2 -2
  46. package/Libraries/Components/Switch/Switch.windows.js +2 -2
  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 +3 -1
  67. package/Libraries/Core/Timers/immediateShim.js +1 -1
  68. package/Libraries/Core/Timers/queueMicrotask.js +1 -0
  69. package/Libraries/Core/setUpPerformance.js +2 -1
  70. package/Libraries/Debugging/DebuggingOverlayRegistry.js +5 -3
  71. package/Libraries/Image/AssetSourceResolver.windows.js +2 -2
  72. package/Libraries/Image/Image.android.js +327 -111
  73. package/Libraries/Image/Image.ios.js +6 -1
  74. package/Libraries/Image/Image.windows.js +28 -61
  75. package/Libraries/Image/ImageSourceUtils.js +8 -2
  76. package/Libraries/Image/resolveAssetSource.js +1 -1
  77. package/Libraries/Image/resolveAssetSource.windows.js +1 -1
  78. package/Libraries/Interaction/InteractionManager.js +118 -167
  79. package/Libraries/Interaction/PanResponder.js +1 -1
  80. package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -0
  81. package/Libraries/Lists/FlatList.js +5 -6
  82. package/Libraries/LogBox/Data/LogBoxData.js +5 -2
  83. package/Libraries/LogBox/Data/parseLogBoxLog.js +1 -1
  84. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +1 -1
  85. package/Libraries/Modal/Modal.js +3 -3
  86. package/Libraries/Modal/Modal.windows.js +2 -2
  87. package/Libraries/NativeComponent/NativeComponentRegistry.js +1 -1
  88. package/Libraries/NativeComponent/ViewConfig.js +2 -2
  89. package/Libraries/Network/RCTNetworking.android.js +1 -1
  90. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  91. package/Libraries/Network/RCTNetworking.windows.js +1 -1
  92. package/Libraries/Network/XMLHttpRequest.js +20 -5
  93. package/Libraries/Network/convertRequestBody.js +1 -1
  94. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +10 -9
  95. package/Libraries/Pressability/HoverState.js +2 -0
  96. package/Libraries/Pressability/Pressability.js +1 -1
  97. package/Libraries/Pressability/Pressability.windows.js +5 -5
  98. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +2 -2
  99. package/Libraries/ReactNative/AppRegistryImpl.js +4 -2
  100. package/Libraries/ReactNative/PaperUIManager.windows.js +4 -4
  101. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +2 -0
  102. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +3 -3
  103. package/Libraries/ReactNative/RendererImplementation.js +116 -116
  104. package/Libraries/ReactNative/UIManager.js +3 -3
  105. package/Libraries/ReactNative/renderApplication.js +1 -0
  106. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +1 -1
  107. package/Libraries/Renderer/implementations/ReactFabric-dev.js +38 -35
  108. package/Libraries/Renderer/implementations/ReactFabric-prod.js +51 -22
  109. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +54 -24
  110. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +36 -33
  111. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +5 -5
  112. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +5 -5
  113. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +3 -1
  114. package/Libraries/Share/Share.js +4 -0
  115. package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +2 -2
  116. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +2 -2
  117. package/Libraries/StyleSheet/PlatformColorValueTypes.windows.js +2 -0
  118. package/Libraries/StyleSheet/StyleSheet.d.ts +7 -22
  119. package/Libraries/StyleSheet/StyleSheetExports.js +2 -8
  120. package/Libraries/StyleSheet/StyleSheetExports.js.flow +11 -18
  121. package/Libraries/StyleSheet/flattenStyle.js +2 -2
  122. package/Libraries/StyleSheet/processAspectRatio.js +2 -0
  123. package/Libraries/StyleSheet/processFilter.js +5 -5
  124. package/Libraries/StyleSheet/splitLayoutProps.js +2 -2
  125. package/Libraries/Text/Text.js +534 -234
  126. package/Libraries/Text/Text.windows.js +622 -265
  127. package/Libraries/Text/TextNativeComponent.js +2 -2
  128. package/Libraries/Utilities/Appearance.d.ts +3 -5
  129. package/Libraries/Utilities/Appearance.js +5 -17
  130. package/Libraries/Utilities/HMRClient.js +2 -1
  131. package/Libraries/Utilities/Platform.android.js +3 -3
  132. package/Libraries/Utilities/Platform.d.ts +1 -0
  133. package/Libraries/Utilities/Platform.ios.js +1 -1
  134. package/Libraries/Utilities/Platform.windows.js +3 -3
  135. package/Libraries/Utilities/PlatformTypes.js +1 -1
  136. package/Libraries/Utilities/ReactNativeTestTools.js +12 -0
  137. package/Libraries/Utilities/SceneTracker.js +1 -1
  138. package/Libraries/Utilities/codegenNativeCommands.js +1 -1
  139. package/Libraries/Utilities/codegenNativeComponent.js +1 -1
  140. package/Libraries/Utilities/createPerformanceLogger.js +32 -0
  141. package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +2 -0
  142. package/Libraries/Utilities/differ/pointsDiffer.js +1 -1
  143. package/Libraries/Utilities/useMergeRefs.js +1 -1
  144. package/Libraries/WebSocket/WebSocketInterceptor.js +2 -0
  145. package/Libraries/promiseRejectionTrackingOptions.js +17 -31
  146. package/Libraries/vendor/emitter/EventEmitter.js +1 -1
  147. package/Microsoft.ReactNative/App.xaml +5 -0
  148. package/Microsoft.ReactNative/Base/CxxReactIncludes.h +0 -3
  149. package/Microsoft.ReactNative/CompositionContext.idl +0 -2
  150. package/Microsoft.ReactNative/Fabric/AbiViewProps.cpp +2 -2
  151. package/Microsoft.ReactNative/Fabric/AbiViewProps.h +0 -2
  152. package/Microsoft.ReactNative/Fabric/ComponentView.cpp +26 -0
  153. package/Microsoft.ReactNative/Fabric/ComponentView.h +2 -0
  154. package/Microsoft.ReactNative/Fabric/Composition/ActivityIndicatorComponentView.cpp +0 -1
  155. package/Microsoft.ReactNative/Fabric/Composition/Composition.Input.cpp +0 -69
  156. package/Microsoft.ReactNative/Fabric/Composition/Composition.Input.h +1 -15
  157. package/Microsoft.ReactNative/Fabric/Composition/CompositionAnnotationProvider.cpp +2 -5
  158. package/Microsoft.ReactNative/Fabric/Composition/CompositionAnnotationProvider.h +1 -4
  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/CompositionDynamicAutomationProvider.cpp +65 -32
  163. package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.h +9 -0
  164. package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.cpp +8 -6
  165. package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.h +0 -2
  166. package/Microsoft.ReactNative/Fabric/Composition/CompositionHelpers.h +0 -2
  167. package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.cpp +0 -9
  168. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.cpp +2 -11
  169. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.h +0 -4
  170. package/Microsoft.ReactNative/Fabric/Composition/CompositionTextProvider.cpp +4 -7
  171. package/Microsoft.ReactNative/Fabric/Composition/CompositionTextProvider.h +1 -5
  172. package/Microsoft.ReactNative/Fabric/Composition/CompositionTextRangeProvider.cpp +68 -53
  173. package/Microsoft.ReactNative/Fabric/Composition/CompositionTextRangeProvider.h +1 -5
  174. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +20 -18
  175. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.h +10 -3
  176. package/Microsoft.ReactNative/Fabric/Composition/ContentIslandComponentView.cpp +30 -9
  177. package/Microsoft.ReactNative/Fabric/Composition/ContentIslandComponentView.h +4 -1
  178. package/Microsoft.ReactNative/Fabric/Composition/DebuggingOverlayComponentView.cpp +3 -2
  179. package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.cpp +0 -2
  180. package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.h +0 -1
  181. package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.cpp +550 -4
  182. package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.h +52 -0
  183. package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.cpp +16 -0
  184. package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.h +6 -0
  185. package/Microsoft.ReactNative/Fabric/Composition/ReactNativeIsland.cpp +0 -6
  186. package/Microsoft.ReactNative/Fabric/Composition/ReactNativeIsland.h +0 -2
  187. package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.cpp +53 -2
  188. package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.h +8 -1
  189. package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.cpp +0 -2
  190. package/Microsoft.ReactNative/Fabric/Composition/SwitchComponentView.cpp +0 -1
  191. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +5 -2
  192. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.cpp +4 -1
  193. package/Microsoft.ReactNative/Fabric/Composition/Theme.cpp +6 -30
  194. package/Microsoft.ReactNative/Fabric/Composition/Theme.h +1 -3
  195. package/Microsoft.ReactNative/Fabric/Composition/TooltipService.cpp +1 -1
  196. package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.cpp +36 -14
  197. package/Microsoft.ReactNative/Fabric/Composition/UnimplementedNativeViewComponentView.cpp +0 -1
  198. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +0 -1
  199. package/Microsoft.ReactNative/Fabric/ImageManager.cpp +0 -4
  200. package/Microsoft.ReactNative/Fabric/ReactTaggedView.h +1 -1
  201. package/Microsoft.ReactNative/Fabric/WindowsComponentDescriptorRegistry.cpp +8 -0
  202. package/Microsoft.ReactNative/Fabric/WindowsComponentDescriptorRegistry.h +3 -0
  203. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/PlatformColorUtils.cpp +0 -11
  204. package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/WindowsTextLayoutManager.h +2 -1
  205. package/Microsoft.ReactNative/IReactContext.cpp +2 -25
  206. package/Microsoft.ReactNative/IReactContext.h +0 -7
  207. package/Microsoft.ReactNative/IReactContext.idl +4 -29
  208. package/Microsoft.ReactNative/IReactModuleBuilder.cpp +24 -140
  209. package/Microsoft.ReactNative/IReactModuleBuilder.h +0 -11
  210. package/Microsoft.ReactNative/IReactPackageBuilder.idl +1 -16
  211. package/Microsoft.ReactNative/IReactPackageProvider.idl +0 -1
  212. package/Microsoft.ReactNative/IReactViewComponentBuilder.idl +10 -0
  213. package/Microsoft.ReactNative/JsiApi.cpp +4 -3
  214. package/Microsoft.ReactNative/JsiApi.h +2 -3
  215. package/Microsoft.ReactNative/JsiApi.idl +3 -2
  216. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj +6 -214
  217. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj.filters +0 -252
  218. package/Microsoft.ReactNative/Modules/AccessibilityInfoModule.cpp +0 -37
  219. package/Microsoft.ReactNative/Modules/AlertModule.cpp +2 -140
  220. package/Microsoft.ReactNative/Modules/AlertModule.h +0 -2
  221. package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedNodeManager.cpp +5 -10
  222. package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedNodeManager.h +0 -1
  223. package/Microsoft.ReactNative/Modules/Animated/PropsAnimatedNode.cpp +1 -96
  224. package/Microsoft.ReactNative/Modules/Animated/PropsAnimatedNode.h +0 -14
  225. package/Microsoft.ReactNative/Modules/AppStateModule.cpp +0 -53
  226. package/Microsoft.ReactNative/Modules/AppStateModule.h +0 -5
  227. package/Microsoft.ReactNative/Modules/AppThemeModuleUwp.cpp +5 -14
  228. package/Microsoft.ReactNative/Modules/AppThemeModuleUwp.h +0 -2
  229. package/Microsoft.ReactNative/Modules/AppearanceModule.cpp +1 -9
  230. package/Microsoft.ReactNative/Modules/DevSettingsModule.cpp +0 -4
  231. package/Microsoft.ReactNative/Modules/DevSettingsModule.h +0 -2
  232. package/Microsoft.ReactNative/Modules/DeviceInfoModule.cpp +16 -90
  233. package/Microsoft.ReactNative/Modules/I18nManagerModule.cpp +3 -8
  234. package/Microsoft.ReactNative/Modules/ImageViewManagerModule.cpp +11 -48
  235. package/Microsoft.ReactNative/Modules/LinkingManagerModule.cpp +0 -3
  236. package/Microsoft.ReactNative/Modules/LogBoxModule.cpp +30 -102
  237. package/Microsoft.ReactNative/Modules/LogBoxModule.h +0 -7
  238. package/Microsoft.ReactNative/Modules/Timing.cpp +7 -9
  239. package/Microsoft.ReactNative/Pch/pch.h +0 -28
  240. package/Microsoft.ReactNative/ReactCoreInjection.h +0 -1
  241. package/Microsoft.ReactNative/ReactHost/IReactInstance.h +0 -8
  242. package/Microsoft.ReactNative/ReactHost/MsoReactContext.cpp +0 -15
  243. package/Microsoft.ReactNative/ReactHost/MsoReactContext.h +0 -2
  244. package/Microsoft.ReactNative/ReactHost/React.h +0 -44
  245. package/Microsoft.ReactNative/ReactHost/ReactHost.cpp +10 -47
  246. package/Microsoft.ReactNative/ReactHost/ReactHost.h +1 -1
  247. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +30 -586
  248. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.h +2 -37
  249. package/Microsoft.ReactNative/ReactHost/ReactNativeHeaders.h +0 -13
  250. package/Microsoft.ReactNative/ReactHost/React_Win.h +0 -1
  251. package/Microsoft.ReactNative/ReactInstanceSettings.cpp +0 -8
  252. package/Microsoft.ReactNative/ReactInstanceSettings.h +0 -13
  253. package/Microsoft.ReactNative/ReactInstanceSettings.idl +7 -23
  254. package/Microsoft.ReactNative/ReactNativeHost.cpp +10 -35
  255. package/Microsoft.ReactNative/ReactNativeHost.h +0 -1
  256. package/Microsoft.ReactNative/ReactNativeIsland.idl +0 -4
  257. package/Microsoft.ReactNative/ReactPackageBuilder.cpp +9 -36
  258. package/Microsoft.ReactNative/ReactPackageBuilder.h +4 -38
  259. package/Microsoft.ReactNative/RedBox.cpp +9 -362
  260. package/Microsoft.ReactNative/Theme.idl +0 -2
  261. package/Microsoft.ReactNative/Timer.cpp +3 -2
  262. package/Microsoft.ReactNative/Utils/Helpers.cpp +0 -47
  263. package/Microsoft.ReactNative/Utils/Helpers.h +0 -5
  264. package/Microsoft.ReactNative/Utils/IcuUtils.cpp +84 -0
  265. package/Microsoft.ReactNative/Utils/IcuUtils.h +42 -0
  266. package/Microsoft.ReactNative/Utils/KeyboardUtils.cpp +0 -11
  267. package/Microsoft.ReactNative/Utils/ThemeUtils.cpp +0 -4
  268. package/Microsoft.ReactNative/Utils/ThemeUtils.h +1 -5
  269. package/Microsoft.ReactNative/Utils/UwpPreparedScriptStore.h +0 -2
  270. package/Microsoft.ReactNative/Utils/ValueUtils.cpp +0 -245
  271. package/Microsoft.ReactNative/Utils/ValueUtils.h +0 -23
  272. package/Microsoft.ReactNative/ViewProps.idl +0 -2
  273. package/Microsoft.ReactNative/Views/DevMenu.cpp +2 -278
  274. package/Microsoft.ReactNative/Views/DevMenu.h +0 -5
  275. package/Microsoft.ReactNative/XamlApplication.cpp +71 -0
  276. package/Microsoft.ReactNative/XamlApplication.h +47 -0
  277. package/Microsoft.ReactNative/XamlApplication.idl +19 -0
  278. package/Microsoft.ReactNative/XamlUIService.cpp +0 -54
  279. package/Microsoft.ReactNative/XamlUIService.h +0 -12
  280. package/Microsoft.ReactNative/XamlUIService.idl +0 -12
  281. package/Microsoft.ReactNative.Cxx/CppWinRTIncludes.h +0 -19
  282. package/Microsoft.ReactNative.Cxx/DesktopWindowBridge.h +1 -1
  283. package/Microsoft.ReactNative.Cxx/JSI/decorator.h +191 -114
  284. package/Microsoft.ReactNative.Cxx/JSI/instrumentation.h +5 -0
  285. package/Microsoft.ReactNative.Cxx/JSI/jsi-inl.h +37 -0
  286. package/Microsoft.ReactNative.Cxx/JSI/jsi.cpp +68 -0
  287. package/Microsoft.ReactNative.Cxx/JSI/jsi.h +77 -11
  288. package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems +2 -2
  289. package/Microsoft.ReactNative.Cxx/NamespaceRedirect.h +0 -5
  290. package/Microsoft.ReactNative.Cxx/NodeApiJsiRuntime.cpp +93 -1
  291. package/Microsoft.ReactNative.Cxx/ReactCommon/TurboModule.cpp +4 -3
  292. package/Microsoft.ReactNative.Cxx/ReactCommon/TurboModule.h +2 -2
  293. package/Microsoft.ReactNative.Cxx/ReactCommon/TurboModuleUtils.cpp +2 -55
  294. package/Microsoft.ReactNative.Cxx/ReactCommon/TurboModuleUtils.h +4 -8
  295. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Class.h +5 -0
  296. package/Microsoft.ReactNative.Cxx/ReactCommon/react/timing/primitives.h +32 -4
  297. package/Microsoft.ReactNative.Cxx/ReactContext.h +0 -13
  298. package/Microsoft.ReactNative.Cxx/StructInfo.h +8 -1
  299. package/Microsoft.ReactNative.Cxx/UI.Composition.Effects.h +0 -4
  300. package/Microsoft.ReactNative.Cxx/UI.Composition.h +0 -4
  301. package/Microsoft.ReactNative.Cxx/UI.Input.h +0 -4
  302. package/Microsoft.ReactNative.Cxx/UI.Popups.h +0 -4
  303. package/Microsoft.ReactNative.Cxx/UI.Text.h +0 -4
  304. package/Microsoft.ReactNative.Cxx/XamlUtils.h +0 -33
  305. package/Microsoft.ReactNative.Managed/JSValueReader.cs +0 -4
  306. package/Microsoft.ReactNative.Managed/Microsoft.ReactNative.Managed.csproj +0 -3
  307. package/Microsoft.ReactNative.Managed/ReactContext.cs +0 -5
  308. package/Microsoft.ReactNative.Managed/ReactContextGenerator.cs +0 -4
  309. package/Microsoft.ReactNative.Managed/ReactPackageBuilderExtensions.cs +0 -25
  310. package/Microsoft.ReactNative.Managed/ReactSettingsSnapshot.cs +0 -4
  311. package/Microsoft.ReactNative.Managed/ReflectionReactPackageProvider.cs +1 -2
  312. package/Microsoft.ReactNative.Managed.CodeGen/CodeAnalyzer.cs +0 -10
  313. package/Microsoft.ReactNative.Managed.CodeGen/CodeGenerator.ViewManager.cs +0 -36
  314. package/Microsoft.ReactNative.Managed.CodeGen/CodeGenerator.cs +0 -6
  315. package/Microsoft.ReactNative.Managed.CodeGen/Model/ReactAssembly.cs +0 -2
  316. package/Microsoft.ReactNative.Managed.CodeGen/Model/ReactTypes.cs +0 -2
  317. package/Microsoft.ReactNative.Managed.CodeGen/ReactNativeNames.cs +0 -2
  318. package/Mso/src/dispatchQueue/queueService.cpp +3 -1
  319. package/Mso/src/dispatchQueue/uiScheduler_winrt.cpp +2 -10
  320. package/PropertySheets/Bundle.Common.targets +1 -1
  321. package/PropertySheets/Bundle.props +3 -4
  322. package/PropertySheets/External/Microsoft.ReactNative.Common.props +0 -1
  323. package/PropertySheets/External/Microsoft.ReactNative.Uwp.CSharpApp.targets +1 -1
  324. package/PropertySheets/External/Microsoft.ReactNative.Uwp.CppApp.targets +1 -1
  325. package/PropertySheets/Generated/PackageVersion.g.props +4 -4
  326. package/PropertySheets/JSEngine.props +1 -1
  327. package/PropertySheets/NuGet.LockFile.props +0 -8
  328. package/PropertySheets/OutputMSBuildProperties.targets +0 -1
  329. package/PropertySheets/React.Cpp.props +3 -5
  330. package/PropertySheets/WinUI.props +3 -3
  331. package/README.md +1 -5
  332. package/ReactCommon/ReactCommon.vcxproj +12 -31
  333. package/ReactCommon/ReactCommon.vcxproj.filters +0 -3
  334. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/CxxNativeModule.cpp +3 -2
  335. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/NativeToJsBridge.cpp +5 -2
  336. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/TraceSection.h +20 -4
  337. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/jsi/test/testlib.cpp +113 -1
  338. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.cpp +14 -6
  339. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/Utf8.h +1 -0
  340. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/tracing/RuntimeSamplingProfileTraceEventSerializer.cpp +351 -0
  341. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModule.h +2 -2
  342. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/dom/NativeDOM.cpp +42 -36
  343. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/dom/NativeDOM.h +15 -3
  344. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp +1 -1
  345. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/image/conversions.h +174 -0
  346. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/text/ParagraphShadowNode.cpp +1 -0
  347. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/AccessibilityPrimitives.h +26 -3
  348. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/conversions.h +1 -1
  349. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/ShadowNode.cpp +1 -1
  350. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/imagemanager/primitives.h +189 -0
  351. package/ReactCommon/TEMP_UntilReactCommonUpdate/reactperflogger/reactperflogger/ReactPerfettoLogger.cpp +27 -8
  352. package/ReactCommon/cgmanifest.json +1 -1
  353. package/Scripts/Microsoft.ReactNative.nuspec +15 -33
  354. package/Scripts/NuGetRestoreForceEvaluateAllSolutions.ps1 +23 -23
  355. package/Scripts/OfficeReact.Win32.nuspec +0 -3
  356. package/Scripts/creaternwapp.cmd +1 -1
  357. package/Shared/DevServerHelper.h +17 -21
  358. package/Shared/DevSettings.h +1 -25
  359. package/Shared/DevSupportManager.cpp +0 -50
  360. package/Shared/DevSupportManager.h +0 -4
  361. package/Shared/Hermes/HermesRuntimeTargetDelegate.cpp +5 -1
  362. package/Shared/HermesRuntimeHolder.cpp +0 -31
  363. package/Shared/HermesRuntimeHolder.h +0 -14
  364. package/Shared/IDevSupportManager.h +0 -6
  365. package/Shared/InstanceManager.cpp +0 -97
  366. package/Shared/InstanceManager.h +0 -53
  367. package/Shared/JSI/ScriptStore.h +1 -1
  368. package/Shared/Logging.cpp +1 -12
  369. package/Shared/Modules/CxxModuleUtilities.cpp +0 -9
  370. package/Shared/Modules/CxxModuleUtilities.h +0 -8
  371. package/Shared/Networking/OriginPolicyHttpFilter.cpp +9 -1
  372. package/Shared/OInstance.cpp +144 -424
  373. package/Shared/OInstance.h +0 -81
  374. package/Shared/Shared.vcxitems +83 -203
  375. package/Shared/Shared.vcxitems.filters +8 -67
  376. package/Shared/Threading/MessageQueueThreadFactory.cpp +0 -6
  377. package/Shared/Threading/MessageQueueThreadFactory.h +0 -4
  378. package/Shared/TurboModuleManager.cpp +0 -4
  379. package/Shared/Utils.cpp +26 -0
  380. package/Shared/Utils.h +3 -0
  381. package/codegen/NativeDOMSpec.g.h +41 -35
  382. package/codegen/NativeIntersectionObserverSpec.g.h +9 -21
  383. package/codegen/NativePerformanceSpec.g.h +47 -35
  384. package/codegen/NativeReactNativeFeatureFlagsSpec.g.h +177 -129
  385. package/codegen/react/components/rnwcore/ActivityIndicatorView.g.h +14 -0
  386. package/codegen/react/components/rnwcore/AndroidDrawerLayout.g.h +14 -0
  387. package/codegen/react/components/rnwcore/AndroidHorizontalScrollContentView.g.h +14 -0
  388. package/codegen/react/components/rnwcore/AndroidProgressBar.g.h +14 -0
  389. package/codegen/react/components/rnwcore/AndroidSwipeRefreshLayout.g.h +14 -0
  390. package/codegen/react/components/rnwcore/AndroidSwitch.g.h +14 -0
  391. package/codegen/react/components/rnwcore/DebuggingOverlay.g.h +14 -0
  392. package/codegen/react/components/rnwcore/EventEmitters.cpp +25 -0
  393. package/codegen/react/components/rnwcore/EventEmitters.h +25 -0
  394. package/codegen/react/components/rnwcore/InputAccessory.g.h +14 -0
  395. package/codegen/react/components/rnwcore/ModalHostView.g.h +14 -0
  396. package/codegen/react/components/rnwcore/Props.cpp +41 -2
  397. package/codegen/react/components/rnwcore/Props.h +51 -2
  398. package/codegen/react/components/rnwcore/PullToRefreshView.g.h +14 -0
  399. package/codegen/react/components/rnwcore/SafeAreaView.g.h +14 -0
  400. package/codegen/react/components/rnwcore/Switch.g.h +14 -0
  401. package/codegen/react/components/rnwcore/UnimplementedNativeView.g.h +14 -0
  402. package/codegen/react/components/rnwcore/VirtualView.g.h +18 -0
  403. package/codegen/react/components/rnwcore/VirtualViewExperimental.g.h +240 -0
  404. package/codegen/rnwcoreJSI-generated.cpp +106 -51
  405. package/codegen/rnwcoreJSI.h +148 -67
  406. package/fmt/cgmanifest.json +1 -1
  407. package/fmt/fmt.vcxproj +0 -8
  408. package/index.js +8 -2
  409. package/index.windows.js +8 -2
  410. package/jest/local-setup.js +2 -2
  411. package/jest/mock.js +1 -1
  412. package/jest/mockComponent.js +9 -9
  413. package/jest/mockNativeComponent.js +3 -2
  414. package/jest/mocks/Modal.js +1 -1
  415. package/jest/mocks/ScrollView.js +1 -1
  416. package/jest/mocks/ViewNativeComponent.js +1 -1
  417. package/jest/setup.js +23 -12
  418. package/just-task.js +14 -0
  419. package/package.json +31 -32
  420. package/src/private/animated/NativeAnimatedHelper.js +16 -5
  421. package/src/private/animated/createAnimatedPropsHook.js +11 -60
  422. package/src/private/animated/createAnimatedPropsMemoHook.js +8 -54
  423. package/src/private/components/virtualview/VirtualView.js +43 -12
  424. package/src/private/components/virtualview/VirtualViewExperimentalNativeComponent.js +93 -0
  425. package/src/private/components/virtualview/VirtualViewNativeComponent.js +6 -0
  426. package/src/private/devsupport/devmenu/elementinspector/Inspector.js +2 -2
  427. package/src/private/devsupport/devmenu/elementinspector/ReactDevToolsOverlay.js +2 -2
  428. package/src/private/featureflags/ReactNativeFeatureFlags.js +80 -52
  429. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +23 -4
  430. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +14 -6
  431. package/src/private/renderer/errorhandling/ErrorHandlers.js +3 -3
  432. package/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js +0 -1
  433. package/src/private/types/HostInstance.js +4 -1
  434. package/src/private/webapis/dom/nodes/ReactNativeDocument.js +22 -2
  435. package/src/private/webapis/dom/nodes/ReactNativeElement.js +1 -1
  436. package/src/private/webapis/dom/nodes/ReadOnlyElement.js +5 -3
  437. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +16 -13
  438. package/src/private/webapis/dom/nodes/internals/NodeInternals.js +45 -22
  439. package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentInstanceHandle.js +1 -1
  440. package/src/private/webapis/dom/nodes/specs/NativeDOM.js +26 -192
  441. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +15 -12
  442. package/src/private/webapis/dom/oldstylecollections/NodeList.js +14 -11
  443. package/src/private/webapis/geometry/DOMRectList.js +2 -2
  444. package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +19 -74
  445. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +0 -4
  446. package/src/private/webapis/mutationobserver/internals/MutationObserverManager.js +1 -1
  447. package/src/private/webapis/performance/EventTiming.js +6 -10
  448. package/src/private/webapis/performance/Performance.js +309 -164
  449. package/src/private/webapis/performance/PerformanceEntry.js +20 -16
  450. package/src/private/webapis/performance/PerformanceObserver.js +8 -29
  451. package/src/private/webapis/performance/UserTiming.js +71 -18
  452. package/src/private/webapis/performance/UserTimingExtensibility.js.flow +38 -0
  453. package/src/private/webapis/performance/internals/Utilities.js +9 -0
  454. package/src/private/webapis/performance/specs/NativePerformance.js +21 -23
  455. package/src/private/webapis/structuredClone/structuredClone.js +10 -10
  456. package/stubs/double-conversion/README.md +1 -1
  457. package/template/cpp-lib/proj/MyLib.sln +0 -5
  458. package/template/cpp-lib/src/pch.h +0 -5
  459. package/template/cs-lib/proj/MyLib.sln +0 -5
  460. package/template/metro.config.js +1 -0
  461. package/templates/cpp-app/metro.config.js +2 -1
  462. package/templates/cpp-app/windows/MyApp.sln +0 -5
  463. package/templates/cpp-lib/example/metro.config.js +3 -4
  464. package/templates/cpp-lib/windows/MyLib.sln +0 -5
  465. package/Chakra/Chakra.vcxitems +0 -32
  466. package/Chakra/Chakra.vcxitems.filters +0 -54
  467. package/Chakra/ChakraHelpers.cpp +0 -468
  468. package/Chakra/ChakraHelpers.h +0 -146
  469. package/Chakra/ChakraInstanceArgs.h +0 -52
  470. package/Chakra/ChakraPlatform.cpp +0 -42
  471. package/Chakra/ChakraPlatform.h +0 -51
  472. package/Chakra/ChakraTracing.cpp +0 -275
  473. package/Chakra/ChakraTracing.h +0 -11
  474. package/Chakra/ChakraUtils.cpp +0 -190
  475. package/Chakra/ChakraUtils.h +0 -72
  476. package/Chakra/ChakraValue.cpp +0 -257
  477. package/Chakra/ChakraValue.h +0 -308
  478. package/Chakra/Utf8DebugExtensions.cpp +0 -62
  479. package/Chakra/Utf8DebugExtensions.h +0 -29
  480. package/Libraries/Interaction/InteractionManagerStub.js +0 -184
  481. package/Libraries/Interaction/TaskQueue.js +0 -183
  482. package/Libraries/ReactNative/ReactNativeFeatureFlags.js +0 -31
  483. package/Microsoft.ReactNative/ABICxxModule.cpp +0 -51
  484. package/Microsoft.ReactNative/ABICxxModule.h +0 -38
  485. package/Microsoft.ReactNative/ABIViewManager.cpp +0 -263
  486. package/Microsoft.ReactNative/ABIViewManager.h +0 -100
  487. package/Microsoft.ReactNative/Base/CoreUIManagers.cpp +0 -55
  488. package/Microsoft.ReactNative/DevMenuControl.cpp +0 -14
  489. package/Microsoft.ReactNative/DevMenuControl.h +0 -20
  490. package/Microsoft.ReactNative/DevMenuControl.idl +0 -28
  491. package/Microsoft.ReactNative/DevMenuControl.xaml +0 -139
  492. package/Microsoft.ReactNative/GlyphViewManager.cpp +0 -167
  493. package/Microsoft.ReactNative/GlyphViewManager.h +0 -24
  494. package/Microsoft.ReactNative/INativeUIManager.h +0 -75
  495. package/Microsoft.ReactNative/IViewManager.idl +0 -120
  496. package/Microsoft.ReactNative/IViewManagerCore.idl +0 -45
  497. package/Microsoft.ReactNative/LayoutService.cpp +0 -51
  498. package/Microsoft.ReactNative/LayoutService.h +0 -32
  499. package/Microsoft.ReactNative/LayoutService.idl +0 -41
  500. package/Microsoft.ReactNative/Modules/NativeUIManager.cpp +0 -1187
  501. package/Microsoft.ReactNative/Modules/NativeUIManager.h +0 -128
  502. package/Microsoft.ReactNative/Modules/PaperUIManagerModule.cpp +0 -891
  503. package/Microsoft.ReactNative/Modules/PaperUIManagerModule.h +0 -185
  504. package/Microsoft.ReactNative/NativeModulesProvider.cpp +0 -49
  505. package/Microsoft.ReactNative/NativeModulesProvider.h +0 -25
  506. package/Microsoft.ReactNative/ReactApplication.cpp +0 -276
  507. package/Microsoft.ReactNative/ReactApplication.h +0 -156
  508. package/Microsoft.ReactNative/ReactApplication.idl +0 -48
  509. package/Microsoft.ReactNative/ReactHost/ViewManagerProvider.h +0 -19
  510. package/Microsoft.ReactNative/ReactPointerEventArgs.cpp +0 -55
  511. package/Microsoft.ReactNative/ReactPointerEventArgs.h +0 -32
  512. package/Microsoft.ReactNative/ReactPointerEventArgs.idl +0 -79
  513. package/Microsoft.ReactNative/ReactRootView.cpp +0 -592
  514. package/Microsoft.ReactNative/ReactRootView.h +0 -127
  515. package/Microsoft.ReactNative/ReactRootView.idl +0 -40
  516. package/Microsoft.ReactNative/TestHook.cpp +0 -99
  517. package/Microsoft.ReactNative/TestHook.h +0 -15
  518. package/Microsoft.ReactNative/Utils/AccessibilityUtils.cpp +0 -36
  519. package/Microsoft.ReactNative/Utils/AccessibilityUtils.h +0 -15
  520. package/Microsoft.ReactNative/Utils/BatchingEventEmitter.cpp +0 -171
  521. package/Microsoft.ReactNative/Utils/BatchingEventEmitter.h +0 -72
  522. package/Microsoft.ReactNative/Utils/PropertyHandlerUtils.h +0 -87
  523. package/Microsoft.ReactNative/Utils/PropertyUtils.h +0 -568
  524. package/Microsoft.ReactNative/Utils/ResourceBrushUtils.cpp +0 -182
  525. package/Microsoft.ReactNative/Utils/ResourceBrushUtils.h +0 -58
  526. package/Microsoft.ReactNative/Utils/ShadowNodeTypeUtils.h +0 -26
  527. package/Microsoft.ReactNative/Utils/XamlIslandUtils.cpp +0 -93
  528. package/Microsoft.ReactNative/Utils/XamlIslandUtils.h +0 -48
  529. package/Microsoft.ReactNative/ViewManagersProvider.cpp +0 -39
  530. package/Microsoft.ReactNative/ViewManagersProvider.h +0 -27
  531. package/Microsoft.ReactNative/Views/ActivityIndicatorViewManager.cpp +0 -62
  532. package/Microsoft.ReactNative/Views/ActivityIndicatorViewManager.h +0 -29
  533. package/Microsoft.ReactNative/Views/ConfigureBundlerDlg.cpp +0 -186
  534. package/Microsoft.ReactNative/Views/ConfigureBundlerDlg.h +0 -11
  535. package/Microsoft.ReactNative/Views/ControlViewManager.cpp +0 -143
  536. package/Microsoft.ReactNative/Views/ControlViewManager.h +0 -38
  537. package/Microsoft.ReactNative/Views/DebuggingOverlayViewManager.cpp +0 -53
  538. package/Microsoft.ReactNative/Views/DebuggingOverlayViewManager.h +0 -30
  539. package/Microsoft.ReactNative/Views/DynamicAutomationPeer.cpp +0 -586
  540. package/Microsoft.ReactNative/Views/DynamicAutomationPeer.h +0 -104
  541. package/Microsoft.ReactNative/Views/DynamicAutomationProperties.cpp +0 -330
  542. package/Microsoft.ReactNative/Views/DynamicAutomationProperties.h +0 -111
  543. package/Microsoft.ReactNative/Views/DynamicValueProvider.cpp +0 -59
  544. package/Microsoft.ReactNative/Views/DynamicValueProvider.h +0 -32
  545. package/Microsoft.ReactNative/Views/ExpressionAnimationStore.cpp +0 -61
  546. package/Microsoft.ReactNative/Views/ExpressionAnimationStore.h +0 -26
  547. package/Microsoft.ReactNative/Views/FlyoutViewManager.cpp +0 -559
  548. package/Microsoft.ReactNative/Views/FlyoutViewManager.h +0 -34
  549. package/Microsoft.ReactNative/Views/FrameworkElementTransferProperties.cpp +0 -126
  550. package/Microsoft.ReactNative/Views/FrameworkElementTransferProperties.h +0 -23
  551. package/Microsoft.ReactNative/Views/FrameworkElementViewManager.cpp +0 -957
  552. package/Microsoft.ReactNative/Views/FrameworkElementViewManager.h +0 -41
  553. package/Microsoft.ReactNative/Views/IXamlRootView.h +0 -17
  554. package/Microsoft.ReactNative/Views/Image/ImageViewManager.cpp +0 -245
  555. package/Microsoft.ReactNative/Views/Image/ImageViewManager.h +0 -45
  556. package/Microsoft.ReactNative/Views/Image/ReactImage.cpp +0 -469
  557. package/Microsoft.ReactNative/Views/Image/ReactImage.h +0 -80
  558. package/Microsoft.ReactNative/Views/Image/ReactImageBrush.cpp +0 -247
  559. package/Microsoft.ReactNative/Views/Image/ReactImageBrush.h +0 -67
  560. package/Microsoft.ReactNative/Views/KeyboardEventHandler.cpp +0 -261
  561. package/Microsoft.ReactNative/Views/KeyboardEventHandler.h +0 -132
  562. package/Microsoft.ReactNative/Views/PaperShadowNode.cpp +0 -18
  563. package/Microsoft.ReactNative/Views/PaperShadowNode.h +0 -38
  564. package/Microsoft.ReactNative/Views/PopupViewManager.cpp +0 -349
  565. package/Microsoft.ReactNative/Views/PopupViewManager.h +0 -36
  566. package/Microsoft.ReactNative/Views/RawTextViewManager.cpp +0 -69
  567. package/Microsoft.ReactNative/Views/RawTextViewManager.h +0 -46
  568. package/Microsoft.ReactNative/Views/ReactViewInstance.cpp +0 -43
  569. package/Microsoft.ReactNative/Views/ReactViewInstance.h +0 -53
  570. package/Microsoft.ReactNative/Views/RefreshControlManager.cpp +0 -116
  571. package/Microsoft.ReactNative/Views/RefreshControlManager.h +0 -28
  572. package/Microsoft.ReactNative/Views/RootViewManager.cpp +0 -65
  573. package/Microsoft.ReactNative/Views/RootViewManager.h +0 -36
  574. package/Microsoft.ReactNative/Views/SIPEventHandler.cpp +0 -117
  575. package/Microsoft.ReactNative/Views/SIPEventHandler.h +0 -45
  576. package/Microsoft.ReactNative/Views/ScrollContentViewManager.cpp +0 -16
  577. package/Microsoft.ReactNative/Views/ScrollContentViewManager.h +0 -19
  578. package/Microsoft.ReactNative/Views/ScrollViewManager.cpp +0 -540
  579. package/Microsoft.ReactNative/Views/ScrollViewManager.h +0 -42
  580. package/Microsoft.ReactNative/Views/ShadowNodeBase.cpp +0 -228
  581. package/Microsoft.ReactNative/Views/ShadowNodeBase.h +0 -169
  582. package/Microsoft.ReactNative/Views/ShadowNodeRegistry.cpp +0 -68
  583. package/Microsoft.ReactNative/Views/ShadowNodeRegistry.h +0 -40
  584. package/Microsoft.ReactNative/Views/SliderViewManager.cpp +0 -97
  585. package/Microsoft.ReactNative/Views/SliderViewManager.h +0 -32
  586. package/Microsoft.ReactNative/Views/SwitchViewManager.cpp +0 -227
  587. package/Microsoft.ReactNative/Views/SwitchViewManager.h +0 -31
  588. package/Microsoft.ReactNative/Views/Text/TextHighlighterVisitor.cpp +0 -52
  589. package/Microsoft.ReactNative/Views/Text/TextHighlighterVisitor.h +0 -37
  590. package/Microsoft.ReactNative/Views/Text/TextHitTestUtils.cpp +0 -348
  591. package/Microsoft.ReactNative/Views/Text/TextHitTestUtils.h +0 -13
  592. package/Microsoft.ReactNative/Views/Text/TextHitTestVisitor.cpp +0 -76
  593. package/Microsoft.ReactNative/Views/Text/TextHitTestVisitor.h +0 -32
  594. package/Microsoft.ReactNative/Views/Text/TextParentVisitor.cpp +0 -12
  595. package/Microsoft.ReactNative/Views/Text/TextParentVisitor.h +0 -19
  596. package/Microsoft.ReactNative/Views/Text/TextPropertyChangedParentVisitor.cpp +0 -75
  597. package/Microsoft.ReactNative/Views/Text/TextPropertyChangedParentVisitor.h +0 -43
  598. package/Microsoft.ReactNative/Views/Text/TextTransformParentVisitor.cpp +0 -21
  599. package/Microsoft.ReactNative/Views/Text/TextTransformParentVisitor.h +0 -23
  600. package/Microsoft.ReactNative/Views/Text/TextTransformVisitor.cpp +0 -70
  601. package/Microsoft.ReactNative/Views/Text/TextTransformVisitor.h +0 -34
  602. package/Microsoft.ReactNative/Views/Text/TextVisitor.cpp +0 -56
  603. package/Microsoft.ReactNative/Views/Text/TextVisitor.h +0 -34
  604. package/Microsoft.ReactNative/Views/Text/TextVisitorScope.h +0 -35
  605. package/Microsoft.ReactNative/Views/Text/TextVisitors.h +0 -47
  606. package/Microsoft.ReactNative/Views/TextInputViewManager.cpp +0 -1003
  607. package/Microsoft.ReactNative/Views/TextInputViewManager.h +0 -33
  608. package/Microsoft.ReactNative/Views/TextViewManager.cpp +0 -414
  609. package/Microsoft.ReactNative/Views/TextViewManager.h +0 -47
  610. package/Microsoft.ReactNative/Views/TouchEventHandler.cpp +0 -608
  611. package/Microsoft.ReactNative/Views/TouchEventHandler.h +0 -116
  612. package/Microsoft.ReactNative/Views/UnimplementedViewManager.cpp +0 -79
  613. package/Microsoft.ReactNative/Views/UnimplementedViewManager.h +0 -27
  614. package/Microsoft.ReactNative/Views/ViewControl.cpp +0 -43
  615. package/Microsoft.ReactNative/Views/ViewControl.h +0 -32
  616. package/Microsoft.ReactNative/Views/ViewManager.h +0 -33
  617. package/Microsoft.ReactNative/Views/ViewManagerBase.cpp +0 -487
  618. package/Microsoft.ReactNative/Views/ViewManagerBase.h +0 -121
  619. package/Microsoft.ReactNative/Views/ViewPanel.cpp +0 -164
  620. package/Microsoft.ReactNative/Views/ViewPanel.h +0 -82
  621. package/Microsoft.ReactNative/Views/ViewViewManager.cpp +0 -507
  622. package/Microsoft.ReactNative/Views/ViewViewManager.h +0 -52
  623. package/Microsoft.ReactNative/Views/VirtualTextViewManager.cpp +0 -143
  624. package/Microsoft.ReactNative/Views/VirtualTextViewManager.h +0 -57
  625. package/Microsoft.ReactNative/Views/XamlFeatures.cpp +0 -11
  626. package/Microsoft.ReactNative/Views/XamlFeatures.h +0 -11
  627. package/Microsoft.ReactNative/Views/cppwinrt/AccessibilityAction.idl +0 -12
  628. package/Microsoft.ReactNative/Views/cppwinrt/DynamicAutomationPeer.idl +0 -231
  629. package/Microsoft.ReactNative/Views/cppwinrt/ViewPanel.idl +0 -48
  630. package/Microsoft.ReactNative/XamlHelper.cpp +0 -78
  631. package/Microsoft.ReactNative/XamlHelper.h +0 -54
  632. package/Microsoft.ReactNative/XamlHelper.idl +0 -30
  633. package/Microsoft.ReactNative/XamlLoadState.cpp +0 -217
  634. package/Microsoft.ReactNative/XamlLoadState.h +0 -44
  635. package/Microsoft.ReactNative/XamlView.cpp +0 -59
  636. package/Microsoft.ReactNative/XamlView.h +0 -58
  637. package/Microsoft.ReactNative/getLayoutProps.ps1 +0 -5
  638. package/Microsoft.ReactNative.Cxx/UI.Xaml.Automation.Peers.h +0 -10
  639. package/Microsoft.ReactNative.Cxx/UI.Xaml.Automation.h +0 -10
  640. package/Microsoft.ReactNative.Cxx/UI.Xaml.Controls.Primitives.h +0 -10
  641. package/Microsoft.ReactNative.Cxx/UI.Xaml.Controls.h +0 -13
  642. package/Microsoft.ReactNative.Cxx/UI.Xaml.Documents.h +0 -10
  643. package/Microsoft.ReactNative.Cxx/UI.Xaml.Hosting.DesktopWindowXamlSource.h +0 -11
  644. package/Microsoft.ReactNative.Cxx/UI.Xaml.Hosting.h +0 -10
  645. package/Microsoft.ReactNative.Cxx/UI.Xaml.Input.h +0 -10
  646. package/Microsoft.ReactNative.Cxx/UI.Xaml.Markup.h +0 -10
  647. package/Microsoft.ReactNative.Cxx/UI.Xaml.Media.Imaging.h +0 -10
  648. package/Microsoft.ReactNative.Cxx/UI.Xaml.Media.Media3D.h +0 -10
  649. package/Microsoft.ReactNative.Cxx/UI.Xaml.Media.h +0 -10
  650. package/Microsoft.ReactNative.Cxx/UI.Xaml.Navigation.h +0 -10
  651. package/Microsoft.ReactNative.Cxx/UI.Xaml.Shapes.h +0 -10
  652. package/Microsoft.ReactNative.Managed/AttributedViewManager.cs +0 -527
  653. package/Microsoft.ReactNative.Managed/ViewManagerAttributes.cs +0 -91
  654. package/Microsoft.ReactNative.Managed/ViewManagerEvent.cs +0 -13
  655. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/AccessibilityProps.cpp +0 -344
  656. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/DynamicEventPayload.cpp +0 -42
  657. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/YGEnums.h +0 -146
  658. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/algorithm/CalculateLayout.cpp +0 -2435
  659. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/enums/ExperimentalFeature.h +0 -40
  660. package/Shared/BatchingMessageQueueThread.h +0 -20
  661. package/Shared/ChakraRuntimeHolder.cpp +0 -62
  662. package/Shared/ChakraRuntimeHolder.h +0 -46
  663. package/Shared/CreateInstance.h +0 -25
  664. package/Shared/Executors/WebSocketJSExecutor.cpp +0 -294
  665. package/Shared/Executors/WebSocketJSExecutor.h +0 -123
  666. package/Shared/Executors/WebSocketJSExecutorFactory.cpp +0 -25
  667. package/Shared/Hermes/HermesSamplingProfiler.cpp +0 -114
  668. package/Shared/Hermes/HermesSamplingProfiler.h +0 -26
  669. package/Shared/JSI/ChakraApi.cpp +0 -436
  670. package/Shared/JSI/ChakraApi.h +0 -474
  671. package/Shared/JSI/ChakraJsiRuntime_edgemode.cpp +0 -100
  672. package/Shared/JSI/ChakraRuntime.cpp +0 -1132
  673. package/Shared/JSI/ChakraRuntime.h +0 -512
  674. package/Shared/JSI/ChakraRuntimeArgs.h +0 -45
  675. package/Shared/JSI/ChakraRuntimeFactory.h +0 -15
  676. package/Shared/JSI/JSExecutorFactoryDelegate.h +0 -12
  677. package/Shared/JSI/JSExecutorFactorySettings.cpp +0 -30
  678. package/Shared/JSI/JSExecutorFactorySettings.h +0 -21
  679. package/Shared/NativeModuleProvider.h +0 -40
  680. package/Shared/SystemChakraRuntime.h +0 -38
  681. package/Shared/Threading/BatchingQueueThread.cpp +0 -128
  682. package/Shared/Threading/BatchingQueueThread.h +0 -59
  683. package/Shared/WebSocketJSExecutorFactory.h +0 -27
  684. package/fmt/TEMP_UntilFmtUpdate/core.h +0 -2925
  685. package/template/cpp-app/proj/MyApp.sln +0 -166
  686. package/template/cpp-app/proj/MyApp.vcxproj +0 -176
  687. package/template/cpp-app/proj/MyApp.vcxproj.filters +0 -62
  688. package/template/cpp-app/src/App.cpp +0 -93
  689. package/template/cpp-app/src/App.h +0 -21
  690. package/template/cpp-app/src/App.idl +0 -3
  691. package/template/cpp-app/src/AutolinkedNativeModules.g.cpp +0 -13
  692. package/template/cpp-app/src/AutolinkedNativeModules.g.h +0 -10
  693. package/template/cpp-app/src/MainPage.cpp +0 -20
  694. package/template/cpp-app/src/MainPage.h +0 -19
  695. package/template/cpp-app/src/MainPage.idl +0 -10
  696. package/template/cpp-app/src/PropertySheet.props +0 -16
  697. package/template/cpp-app/src/ReactPackageProvider.cpp +0 -15
  698. package/template/cpp-app/src/ReactPackageProvider.h +0 -13
  699. package/template/cpp-app/src/pch.cpp +0 -1
  700. package/template/cpp-app/src/pch.h +0 -24
  701. package/template/cs-app/proj/MyApp.csproj +0 -162
  702. package/template/cs-app/proj/MyApp.sln +0 -191
  703. package/template/cs-app/src/App.xaml.cs +0 -62
  704. package/template/cs-app/src/AutolinkedNativeModules.g.cs +0 -13
  705. package/template/cs-app/src/MainPage.xaml.cs +0 -34
  706. package/template/cs-app/src/Properties/AssemblyInfo.cs +0 -29
  707. package/template/cs-app/src/Properties/Default.rd.xml +0 -32
  708. package/template/cs-app/src/ReactPackageProvider.cs +0 -17
  709. package/template/shared-app/assets/LockScreenLogo.scale-200.png +0 -0
  710. package/template/shared-app/assets/SplashScreen.scale-200.png +0 -0
  711. package/template/shared-app/assets/Square150x150Logo.scale-200.png +0 -0
  712. package/template/shared-app/assets/Square44x44Logo.scale-200.png +0 -0
  713. package/template/shared-app/assets/Square44x44Logo.targetsize-24_altform-unplated.png +0 -0
  714. package/template/shared-app/assets/StoreLogo.png +0 -0
  715. package/template/shared-app/assets/Wide310x150Logo.scale-200.png +0 -0
  716. package/template/shared-app/proj/ExperimentalFeatures.props +0 -32
  717. package/template/shared-app/proj/NuGet_Config +0 -19
  718. package/template/shared-app/src/App.xaml +0 -10
  719. package/template/shared-app/src/AutolinkedNativeModules.g.props +0 -6
  720. package/template/shared-app/src/AutolinkedNativeModules.g.targets +0 -6
  721. package/template/shared-app/src/MainPage.xaml +0 -21
  722. package/template/shared-app/src/Package.appxmanifest +0 -50
  723. package/templates/old/uwp-cpp-app/template.config.js +0 -15
  724. 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