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
@@ -0,0 +1,351 @@
1
+ /*
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ #include "RuntimeSamplingProfileTraceEventSerializer.h"
9
+ #include "PerformanceTracer.h"
10
+ #include "ProfileTreeNode.h"
11
+ #include "TraceEventSerializer.h"
12
+
13
+ #include <string_view>
14
+
15
+ namespace facebook::react::jsinspector_modern::tracing {
16
+
17
+ namespace {
18
+
19
+ // To capture samples timestamps Hermes is using steady_clock and returns
20
+ // them in microseconds granularity since epoch. In the future we might want to
21
+ // update Hermes to return timestamps in chrono type.
22
+ HighResTimeStamp getHighResTimeStampForSample(
23
+ const RuntimeSamplingProfile::Sample& sample) {
24
+ auto microsecondsSinceSteadyClockEpoch = sample.timestamp;
25
+ auto chronoTimePoint = std::chrono::steady_clock::time_point(
26
+ std::chrono::microseconds(microsecondsSinceSteadyClockEpoch));
27
+ return HighResTimeStamp::fromChronoSteadyClockTimePoint(chronoTimePoint);
28
+ }
29
+
30
+ /// Fallback script ID for artificial call frames, such as (root), (idle) or
31
+ /// (program). Required for emulating the payload in a format that is expected
32
+ /// by Chrome DevTools.
33
+ constexpr uint32_t FALLBACK_SCRIPT_ID = 0;
34
+
35
+ constexpr std::string_view GARBAGE_COLLECTOR_FRAME_NAME = "(garbage collector)";
36
+ constexpr std::string_view ROOT_FRAME_NAME = "(root)";
37
+ constexpr std::string_view IDLE_FRAME_NAME = "(idle)";
38
+ constexpr std::string_view PROGRAM_FRAME_NAME = "(program)";
39
+
40
+ TraceEventProfileChunk::CPUProfile::Node convertToTraceEventProfileNode(
41
+ const ProfileTreeNode& node) {
42
+ const RuntimeSamplingProfile::SampleCallStackFrame& callFrame =
43
+ node.getCallFrame();
44
+ auto traceEventCallFrame =
45
+ TraceEventProfileChunk::CPUProfile::Node::CallFrame{
46
+ .codeType =
47
+ node.getCodeType() == ProfileTreeNode::CodeType::JavaScript
48
+ ? "JS"
49
+ : "other",
50
+ .scriptId = callFrame.scriptId,
51
+ .functionName = std::string(callFrame.functionName),
52
+ .url = callFrame.scriptURL
53
+ ? std::optional<std::string>(std::string(*callFrame.scriptURL))
54
+ : std::nullopt,
55
+ .lineNumber = callFrame.lineNumber,
56
+ .columnNumber = callFrame.columnNumber,
57
+ };
58
+
59
+ return TraceEventProfileChunk::CPUProfile::Node{
60
+ .id = node.getId(),
61
+ .callFrame = std::move(traceEventCallFrame),
62
+ .parentId = node.hasParent() ? std::optional<uint32_t>(node.getParentId())
63
+ : std::nullopt,
64
+ };
65
+ }
66
+
67
+ RuntimeSamplingProfile::SampleCallStackFrame createArtificialCallFrame(
68
+ std::string_view callFrameName) {
69
+ return RuntimeSamplingProfile::SampleCallStackFrame{
70
+ .kind = RuntimeSamplingProfile::SampleCallStackFrame::Kind::JSFunction,
71
+ .scriptId = FALLBACK_SCRIPT_ID,
72
+ .functionName = callFrameName,
73
+ };
74
+ };
75
+
76
+ RuntimeSamplingProfile::SampleCallStackFrame createGarbageCollectorCallFrame() {
77
+ return RuntimeSamplingProfile::SampleCallStackFrame{
78
+ .kind =
79
+ RuntimeSamplingProfile::SampleCallStackFrame::Kind::GarbageCollector,
80
+ .scriptId = FALLBACK_SCRIPT_ID,
81
+ .functionName = GARBAGE_COLLECTOR_FRAME_NAME,
82
+ };
83
+ };
84
+
85
+ class ProfileTreeRootNode : public ProfileTreeNode {
86
+ public:
87
+ explicit ProfileTreeRootNode(uint32_t id)
88
+ : ProfileTreeNode(
89
+ id,
90
+ CodeType::Other,
91
+ createArtificialCallFrame(ROOT_FRAME_NAME)) {}
92
+ };
93
+
94
+ struct ProfileChunk {
95
+ ProfileChunk(
96
+ uint16_t chunkSize,
97
+ ProcessId chunkProcessId,
98
+ ThreadId chunkThreadId,
99
+ HighResTimeStamp chunkTimestamp)
100
+ : size(chunkSize),
101
+ processId(chunkProcessId),
102
+ threadId(chunkThreadId),
103
+ timestamp(chunkTimestamp) {
104
+ samples.reserve(size);
105
+ timeDeltas.reserve(size);
106
+ }
107
+
108
+ inline bool isFull() const {
109
+ return samples.size() == size;
110
+ }
111
+
112
+ inline bool isEmpty() const {
113
+ return samples.empty();
114
+ }
115
+
116
+ std::vector<ProfileTreeNode> nodes;
117
+ std::vector<uint32_t> samples;
118
+ std::vector<HighResDuration> timeDeltas;
119
+ uint16_t size;
120
+ ProcessId processId;
121
+ ThreadId threadId;
122
+ HighResTimeStamp timestamp;
123
+ };
124
+
125
+ // Construct and send "Profile" Trace Event with dispatchCallback.
126
+ void sendProfileTraceEvent(
127
+ ProcessId processId,
128
+ ThreadId threadId,
129
+ RuntimeProfileId profileId,
130
+ HighResTimeStamp profileStartTimestamp,
131
+ const std::function<void(folly::dynamic&& traceEventsChunk)>&
132
+ dispatchCallback) {
133
+ auto traceEvent = PerformanceTracer::constructRuntimeProfileTraceEvent(
134
+ profileId, processId, threadId, profileStartTimestamp);
135
+ folly::dynamic serializedTraceEvent =
136
+ TraceEventSerializer::serialize(std::move(traceEvent));
137
+
138
+ dispatchCallback(folly::dynamic::array(std::move(serializedTraceEvent)));
139
+ }
140
+
141
+ // Add an empty sample to the chunk.
142
+ void chunkEmptySample(
143
+ ProfileChunk& chunk,
144
+ uint32_t idleNodeId,
145
+ HighResDuration samplesTimeDelta) {
146
+ chunk.samples.push_back(idleNodeId);
147
+ chunk.timeDeltas.push_back(samplesTimeDelta);
148
+ }
149
+
150
+ // Take the current local ProfileChunk, serialize it as "ProfileChunk" Trace
151
+ // Event and buffer it.
152
+ void bufferProfileChunkTraceEvent(
153
+ ProfileChunk&& chunk,
154
+ RuntimeProfileId profileId,
155
+ folly::dynamic& traceEventBuffer) {
156
+ std::vector<TraceEventProfileChunk::CPUProfile::Node> traceEventNodes;
157
+ traceEventNodes.reserve(chunk.nodes.size());
158
+ for (const auto& node : chunk.nodes) {
159
+ traceEventNodes.push_back(convertToTraceEventProfileNode(node));
160
+ }
161
+
162
+ auto traceEvent = PerformanceTracer::constructRuntimeProfileChunkTraceEvent(
163
+ profileId,
164
+ chunk.processId,
165
+ chunk.threadId,
166
+ chunk.timestamp,
167
+ TraceEventProfileChunk{
168
+ .cpuProfile =
169
+ TraceEventProfileChunk::CPUProfile{
170
+ .nodes = std::move(traceEventNodes),
171
+ .samples = std::move(chunk.samples)},
172
+ .timeDeltas = std::move(chunk.timeDeltas),
173
+ });
174
+ auto serializedTraceEvent =
175
+ TraceEventSerializer::serialize(std::move(traceEvent));
176
+
177
+ traceEventBuffer.push_back(std::move(serializedTraceEvent));
178
+ }
179
+
180
+ // Process a call stack of a single sample and add it to the chunk.
181
+ void processCallStack(
182
+ std::vector<RuntimeSamplingProfile::SampleCallStackFrame>&& callStack,
183
+ ProfileChunk& chunk,
184
+ ProfileTreeNode& rootNode,
185
+ uint32_t idleNodeId,
186
+ HighResDuration samplesTimeDelta,
187
+ IdGenerator& nodeIdGenerator) {
188
+ if (callStack.empty()) {
189
+ chunkEmptySample(chunk, idleNodeId, samplesTimeDelta);
190
+ return;
191
+ }
192
+
193
+ ProfileTreeNode* previousNode = &rootNode;
194
+ for (auto it = callStack.rbegin(); it != callStack.rend(); ++it) {
195
+ const RuntimeSamplingProfile::SampleCallStackFrame& callFrame = *it;
196
+ bool isGarbageCollectorFrame = callFrame.kind ==
197
+ RuntimeSamplingProfile::SampleCallStackFrame::Kind::GarbageCollector;
198
+
199
+ ProfileTreeNode::CodeType childCodeType = isGarbageCollectorFrame
200
+ ? ProfileTreeNode::CodeType::Other
201
+ : ProfileTreeNode::CodeType::JavaScript;
202
+ // We don't need real garbage collector call frame, we change it to
203
+ // what Chrome DevTools expects.
204
+ RuntimeSamplingProfile::SampleCallStackFrame childCallFrame =
205
+ isGarbageCollectorFrame ? createGarbageCollectorCallFrame() : callFrame;
206
+
207
+ ProfileTreeNode* maybeExistingChild =
208
+ previousNode->getIfAlreadyExists(childCodeType, childCallFrame);
209
+ if (maybeExistingChild != nullptr) {
210
+ previousNode = maybeExistingChild;
211
+ } else {
212
+ previousNode = previousNode->addChild(
213
+ nodeIdGenerator.getNext(), childCodeType, childCallFrame);
214
+ chunk.nodes.push_back(*previousNode);
215
+ }
216
+ }
217
+
218
+ chunk.samples.push_back(previousNode->getId());
219
+ chunk.timeDeltas.push_back(samplesTimeDelta);
220
+ }
221
+
222
+ // Send buffered Trace Events and reset the buffer.
223
+ void sendBufferedTraceEvents(
224
+ folly::dynamic&& traceEventBuffer,
225
+ const std::function<void(folly::dynamic&& traceEventsChunk)>&
226
+ dispatchCallback) {
227
+ dispatchCallback(std::move(traceEventBuffer));
228
+ }
229
+
230
+ } // namespace
231
+
232
+ /* static */ void
233
+ RuntimeSamplingProfileTraceEventSerializer::serializeAndDispatch(
234
+ std::vector<RuntimeSamplingProfile>&& profiles,
235
+ IdGenerator& profileIdGenerator,
236
+ HighResTimeStamp tracingStartTime,
237
+ const std::function<void(folly::dynamic&& traceEventsChunk)>&
238
+ dispatchCallback,
239
+ uint16_t traceEventChunkSize,
240
+ uint16_t profileChunkSize,
241
+ uint16_t maxUniqueNodesPerChunk) {
242
+ for (auto&& profile : profiles) {
243
+ serializeAndDispatch(
244
+ std::move(profile),
245
+ profileIdGenerator,
246
+ tracingStartTime,
247
+ dispatchCallback,
248
+ traceEventChunkSize,
249
+ profileChunkSize,
250
+ maxUniqueNodesPerChunk);
251
+ }
252
+ }
253
+
254
+ /* static */ void
255
+ RuntimeSamplingProfileTraceEventSerializer::serializeAndDispatch(
256
+ RuntimeSamplingProfile&& profile,
257
+ IdGenerator& profileIdGenerator,
258
+ HighResTimeStamp tracingStartTime,
259
+ const std::function<void(folly::dynamic&& traceEventsChunk)>&
260
+ dispatchCallback,
261
+ uint16_t traceEventChunkSize,
262
+ uint16_t profileChunkSize,
263
+ uint16_t maxUniqueNodesPerChunk) {
264
+ auto samples = std::move(profile.samples);
265
+ if (samples.empty()) {
266
+ return;
267
+ }
268
+
269
+ auto traceEventBuffer = folly::dynamic::array();
270
+ traceEventBuffer.reserve(traceEventChunkSize);
271
+
272
+ ThreadId threadId = samples.front().threadId;
273
+ HighResTimeStamp previousSampleTimestamp = tracingStartTime;
274
+ HighResTimeStamp currentChunkTimestamp = tracingStartTime;
275
+ auto profileId = static_cast<RuntimeProfileId>(profileIdGenerator.getNext());
276
+
277
+ sendProfileTraceEvent(
278
+ profile.processId,
279
+ threadId,
280
+ profileId,
281
+ tracingStartTime,
282
+ dispatchCallback);
283
+
284
+ // There could be any number of new nodes in this chunk. Empty if all nodes
285
+ // are already emitted in previous chunks.
286
+ ProfileChunk chunk{
287
+ profileChunkSize, profile.processId, threadId, currentChunkTimestamp};
288
+
289
+ IdGenerator nodeIdGenerator{};
290
+ ProfileTreeRootNode rootNode(nodeIdGenerator.getNext());
291
+ chunk.nodes.push_back(rootNode);
292
+
293
+ ProfileTreeNode* programNode = rootNode.addChild(
294
+ nodeIdGenerator.getNext(),
295
+ ProfileTreeNode::CodeType::Other,
296
+ createArtificialCallFrame(PROGRAM_FRAME_NAME));
297
+ chunk.nodes.push_back(*programNode);
298
+
299
+ ProfileTreeNode* idleNode = rootNode.addChild(
300
+ nodeIdGenerator.getNext(),
301
+ ProfileTreeNode::CodeType::Other,
302
+ createArtificialCallFrame(IDLE_FRAME_NAME));
303
+ chunk.nodes.push_back(*idleNode);
304
+ uint32_t idleNodeId = idleNode->getId();
305
+
306
+ for (auto& sample : samples) {
307
+ ThreadId currentSampleThreadId = sample.threadId;
308
+ auto currentSampleTimestamp = getHighResTimeStampForSample(sample);
309
+
310
+ // We should not attempt to merge samples from different threads.
311
+ // From past observations, this only happens for GC nodes.
312
+ // We should group samples by thread id once we support executing JavaScript
313
+ // on different threads.
314
+ if (currentSampleThreadId != chunk.threadId || chunk.isFull()) {
315
+ bufferProfileChunkTraceEvent(
316
+ std::move(chunk), profileId, traceEventBuffer);
317
+ chunk = ProfileChunk{
318
+ profileChunkSize,
319
+ profile.processId,
320
+ currentSampleThreadId,
321
+ currentChunkTimestamp};
322
+ }
323
+
324
+ if (traceEventBuffer.size() == traceEventChunkSize) {
325
+ sendBufferedTraceEvents(std::move(traceEventBuffer), dispatchCallback);
326
+
327
+ traceEventBuffer = folly::dynamic::array();
328
+ traceEventBuffer.reserve(traceEventChunkSize);
329
+ }
330
+
331
+ processCallStack(
332
+ std::move(sample.callStack),
333
+ chunk,
334
+ rootNode,
335
+ idleNodeId,
336
+ currentSampleTimestamp - previousSampleTimestamp,
337
+ nodeIdGenerator);
338
+
339
+ previousSampleTimestamp = currentSampleTimestamp;
340
+ }
341
+
342
+ if (!chunk.isEmpty()) {
343
+ bufferProfileChunkTraceEvent(std::move(chunk), profileId, traceEventBuffer);
344
+ }
345
+
346
+ if (!traceEventBuffer.empty()) {
347
+ sendBufferedTraceEvents(std::move(traceEventBuffer), dispatchCallback);
348
+ }
349
+ }
350
+
351
+ } // namespace facebook::react::jsinspector_modern::tracing
@@ -114,14 +114,14 @@ class JSI_EXPORT TurboModule : public jsi::HostObject {
114
114
  */
115
115
  void emitDeviceEvent(
116
116
  const std::string& eventName,
117
- ArgFactory argFactory = nullptr);
117
+ ArgFactory&& argFactory = nullptr);
118
118
 
119
119
  // Backwards compatibility version
120
120
  void emitDeviceEvent(
121
121
  jsi::Runtime& /*runtime*/,
122
122
 
123
123
  const std::string& eventName,
124
- ArgFactory argFactory = nullptr) {
124
+ ArgFactory&& argFactory = nullptr) {
125
125
  emitDeviceEvent(eventName, std::move(argFactory));
126
126
  }
127
127
 
@@ -30,15 +30,14 @@ inline std::shared_ptr<const ShadowNode> getShadowNode(
30
30
  return Bridging<std::shared_ptr<const ShadowNode>>::fromJs(
31
31
  runtime, shadowNodeValue);
32
32
  }
33
- } // namespace
34
33
 
35
34
  #pragma mark - Private helpers
36
35
 
37
- static UIManager& getUIManagerFromRuntime(facebook::jsi::Runtime& runtime) {
36
+ UIManager& getUIManagerFromRuntime(facebook::jsi::Runtime& runtime) {
38
37
  return UIManagerBinding::getBinding(runtime)->getUIManager();
39
38
  }
40
39
 
41
- static RootShadowNode::Shared getCurrentShadowTreeRevision(
40
+ RootShadowNode::Shared getCurrentShadowTreeRevision(
42
41
  facebook::jsi::Runtime& runtime,
43
42
  SurfaceId surfaceId) {
44
43
  auto shadowTreeRevisionProvider =
@@ -46,7 +45,7 @@ static RootShadowNode::Shared getCurrentShadowTreeRevision(
46
45
  return shadowTreeRevisionProvider->getCurrentRevision(surfaceId);
47
46
  }
48
47
 
49
- static RootShadowNode::Shared getCurrentShadowTreeRevision(
48
+ RootShadowNode::Shared getCurrentShadowTreeRevision(
50
49
  facebook::jsi::Runtime& runtime,
51
50
  jsi::Value& nativeNodeReference) {
52
51
  if (nativeNodeReference.isNumber()) {
@@ -58,14 +57,13 @@ static RootShadowNode::Shared getCurrentShadowTreeRevision(
58
57
  runtime, getShadowNode(runtime, nativeNodeReference)->getSurfaceId());
59
58
  }
60
59
 
61
- static facebook::react::PointerEventsProcessor&
62
- getPointerEventsProcessorFromRuntime(facebook::jsi::Runtime& runtime) {
60
+ facebook::react::PointerEventsProcessor& getPointerEventsProcessorFromRuntime(
61
+ facebook::jsi::Runtime& runtime) {
63
62
  return facebook::react::UIManagerBinding::getBinding(runtime)
64
63
  ->getPointerEventsProcessor();
65
64
  }
66
65
 
67
- static std::vector<facebook::jsi::Value>
68
- getArrayOfInstanceHandlesFromShadowNodes(
66
+ std::vector<facebook::jsi::Value> getArrayOfInstanceHandlesFromShadowNodes(
69
67
  const std::vector<std::shared_ptr<const ShadowNode>>& nodes,
70
68
  facebook::jsi::Runtime& runtime) {
71
69
  // JSI doesn't support adding elements to an array after creation,
@@ -83,10 +81,12 @@ getArrayOfInstanceHandlesFromShadowNodes(
83
81
  return nonNullInstanceHandles;
84
82
  }
85
83
 
86
- static bool isRootShadowNode(const ShadowNode& shadowNode) {
84
+ bool isRootShadowNode(const ShadowNode& shadowNode) {
87
85
  return shadowNode.getTraits().check(ShadowNodeTraits::Trait::RootNodeKind);
88
86
  }
89
87
 
88
+ } // namespace
89
+
90
90
  #pragma mark - NativeDOM
91
91
 
92
92
  NativeDOM::NativeDOM(std::shared_ptr<CallInvoker> jsInvoker)
@@ -172,6 +172,23 @@ std::vector<jsi::Value> NativeDOM::getChildNodes(
172
172
  return getArrayOfInstanceHandlesFromShadowNodes(childNodes, rt);
173
173
  }
174
174
 
175
+ jsi::Value NativeDOM::getElementById(
176
+ jsi::Runtime& rt,
177
+ SurfaceId surfaceId,
178
+ const std::string& id) {
179
+ auto currentRevision = getCurrentShadowTreeRevision(rt, surfaceId);
180
+ if (currentRevision == nullptr) {
181
+ return jsi::Value::undefined();
182
+ }
183
+
184
+ auto elementById = dom::getElementById(currentRevision, id);
185
+ if (elementById == nullptr) {
186
+ return jsi::Value::undefined();
187
+ }
188
+
189
+ return elementById->getInstanceHandle(rt);
190
+ }
191
+
175
192
  jsi::Value NativeDOM::getParentNode(
176
193
  jsi::Runtime& rt,
177
194
  jsi::Value nativeNodeReference) {
@@ -299,7 +316,7 @@ NativeDOM::getScrollSize(
299
316
  }
300
317
 
301
318
  std::string NativeDOM::getTagName(
302
- jsi::Runtime& rt,
319
+ jsi::Runtime& /*rt*/,
303
320
  std::shared_ptr<const ShadowNode> shadowNode) {
304
321
  return dom::getTagName(*shadowNode);
305
322
  }
@@ -389,44 +406,38 @@ jsi::Value NativeDOM::linkRootNode(
389
406
  void NativeDOM::measure(
390
407
  jsi::Runtime& rt,
391
408
  std::shared_ptr<const ShadowNode> shadowNode,
392
- jsi::Function callback) {
409
+ const MeasureOnSuccessCallback& callback) {
393
410
  auto currentRevision =
394
411
  getCurrentShadowTreeRevision(rt, shadowNode->getSurfaceId());
395
412
  if (currentRevision == nullptr) {
396
- callback.call(rt, {0, 0, 0, 0, 0, 0});
413
+ callback(0, 0, 0, 0, 0, 0);
397
414
  return;
398
415
  }
399
416
 
400
417
  auto measureRect = dom::measure(currentRevision, *shadowNode);
401
418
 
402
- callback.call(
403
- rt,
404
- {jsi::Value{rt, measureRect.x},
405
- jsi::Value{rt, measureRect.y},
406
- jsi::Value{rt, measureRect.width},
407
- jsi::Value{rt, measureRect.height},
408
- jsi::Value{rt, measureRect.pageX},
409
- jsi::Value{rt, measureRect.pageY}});
419
+ callback(
420
+ measureRect.x,
421
+ measureRect.y,
422
+ measureRect.width,
423
+ measureRect.height,
424
+ measureRect.pageX,
425
+ measureRect.pageY);
410
426
  }
411
427
 
412
428
  void NativeDOM::measureInWindow(
413
429
  jsi::Runtime& rt,
414
430
  std::shared_ptr<const ShadowNode> shadowNode,
415
- jsi::Function callback) {
431
+ const MeasureInWindowOnSuccessCallback& callback) {
416
432
  auto currentRevision =
417
433
  getCurrentShadowTreeRevision(rt, shadowNode->getSurfaceId());
418
434
  if (currentRevision == nullptr) {
419
- callback.call(rt, {0, 0, 0, 0});
435
+ callback(0, 0, 0, 0);
420
436
  return;
421
437
  }
422
438
 
423
439
  auto rect = dom::measureInWindow(currentRevision, *shadowNode);
424
- callback.call(
425
- rt,
426
- {jsi::Value{rt, rect.x},
427
- jsi::Value{rt, rect.y},
428
- jsi::Value{rt, rect.width},
429
- jsi::Value{rt, rect.height}});
440
+ callback(rect.x, rect.y, rect.width, rect.height);
430
441
  }
431
442
 
432
443
  void NativeDOM::measureLayout(
@@ -434,7 +445,7 @@ void NativeDOM::measureLayout(
434
445
  std::shared_ptr<const ShadowNode> shadowNode,
435
446
  std::shared_ptr<const ShadowNode> relativeToShadowNode,
436
447
  jsi::Function onFail,
437
- jsi::Function onSuccess) {
448
+ const MeasureLayoutOnSuccessCallback& onSuccess) {
438
449
  auto currentRevision =
439
450
  getCurrentShadowTreeRevision(rt, shadowNode->getSurfaceId());
440
451
  if (currentRevision == nullptr) {
@@ -452,12 +463,7 @@ void NativeDOM::measureLayout(
452
463
 
453
464
  auto rect = maybeRect.value();
454
465
 
455
- onSuccess.call(
456
- rt,
457
- {jsi::Value{rt, rect.x},
458
- jsi::Value{rt, rect.y},
459
- jsi::Value{rt, rect.width},
460
- jsi::Value{rt, rect.height}});
466
+ onSuccess(rect.x, rect.y, rect.width, rect.height);
461
467
  }
462
468
 
463
469
  // [windows MSVC cant handle backtick character in a preprocessor line
@@ -472,4 +478,4 @@ void NativeDOM::setNativeProps(
472
478
  shadowNode, RawProps(rt, updatePayload));
473
479
  }
474
480
 
475
- } // namespace facebook::react
481
+ } // namespace facebook::react
@@ -23,6 +23,15 @@
23
23
 
24
24
  namespace facebook::react {
25
25
 
26
+ using MeasureOnSuccessCallback =
27
+ SyncCallback<void(double, double, double, double, double, double)>;
28
+
29
+ using MeasureInWindowOnSuccessCallback =
30
+ SyncCallback<void(double, double, double, double)>;
31
+
32
+ using MeasureLayoutOnSuccessCallback =
33
+ SyncCallback<void(double, double, double, double)>;
34
+
26
35
  class NativeDOM : public NativeDOMCxxSpec<NativeDOM> {
27
36
  public:
28
37
  NativeDOM(std::shared_ptr<CallInvoker> jsInvoker);
@@ -38,6 +47,9 @@ class NativeDOM : public NativeDOMCxxSpec<NativeDOM> {
38
47
  jsi::Runtime& rt,
39
48
  jsi::Value nativeNodeReference);
40
49
 
50
+ jsi::Value
51
+ getElementById(jsi::Runtime& rt, SurfaceId surfaceId, const std::string& id);
52
+
41
53
  jsi::Value getParentNode(jsi::Runtime& rt, jsi::Value nativeNodeReference);
42
54
 
43
55
  bool isConnected(jsi::Runtime& rt, jsi::Value nativeNodeReference);
@@ -119,19 +131,19 @@ class NativeDOM : public NativeDOMCxxSpec<NativeDOM> {
119
131
  void measure(
120
132
  jsi::Runtime& rt,
121
133
  std::shared_ptr<const ShadowNode> shadowNode,
122
- jsi::Function callback);
134
+ const MeasureOnSuccessCallback& callback);
123
135
 
124
136
  void measureInWindow(
125
137
  jsi::Runtime& rt,
126
138
  std::shared_ptr<const ShadowNode> shadowNode,
127
- jsi::Function callback);
139
+ const MeasureInWindowOnSuccessCallback& callback);
128
140
 
129
141
  void measureLayout(
130
142
  jsi::Runtime& rt,
131
143
  std::shared_ptr<const ShadowNode> shadowNode,
132
144
  std::shared_ptr<const ShadowNode> relativeToShadowNode,
133
145
  jsi::Function onFail,
134
- jsi::Function onSuccess);
146
+ const MeasureLayoutOnSuccessCallback& onSuccess);
135
147
 
136
148
  // [windows MSVC cant handle backtick character in a preprocessor line
137
149
  #pragma mark - Legacy direct manipulation APIs (for ReactNativeElement).
@@ -29,7 +29,7 @@ ComponentDescriptorRegistry::ComponentDescriptorRegistry(
29
29
  contextContainer_(std::move(contextContainer)) {}
30
30
 
31
31
  void ComponentDescriptorRegistry::add(
32
- ComponentDescriptorProvider componentDescriptorProvider) const {
32
+ const ComponentDescriptorProvider& componentDescriptorProvider) const {
33
33
  std::unique_lock lock(mutex_);
34
34
 
35
35
  auto componentDescriptor = componentDescriptorProvider.constructor(