react-native-windows 0.84.0 → 0.85.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 (461) hide show
  1. package/.flowconfig +1 -5
  2. package/Directory.Build.props +1 -16
  3. package/Directory.Build.targets +12 -4
  4. package/Folly/ThreadNameStub.cpp +4 -6
  5. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +3 -3
  6. package/Libraries/Animated/Animated.d.ts +8 -1
  7. package/Libraries/Animated/AnimatedEvent.js +4 -4
  8. package/Libraries/Animated/AnimatedImplementation.js +2 -2
  9. package/Libraries/Animated/animations/Animation.js +3 -3
  10. package/Libraries/Animated/animations/DecayAnimation.js +4 -4
  11. package/Libraries/Animated/animations/SpringAnimation.js +5 -5
  12. package/Libraries/Animated/animations/TimingAnimation.js +5 -5
  13. package/Libraries/Animated/createAnimatedComponent.js +7 -7
  14. package/Libraries/Animated/nodes/AnimatedColor.js +2 -2
  15. package/Libraries/Animated/nodes/AnimatedInterpolation.js +12 -12
  16. package/Libraries/Animated/nodes/AnimatedNode.js +3 -3
  17. package/Libraries/Animated/nodes/AnimatedObject.js +3 -3
  18. package/Libraries/Animated/nodes/AnimatedProps.js +6 -6
  19. package/Libraries/Animated/nodes/AnimatedStyle.js +7 -7
  20. package/Libraries/Animated/nodes/AnimatedTransform.js +13 -13
  21. package/Libraries/Animated/nodes/AnimatedValue.js +1 -1
  22. package/Libraries/Animated/nodes/AnimatedValueXY.js +1 -1
  23. package/Libraries/Animated/nodes/AnimatedWithChildren.js +1 -1
  24. package/Libraries/Animated/useAnimatedColor.d.ts +15 -0
  25. package/Libraries/Animated/useAnimatedColor.js +25 -0
  26. package/Libraries/Animated/useAnimatedValueXY.d.ts +15 -0
  27. package/Libraries/Animated/useAnimatedValueXY.js +26 -0
  28. package/Libraries/AppState/AppState.js +1 -1
  29. package/Libraries/BatchedBridge/MessageQueue.js +3 -3
  30. package/Libraries/BatchedBridge/NativeModules.js +12 -10
  31. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +30 -26
  32. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.windows.js +34 -30
  33. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +2 -2
  34. package/Libraries/Components/Button.js +2 -2
  35. package/Libraries/Components/Button.windows.js +2 -2
  36. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidTypes.js +2 -2
  37. package/Libraries/Components/Keyboard/Keyboard.js +6 -6
  38. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +1 -1
  39. package/Libraries/Components/LayoutConformance/LayoutConformance.js +1 -1
  40. package/Libraries/Components/LayoutConformance/LayoutConformanceNativeComponent.js +1 -1
  41. package/Libraries/Components/Pressable/Pressable.d.ts +5 -0
  42. package/Libraries/Components/Pressable/Pressable.js +3 -3
  43. package/Libraries/Components/Pressable/Pressable.windows.js +3 -3
  44. package/Libraries/Components/Pressable/useAndroidRippleForView.js +4 -4
  45. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +1 -1
  46. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidTypes.js +3 -3
  47. package/Libraries/Components/RefreshControl/RefreshControl.js +5 -5
  48. package/Libraries/Components/RefreshControl/RefreshControl.windows.js +5 -5
  49. package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +8 -12
  50. package/Libraries/Components/ScrollView/ScrollView.d.ts +9 -0
  51. package/Libraries/Components/ScrollView/ScrollView.js +19 -9
  52. package/Libraries/Components/ScrollView/ScrollView.windows.js +19 -9
  53. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +8 -18
  54. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.windows.js +8 -18
  55. package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +4 -3
  56. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +1 -1
  57. package/Libraries/Components/StaticRenderer.js +1 -1
  58. package/Libraries/Components/StatusBar/StatusBar.js +8 -8
  59. package/Libraries/Components/Switch/Switch.js +3 -3
  60. package/Libraries/Components/Switch/Switch.windows.js +3 -3
  61. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +33 -48
  62. package/Libraries/Components/TextInput/InputAccessoryView.js +1 -1
  63. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +6 -11
  64. package/Libraries/Components/TextInput/TextInput.flow.js +21 -20
  65. package/Libraries/Components/TextInput/TextInput.flow.windows.js +23 -22
  66. package/Libraries/Components/TextInput/TextInput.js +8 -4
  67. package/Libraries/Components/TextInput/TextInput.windows.js +3 -4
  68. package/Libraries/Components/TextInput/WindowsTextInputNativeComponent.js +33 -48
  69. package/Libraries/Components/Touchable/PooledClass.js +1 -1
  70. package/Libraries/Components/Touchable/Touchable.js +2 -2
  71. package/Libraries/Components/Touchable/Touchable.windows.js +2 -2
  72. package/Libraries/Components/Touchable/TouchableBounce.js +4 -4
  73. package/Libraries/Components/Touchable/TouchableBounce.windows.js +4 -4
  74. package/Libraries/Components/Touchable/TouchableHighlight.js +8 -8
  75. package/Libraries/Components/Touchable/TouchableHighlight.windows.js +9 -9
  76. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +7 -7
  77. package/Libraries/Components/Touchable/TouchableNativeFeedback.windows.js +7 -7
  78. package/Libraries/Components/Touchable/TouchableOpacity.js +4 -4
  79. package/Libraries/Components/Touchable/TouchableOpacity.windows.js +4 -4
  80. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +1 -1
  81. package/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js +1 -1
  82. package/Libraries/Components/UnimplementedViews/UnimplementedView.js +1 -1
  83. package/Libraries/Components/View/ReactNativeStyleAttributes.js +68 -31
  84. package/Libraries/Components/View/View.windows.js +1 -1
  85. package/Libraries/Components/View/ViewAccessibility.js +7 -7
  86. package/Libraries/Components/View/ViewAccessibility.windows.js +7 -7
  87. package/Libraries/Components/View/ViewPropTypes.js +14 -14
  88. package/Libraries/Components/View/ViewPropTypes.windows.js +18 -16
  89. package/Libraries/Core/Devtools/parseHermesStack.js +8 -8
  90. package/Libraries/Core/Devtools/symbolicateStackTrace.js +2 -2
  91. package/Libraries/Core/ExceptionsManager.js +2 -2
  92. package/Libraries/Core/ExtendedError.js +3 -3
  93. package/Libraries/Core/RawEventEmitter.js +1 -1
  94. package/Libraries/Core/ReactNativeVersion.js +2 -2
  95. package/Libraries/Core/Timers/JSTimers.js +3 -2
  96. package/Libraries/Core/setUpDeveloperTools.js +1 -1
  97. package/Libraries/Core/setUpErrorHandling.js +4 -2
  98. package/Libraries/Core/setUpReactDevTools.js +23 -6
  99. package/Libraries/Core/setUpSegmentFetcher.js +1 -1
  100. package/Libraries/Debugging/DebuggingOverlay.js +2 -2
  101. package/Libraries/EventEmitter/NativeEventEmitter.js +7 -9
  102. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +1 -1
  103. package/Libraries/Image/AssetSourceResolver.js +1 -1
  104. package/Libraries/Image/AssetSourceResolver.windows.js +1 -1
  105. package/Libraries/Image/Image.android.js +172 -306
  106. package/Libraries/Image/ImageProps.js +9 -11
  107. package/Libraries/Image/ImageSource.js +2 -2
  108. package/Libraries/Image/ImageSourceUtils.js +8 -4
  109. package/Libraries/Image/ImageTypes.flow.js +2 -2
  110. package/Libraries/Image/ImageViewNativeComponent.js +7 -16
  111. package/Libraries/Image/nativeImageSource.js +1 -1
  112. package/Libraries/Interaction/InteractionManager.js +5 -4
  113. package/Libraries/Interaction/PanResponder.js +1 -1
  114. package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -2
  115. package/Libraries/Linking/Linking.js +1 -1
  116. package/Libraries/Lists/FlatList.js +3 -3
  117. package/Libraries/Lists/SectionList.js +1 -1
  118. package/Libraries/Lists/SectionListModern.js +2 -2
  119. package/Libraries/LogBox/Data/LogBoxData.js +38 -24
  120. package/Libraries/LogBox/Data/LogBoxLog.js +43 -112
  121. package/Libraries/LogBox/Data/parseLogBoxLog.js +21 -117
  122. package/Libraries/LogBox/LogBox.js +42 -19
  123. package/Libraries/LogBox/LogBoxInspectorContainer.js +2 -2
  124. package/Libraries/LogBox/LogBoxNotificationContainer.js +2 -2
  125. package/Libraries/LogBox/UI/LogBoxButton.js +14 -16
  126. package/Libraries/LogBox/UI/LogBoxInspector.js +2 -2
  127. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +6 -9
  128. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.windows.js +6 -9
  129. package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +1 -1
  130. package/Libraries/LogBox/UI/LogBoxInspectorFooterButton.js +1 -1
  131. package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +1 -1
  132. package/Libraries/LogBox/UI/LogBoxInspectorHeader.windows.js +1 -1
  133. package/Libraries/LogBox/UI/LogBoxInspectorHeaderButton.js +1 -1
  134. package/Libraries/LogBox/UI/LogBoxInspectorMessageHeader.js +10 -15
  135. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +25 -18
  136. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.windows.js +15 -16
  137. package/Libraries/LogBox/UI/LogBoxInspectorSection.js +5 -7
  138. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +8 -10
  139. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +8 -6
  140. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.windows.js +3 -5
  141. package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +17 -29
  142. package/Libraries/LogBox/UI/LogBoxMessage.js +28 -37
  143. package/Libraries/LogBox/UI/LogBoxNotification.js +1 -1
  144. package/Libraries/Modal/Modal.d.ts +4 -0
  145. package/Libraries/Modal/Modal.js +3 -3
  146. package/Libraries/Modal/Modal.windows.js +7 -3
  147. package/Libraries/NativeComponent/BaseViewConfig.android.js +28 -52
  148. package/Libraries/NativeComponent/BaseViewConfig.ios.js +19 -21
  149. package/Libraries/NativeComponent/BaseViewConfig.windows.js +26 -17
  150. package/Libraries/Network/RCTNetworking.android.js +1 -1
  151. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  152. package/Libraries/Network/RCTNetworking.js.flow +1 -1
  153. package/Libraries/Network/RCTNetworking.windows.js +1 -1
  154. package/Libraries/Network/RCTNetworkingEventDefinitions.flow.js +1 -1
  155. package/Libraries/Network/XMLHttpRequest.js +1 -1
  156. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +3 -3
  157. package/Libraries/Pressability/Pressability.js +5 -5
  158. package/Libraries/Pressability/Pressability.windows.js +5 -5
  159. package/Libraries/Pressability/PressabilityDebug.js +1 -1
  160. package/Libraries/Pressability/PressabilityPerformanceEventEmitter.js +1 -1
  161. package/Libraries/Pressability/usePressability.js +3 -14
  162. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +2 -2
  163. package/Libraries/ReactNative/AppContainer-dev.js +18 -1
  164. package/Libraries/ReactNative/AppContainer.js +1 -1
  165. package/Libraries/ReactNative/AppRegistry.flow.js +2 -2
  166. package/Libraries/ReactNative/AppRegistryImpl.js +2 -2
  167. package/Libraries/ReactNative/FabricUIManager.js +1 -1
  168. package/Libraries/ReactNative/RendererImplementation.js +4 -4
  169. package/Libraries/ReactNative/UIManagerProperties.js +1 -1
  170. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +3 -2
  171. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +3 -2
  172. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +3 -2
  173. package/Libraries/Renderer/shims/ReactFabric.js +1 -3
  174. package/Libraries/Renderer/shims/ReactFeatureFlags.js +1 -3
  175. package/Libraries/Renderer/shims/ReactNative.js +3 -2
  176. package/Libraries/Renderer/shims/ReactNativeTypes.js +1 -3
  177. package/Libraries/Renderer/shims/ReactNativeTypes.windows.js +1 -3
  178. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +1 -3
  179. package/Libraries/Renderer/shims/createReactNativeComponentClass.js +1 -3
  180. package/Libraries/StyleSheet/PointPropType.js +1 -1
  181. package/Libraries/StyleSheet/Rect.js +1 -1
  182. package/Libraries/StyleSheet/StyleSheet.d.ts +0 -5
  183. package/Libraries/StyleSheet/StyleSheet.js +1 -1
  184. package/Libraries/StyleSheet/StyleSheet.js.flow +1 -1
  185. package/Libraries/StyleSheet/StyleSheetExports.js +16 -25
  186. package/Libraries/StyleSheet/StyleSheetExports.js.flow +2 -7
  187. package/Libraries/StyleSheet/StyleSheetTypes.js +33 -35
  188. package/Libraries/StyleSheet/private/_StyleSheetTypesOverrides.js +5 -5
  189. package/Libraries/StyleSheet/private/_TransformStyle.js +7 -7
  190. package/Libraries/StyleSheet/processBackgroundImage.js +7 -7
  191. package/Libraries/StyleSheet/processBackgroundPosition.js +4 -4
  192. package/Libraries/StyleSheet/processBackgroundRepeat.js +4 -4
  193. package/Libraries/StyleSheet/processBackgroundSize.js +4 -4
  194. package/Libraries/StyleSheet/processBoxShadow.js +44 -4
  195. package/Libraries/StyleSheet/processColorArray.js +2 -2
  196. package/Libraries/StyleSheet/processFilter.js +2 -2
  197. package/Libraries/Text/Text.js +295 -627
  198. package/Libraries/Text/Text.windows.js +342 -717
  199. package/Libraries/Text/TextNativeComponent.js +14 -7
  200. package/Libraries/Text/TextProps.js +4 -4
  201. package/Libraries/Text/TextProps.windows.js +4 -4
  202. package/Libraries/Types/CodegenTypes.js +1 -1
  203. package/Libraries/Types/CoreEventTypes.js +21 -21
  204. package/Libraries/Types/CoreEventTypes.windows.js +21 -21
  205. package/Libraries/Types/ReactDevToolsTypes.js +2 -2
  206. package/Libraries/Utilities/Appearance.js +6 -1
  207. package/Libraries/Utilities/Dimensions.js +1 -1
  208. package/Libraries/Utilities/HMRClient.js +32 -5
  209. package/Libraries/Utilities/IPerformanceLogger.js +4 -4
  210. package/Libraries/Utilities/codegenNativeCommands.js +4 -4
  211. package/Libraries/Utilities/codegenNativeComponent.d.ts +2 -0
  212. package/Libraries/Utilities/codegenNativeComponent.js +2 -2
  213. package/Libraries/Utilities/logError.js +1 -1
  214. package/Libraries/Utilities/stringifySafe.js +3 -3
  215. package/Libraries/Utilities/useMergeRefs.js +2 -2
  216. package/Libraries/vendor/core/ErrorUtils.js +4 -4
  217. package/Libraries/vendor/emitter/EventEmitter.js +16 -20
  218. package/Microsoft.ReactNative/CallInvoker.cpp +14 -4
  219. package/Microsoft.ReactNative/Fabric/AbiComponentDescriptor.cpp +1 -1
  220. package/Microsoft.ReactNative/Fabric/AbiPortalShadowNode.cpp +2 -2
  221. package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.h +1 -1
  222. package/Microsoft.ReactNative/Fabric/Composition/BorderPrimitive.cpp +73 -97
  223. package/Microsoft.ReactNative/Fabric/Composition/BorderPrimitive.h +4 -1
  224. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.cpp +0 -1
  225. package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.cpp +4 -4
  226. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +135 -18
  227. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.h +10 -0
  228. package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.cpp +7 -2
  229. package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.h +2 -0
  230. package/Microsoft.ReactNative/Fabric/Composition/Modal/WindowsModalHostViewComponentView.cpp +63 -15
  231. package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.cpp +3 -1
  232. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +1 -1
  233. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputState.cpp +1 -1
  234. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +11 -0
  235. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.h +1 -0
  236. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/HostPlatformColor.h +3 -0
  237. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/PlatformColorUtils.cpp +0 -3
  238. package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/WindowsTextLayoutManager.cpp +2 -7
  239. package/Microsoft.ReactNative/IReactPackageBuilder.idl +6 -0
  240. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj +1 -61
  241. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj.filters +1 -26
  242. package/Microsoft.ReactNative/Modules/AlertModule.cpp +2 -1
  243. package/Microsoft.ReactNative/Modules/AppStateModule.cpp +2 -17
  244. package/Microsoft.ReactNative/Modules/AppStateModule.h +0 -4
  245. package/Microsoft.ReactNative/Modules/AppThemeModuleUwp.cpp +0 -2
  246. package/Microsoft.ReactNative/Modules/AppearanceModule.cpp +16 -15
  247. package/Microsoft.ReactNative/Modules/AppearanceModule.h +5 -1
  248. package/Microsoft.ReactNative/Modules/DeviceInfoModule.cpp +2 -7
  249. package/Microsoft.ReactNative/Modules/DeviceInfoModule.h +0 -1
  250. package/Microsoft.ReactNative/Modules/I18nManagerModule.h +4 -4
  251. package/Microsoft.ReactNative/QuirkSettings.cpp +0 -133
  252. package/Microsoft.ReactNative/QuirkSettings.h +0 -43
  253. package/Microsoft.ReactNative/QuirkSettings.idl +0 -41
  254. package/Microsoft.ReactNative/ReactHost/CrashManager.cpp +0 -4
  255. package/Microsoft.ReactNative/ReactHost/MsoReactContext.cpp +0 -2
  256. package/Microsoft.ReactNative/ReactHost/React.h +0 -5
  257. package/Microsoft.ReactNative/ReactHost/ReactHost.cpp +0 -1
  258. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +3 -26
  259. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.h +0 -5
  260. package/Microsoft.ReactNative/ReactHost/React_Win.h +0 -2
  261. package/Microsoft.ReactNative/ReactNativeAppBuilder.idl +3 -0
  262. package/Microsoft.ReactNative/ReactPackageBuilder.cpp +7 -0
  263. package/Microsoft.ReactNative/ReactPackageBuilder.h +1 -0
  264. package/Microsoft.ReactNative/RedBox.cpp +0 -9
  265. package/Microsoft.ReactNative/RedBoxHandler.cpp +0 -4
  266. package/Microsoft.ReactNative/TurboModulesProvider.cpp +5 -10
  267. package/Microsoft.ReactNative/TurboModulesProvider.h +2 -0
  268. package/Microsoft.ReactNative/Utils/ValueUtils.cpp +1 -1
  269. package/Microsoft.ReactNative.Cxx/CppWinRTIncludes.h +0 -7
  270. package/Microsoft.ReactNative.Cxx/DesktopWindowBridge.h +0 -22
  271. package/Microsoft.ReactNative.Cxx/ModuleRegistration.cpp +8 -2
  272. package/Microsoft.ReactNative.Cxx/ModuleRegistration.h +36 -20
  273. package/Microsoft.ReactNative.Cxx/NamespaceRedirect.h +0 -3
  274. package/Microsoft.ReactNative.Cxx/NativeModules.h +8 -2
  275. package/Microsoft.ReactNative.Cxx/XamlUtils.h +0 -9
  276. package/Microsoft.ReactNative.Managed/ReactContext.cs +0 -9
  277. package/PropertySheets/Autolink.props +1 -1
  278. package/PropertySheets/Bundle.props +1 -1
  279. package/PropertySheets/Codegen.props +1 -1
  280. package/PropertySheets/Generated/PackageVersion.g.props +3 -3
  281. package/PropertySheets/NuGet.LockFile.props +8 -0
  282. package/PropertySheets/React.Cpp.props +4 -4
  283. package/PropertySheets/ReactNativeArchitecture.props +6 -24
  284. package/ReactCommon/ReactCommon.vcxproj +5 -6
  285. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/jsi/test/testlib.cpp +1 -1
  286. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.cpp +15 -4
  287. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.h +13 -0
  288. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/defaults/DefaultTurboModules.cpp +69 -0
  289. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/animationbackend/AnimatedPropSerializer.cpp +717 -0
  290. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/text/ParagraphShadowNode.cpp +10 -10
  291. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/AccessibilityPrimitives.h +2 -21
  292. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/TouchEventEmitter.cpp +151 -0
  293. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/TouchEventEmitter.h +50 -0
  294. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/mapbuffer/MapBuffer.cpp +178 -0
  295. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/uimanager/UIManager.cpp +69 -39
  296. package/Scripts/OfficeReact.Win32.nuspec +0 -1
  297. package/Scripts/Tfs/Layout-Desktop-Headers.ps1 +4 -39
  298. package/Scripts/creaternwapp.cmd +1 -9
  299. package/Scripts/creaternwlib.cmd +4 -24
  300. package/Shared/DevSettings.h +0 -3
  301. package/Shared/Networking/WinRTWebSocketResource.cpp +23 -408
  302. package/Shared/Networking/WinRTWebSocketResource.h +3 -119
  303. package/Shared/Shared.vcxitems +63 -38
  304. package/Shared/Shared.vcxitems.filters +54 -0
  305. package/Shared/Utils.cpp +0 -88
  306. package/Shared/Utils.h +0 -14
  307. package/Shared/WebSocketResourceFactory.cpp +28 -0
  308. package/Shared/tracing/fbsystrace.h +1 -0
  309. package/codegen/NativeReactNativeFeatureFlagsSpec.g.h +172 -160
  310. package/codegen/react/components/rnwcore/ModalHostView.g.h +8 -0
  311. package/codegen/react/components/rnwcore/Props.cpp +17 -7
  312. package/codegen/react/components/rnwcore/Props.h +3 -1
  313. package/codegen/react/components/rnwcore/VirtualViewExperimental.g.h +4 -4
  314. package/codegen/rnwcoreJSI.h +93 -77
  315. package/index.js +9 -0
  316. package/index.windows.js +9 -0
  317. package/jest/RefreshControlMock.js +2 -2
  318. package/jest/assetFileTransformer.js +8 -3
  319. package/jest/mockComponent.js +3 -4
  320. package/jest/mockNativeComponent.js +1 -1
  321. package/jest/mocks/ActivityIndicator.js +2 -2
  322. package/jest/mocks/Image.js +2 -2
  323. package/jest/mocks/Modal.js +2 -2
  324. package/jest/mocks/RefreshControl.js +3 -3
  325. package/jest/mocks/RendererProxy.js +2 -2
  326. package/jest/mocks/ScrollView.js +5 -5
  327. package/jest/mocks/Text.js +2 -2
  328. package/jest/mocks/TextInput.js +2 -2
  329. package/jest/mocks/View.js +2 -2
  330. package/jest/mocks/ViewNativeComponent.js +1 -1
  331. package/jest/mocks/requireNativeComponent.js +1 -1
  332. package/jest/mocks/useColorScheme.js +1 -1
  333. package/jest/setup.js +68 -31
  334. package/package.json +27 -22
  335. package/src/private/animated/NativeAnimatedHelper.js +2 -2
  336. package/src/private/animated/createAnimatedPropsMemoHook.js +19 -19
  337. package/src/private/components/virtualview/VirtualView.js +14 -21
  338. package/src/private/components/virtualview/VirtualViewExperimentalNativeComponent.js +11 -10
  339. package/src/private/components/virtualview/VirtualViewNativeComponent.js +4 -4
  340. package/src/private/devsupport/devmenu/elementinspector/BorderBox.js +2 -2
  341. package/src/private/devsupport/devmenu/elementinspector/BoxInspector.js +3 -3
  342. package/src/private/devsupport/devmenu/elementinspector/ElementBox.js +4 -4
  343. package/src/private/devsupport/devmenu/elementinspector/ElementProperties.js +1 -1
  344. package/src/private/devsupport/devmenu/elementinspector/Inspector.js +39 -17
  345. package/src/private/devsupport/devmenu/elementinspector/InspectorOverlay.js +15 -3
  346. package/src/private/devsupport/devmenu/elementinspector/InspectorPanel.js +2 -2
  347. package/src/private/devsupport/devmenu/elementinspector/ReactDevToolsOverlay.js +2 -8
  348. package/src/private/devsupport/devmenu/elementinspector/StyleInspector.js +1 -1
  349. package/src/private/devsupport/devmenu/elementinspector/resolveBoxStyle.js +1 -1
  350. package/src/private/devsupport/devmenu/elementinspector/useExternalInspection.js +102 -0
  351. package/src/private/devsupport/rndevtools/FuseboxSessionObserver.js +12 -25
  352. package/src/private/devsupport/rndevtools/GlobalStateObserver.js +56 -0
  353. package/src/private/devsupport/rndevtools/TracingStateObserver.js +28 -0
  354. package/src/private/featureflags/ReactNativeFeatureFlags.js +71 -79
  355. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +2 -2
  356. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +14 -12
  357. package/src/private/setup/setUpDefaultReactNativeEnvironment.js +6 -0
  358. package/src/private/specs_DEPRECATED/components/ActivityIndicatorViewNativeComponent.js +1 -1
  359. package/src/private/specs_DEPRECATED/components/AndroidDrawerLayoutNativeComponent.js +3 -3
  360. package/src/private/specs_DEPRECATED/components/AndroidHorizontalScrollContentViewNativeComponent.js +1 -1
  361. package/src/private/specs_DEPRECATED/components/AndroidSwipeRefreshLayoutNativeComponent.js +2 -2
  362. package/src/private/specs_DEPRECATED/components/AndroidSwitchNativeComponent.js +2 -2
  363. package/src/private/specs_DEPRECATED/components/DebuggingOverlayNativeComponent.js +3 -3
  364. package/src/private/specs_DEPRECATED/components/ProgressBarAndroidNativeComponent.js +1 -1
  365. package/src/private/specs_DEPRECATED/components/PullToRefreshViewNativeComponent.js +1 -1
  366. package/src/private/specs_DEPRECATED/components/RCTInputAccessoryViewNativeComponent.js +1 -1
  367. package/src/private/specs_DEPRECATED/components/RCTModalHostViewNativeComponent.js +7 -3
  368. package/src/private/specs_DEPRECATED/components/RCTSafeAreaViewNativeComponent.js +1 -1
  369. package/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js +2 -2
  370. package/src/private/specs_DEPRECATED/components/UnimplementedNativeViewNativeComponent.js +1 -1
  371. package/src/private/specs_DEPRECATED/modules/NativeImageLoaderIOS.js +1 -1
  372. package/src/private/styles/composeStyles.js +1 -1
  373. package/src/private/utilities/toError.js +27 -0
  374. package/src/private/utilities/toExtendedError.js +30 -0
  375. package/src/private/webapis/dom/events/Event.js +1 -1
  376. package/src/private/webapis/dom/events/EventHandlerAttributes.js +2 -2
  377. package/src/private/webapis/dom/events/EventTarget.js +3 -3
  378. package/src/private/webapis/dom/events/internals/EventInternals.js +2 -2
  379. package/src/private/webapis/dom/nodes/ReadOnlyElement.js +1 -1
  380. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +2 -2
  381. package/src/private/webapis/dom/nodes/specs/NativeDOM.js +14 -14
  382. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +2 -2
  383. package/src/private/webapis/dom/oldstylecollections/NodeList.js +2 -2
  384. package/src/private/webapis/geometry/DOMRectList.js +2 -2
  385. package/src/private/webapis/intersectionobserver/IntersectionObserver.js +8 -8
  386. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +6 -6
  387. package/src/private/webapis/mutationobserver/MutationObserver.js +2 -2
  388. package/src/private/webapis/mutationobserver/MutationRecord.js +2 -2
  389. package/src/private/webapis/mutationobserver/internals/MutationObserverManager.js +1 -1
  390. package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +3 -3
  391. package/src/private/webapis/performance/LongTasks.js +3 -3
  392. package/src/private/webapis/performance/Performance.js +4 -4
  393. package/src/private/webapis/performance/PerformanceEntry.js +1 -1
  394. package/src/private/webapis/performance/PerformanceObserver.js +2 -2
  395. package/src/private/webapis/performance/specs/NativePerformance.js +8 -8
  396. package/src/private/webapis/structuredClone/structuredClone.js +2 -2
  397. package/src/types/globals.d.ts +4 -4
  398. package/template/cpp-lib/proj/MyLib.sln +0 -33
  399. package/template/cpp-lib/proj/MyLib.vcxproj +1 -1
  400. package/template/cs-lib/proj/MyLib.sln +0 -33
  401. package/template/metro.config.js +12 -2
  402. package/templates/cpp-app/metro.config.js +12 -2
  403. package/templates/cpp-app/windows/MyApp/MyApp.cpp +9 -6
  404. package/templates/cpp-app/windows/MyApp/MyApp.vcxproj +1 -1
  405. package/templates/cpp-app/windows/MyApp.sln +0 -33
  406. package/templates/cpp-lib/example/metro.config.js +12 -2
  407. package/templates/cpp-lib/windows/MyLib/MyLib.vcxproj +1 -1
  408. package/templates/cpp-lib/windows/MyLib.sln +0 -33
  409. package/types/index.d.ts +2 -0
  410. package/Folly/.clang-format +0 -2
  411. package/Folly/Folly.natvis +0 -25
  412. package/Folly/Folly.vcxproj +0 -378
  413. package/Folly/Folly.vcxproj.filters +0 -558
  414. package/Folly/TEMP_UntilFollyUpdate/ConstexprMath.h +0 -978
  415. package/Folly/TEMP_UntilFollyUpdate/Conv.cpp +0 -1205
  416. package/Folly/TEMP_UntilFollyUpdate/chrono/Hardware.h +0 -155
  417. package/Folly/TEMP_UntilFollyUpdate/concurrency/CacheLocality.cpp +0 -633
  418. package/Folly/TEMP_UntilFollyUpdate/json/dynamic-inl.h +0 -1438
  419. package/Folly/TEMP_UntilFollyUpdate/json/json.cpp +0 -1118
  420. package/Folly/TEMP_UntilFollyUpdate/lang/SafeAssert.h +0 -188
  421. package/Folly/TEMP_UntilFollyUpdate/lang/ToAscii.cpp +0 -348
  422. package/Folly/TEMP_UntilFollyUpdate/lang/ToAscii.h +0 -182
  423. package/Folly/TEMP_UntilFollyUpdate/portability/Unistd.cpp +0 -33
  424. package/Folly/cgmanifest.json +0 -25
  425. package/Libraries/Components/View/ReactNativeViewAttributes.js +0 -60
  426. package/Libraries/Components/View/ReactNativeViewAttributes.windows.js +0 -64
  427. package/Libraries/Image/TextInlineImageNativeComponent.js +0 -49
  428. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper_emptyimpl.cpp +0 -75
  429. package/Microsoft.ReactNative/Fabric/Composition/CompositionUIService_emptyimpl.cpp +0 -27
  430. package/Microsoft.ReactNative/Fabric/Composition/Theme_emptyimpl.cpp +0 -81
  431. package/Microsoft.ReactNative/Modules/CreateModules.cpp +0 -24
  432. package/Microsoft.ReactNative/ReactSupport.cpp +0 -221
  433. package/Microsoft.ReactNative/ReactSupport.h +0 -13
  434. package/Microsoft.ReactNative/Utils/UwpPreparedScriptStore.cpp +0 -107
  435. package/Microsoft.ReactNative/Utils/UwpPreparedScriptStore.h +0 -62
  436. package/Microsoft.ReactNative/Utils/UwpScriptStore.cpp +0 -56
  437. package/Microsoft.ReactNative/Utils/UwpScriptStore.h +0 -23
  438. package/Microsoft.ReactNative/XamlUIService.cpp +0 -68
  439. package/Microsoft.ReactNative/XamlUIService.h +0 -37
  440. package/Microsoft.ReactNative/XamlUIService.idl +0 -53
  441. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/CxxNativeModule.cpp +0 -259
  442. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/Instance.cpp +0 -381
  443. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/JSIndexedRAMBundle.cpp +0 -145
  444. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/MethodCall.cpp +0 -100
  445. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/ModuleRegistry.cpp +0 -256
  446. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/NativeToJsBridge.cpp +0 -363
  447. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/RAMBundleRegistry.cpp +0 -93
  448. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/ReactMarker.cpp +0 -148
  449. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/TraceSection.h +0 -190
  450. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsiexecutor/jsireact/JSINativeModules.cpp +0 -123
  451. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleWithJSIBindings.cpp +0 -27
  452. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/webperformance/NativePerformance.cpp +0 -414
  453. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/text/platform/android/react/renderer/components/text/ParagraphState.h +0 -91
  454. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/EventDispatcher.cpp +0 -80
  455. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/EventQueueProcessor.cpp +0 -138
  456. package/fmt/.clang-format +0 -2
  457. package/fmt/cgmanifest.json +0 -15
  458. package/fmt/fmt.vcxproj +0 -153
  459. package/fmt/fmt.vcxproj.filters +0 -59
  460. package/fmt/pch.cpp +0 -4
  461. package/fmt/pch.h +0 -2
@@ -1,414 +0,0 @@
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
-
9
- #if _MSC_VER
10
- #pragma warning(push)
11
- #pragma warning(disable : 4996) // deprecated APIs
12
- #endif
13
- #include "NativePerformance.h"
14
-
15
- #include <memory>
16
- #include <unordered_map>
17
- #include <variant>
18
-
19
- #include <cxxreact/JSExecutor.h>
20
- #include <cxxreact/ReactMarker.h>
21
- #include <jsi/JSIDynamic.h>
22
- #include <jsi/instrumentation.h>
23
- #include <react/performance/timeline/PerformanceEntryReporter.h>
24
- #include <react/performance/timeline/PerformanceObserver.h>
25
-
26
- #include "NativePerformance.h"
27
-
28
- #ifdef RN_DISABLE_OSS_PLUGIN_HEADER
29
- #include "Plugins.h"
30
- #endif
31
-
32
- std::shared_ptr<facebook::react::TurboModule> NativePerformanceModuleProvider(
33
- std::shared_ptr<facebook::react::CallInvoker> jsInvoker) {
34
- return std::make_shared<facebook::react::NativePerformance>(
35
- std::move(jsInvoker));
36
- }
37
-
38
- namespace facebook::react {
39
-
40
- namespace {
41
-
42
- class PerformanceObserverWrapper : public jsi::NativeState {
43
- public:
44
- explicit PerformanceObserverWrapper(
45
- const std::shared_ptr<PerformanceObserver> observer)
46
- : observer(observer) {}
47
-
48
- const std::shared_ptr<PerformanceObserver> observer;
49
- };
50
-
51
- void sortEntries(std::vector<PerformanceEntry>& entries) {
52
- return std::stable_sort(
53
- entries.begin(), entries.end(), PerformanceEntrySorter{});
54
- }
55
-
56
- NativePerformanceEntry toNativePerformanceEntry(const PerformanceEntry& entry) {
57
- auto nativeEntry = std::visit(
58
- [](const auto& entryData) -> NativePerformanceEntry {
59
- return {
60
- .name = entryData.name,
61
- .entryType = entryData.entryType,
62
- .startTime = entryData.startTime,
63
- .duration = entryData.duration,
64
- };
65
- },
66
- entry);
67
-
68
- if (std::holds_alternative<PerformanceEventTiming>(entry)) {
69
- auto eventEntry = std::get<PerformanceEventTiming>(entry);
70
- nativeEntry.processingStart = eventEntry.processingStart;
71
- nativeEntry.processingEnd = eventEntry.processingEnd;
72
- nativeEntry.interactionId = eventEntry.interactionId;
73
- }
74
- if (std::holds_alternative<PerformanceResourceTiming>(entry)) {
75
- auto resourceEntry = std::get<PerformanceResourceTiming>(entry);
76
- nativeEntry.fetchStart = resourceEntry.fetchStart;
77
- nativeEntry.requestStart = resourceEntry.requestStart;
78
- nativeEntry.connectStart = resourceEntry.connectStart;
79
- nativeEntry.connectEnd = resourceEntry.connectEnd;
80
- nativeEntry.responseStart = resourceEntry.responseStart;
81
- nativeEntry.responseEnd = resourceEntry.responseEnd;
82
- nativeEntry.responseStatus = resourceEntry.responseStatus;
83
- nativeEntry.contentType = resourceEntry.contentType;
84
- nativeEntry.encodedBodySize = resourceEntry.encodedBodySize;
85
- nativeEntry.decodedBodySize = resourceEntry.decodedBodySize;
86
- }
87
-
88
- return nativeEntry;
89
- }
90
-
91
- std::vector<NativePerformanceEntry> toNativePerformanceEntries(
92
- std::vector<PerformanceEntry>& entries) {
93
- std::vector<NativePerformanceEntry> result;
94
- result.reserve(entries.size());
95
-
96
- for (auto& entry : entries) {
97
- result.emplace_back(toNativePerformanceEntry(entry));
98
- }
99
-
100
- return result;
101
- }
102
-
103
- const std::array<PerformanceEntryType, 2> ENTRY_TYPES_AVAILABLE_FROM_TIMELINE{
104
- {PerformanceEntryType::MARK, PerformanceEntryType::MEASURE}};
105
-
106
- bool isAvailableFromTimeline(PerformanceEntryType entryType) {
107
- return entryType == PerformanceEntryType::MARK ||
108
- entryType == PerformanceEntryType::MEASURE;
109
- }
110
-
111
- std::shared_ptr<PerformanceObserver> tryGetObserver(
112
- jsi::Runtime& rt,
113
- jsi::Object& observerObj) {
114
- if (!observerObj.hasNativeState(rt)) {
115
- return nullptr;
116
- }
117
-
118
- auto observerWrapper = std::dynamic_pointer_cast<PerformanceObserverWrapper>(
119
- observerObj.getNativeState(rt));
120
- return observerWrapper ? observerWrapper->observer : nullptr;
121
- }
122
-
123
- PerformanceEntryReporter::UserTimingDetailProvider getDetailProviderFromEntry(
124
- jsi::Runtime& rt,
125
- jsi::Value& entry) {
126
- return [&rt, &entry]() -> folly::dynamic {
127
- try {
128
- auto detail = entry.asObject(rt).getProperty(rt, "detail");
129
- return jsi::dynamicFromValue(rt, detail);
130
- } catch (jsi::JSIException&) {
131
- return nullptr;
132
- }
133
- };
134
- }
135
-
136
- } // namespace
137
-
138
- NativePerformance::NativePerformance(std::shared_ptr<CallInvoker> jsInvoker)
139
- : NativePerformanceCxxSpec(std::move(jsInvoker)) {}
140
-
141
- HighResTimeStamp NativePerformance::now(jsi::Runtime& /*rt*/) {
142
- // This is not spec-compliant, as this is the duration from system boot to
143
- // now, instead of from app startup to now.
144
- // This should be carefully changed eventually.
145
- return HighResTimeStamp::now();
146
- }
147
-
148
- HighResDuration NativePerformance::timeOrigin(jsi::Runtime& /*rt*/) {
149
- // This is not spec-compliant, as this is an approximation from Unix epoch to
150
- // system boot, instead of a precise duration from Unix epoch to app startup.
151
- return HighResTimeStamp::unsafeOriginFromUnixTimeStamp();
152
- }
153
-
154
- void NativePerformance::reportMark(
155
- jsi::Runtime& rt,
156
- const std::string& name,
157
- HighResTimeStamp startTime,
158
- jsi::Value entry) {
159
- PerformanceEntryReporter::getInstance()->reportMark(
160
- name, startTime, getDetailProviderFromEntry(rt, entry));
161
- }
162
-
163
- void NativePerformance::reportMeasure(
164
- jsi::Runtime& rt,
165
- const std::string& name,
166
- HighResTimeStamp startTime,
167
- HighResDuration duration,
168
- jsi::Value entry) {
169
- PerformanceEntryReporter::getInstance()->reportMeasure(
170
- name, startTime, duration, getDetailProviderFromEntry(rt, entry));
171
- }
172
-
173
- std::optional<double> NativePerformance::getMarkTime(
174
- jsi::Runtime& /*rt*/,
175
- const std::string& name) {
176
- auto markTime = PerformanceEntryReporter::getInstance()->getMarkTime(name);
177
- return markTime ? std::optional{(*markTime).toDOMHighResTimeStamp()}
178
- : std::nullopt;
179
- }
180
-
181
- void NativePerformance::clearMarks(
182
- jsi::Runtime& /*rt*/,
183
- std::optional<std::string> entryName) {
184
- if (entryName) {
185
- PerformanceEntryReporter::getInstance()->clearEntries(
186
- PerformanceEntryType::MARK, *entryName);
187
- } else {
188
- PerformanceEntryReporter::getInstance()->clearEntries(
189
- PerformanceEntryType::MARK);
190
- }
191
- }
192
-
193
- void NativePerformance::clearMeasures(
194
- jsi::Runtime& /*rt*/,
195
- std::optional<std::string> entryName) {
196
- if (entryName) {
197
- PerformanceEntryReporter::getInstance()->clearEntries(
198
- PerformanceEntryType::MEASURE, *entryName);
199
- } else {
200
- PerformanceEntryReporter::getInstance()->clearEntries(
201
- PerformanceEntryType::MEASURE);
202
- }
203
- }
204
-
205
- std::vector<NativePerformanceEntry> NativePerformance::getEntries(
206
- jsi::Runtime& /*rt*/) {
207
- std::vector<PerformanceEntry> entries;
208
-
209
- for (auto entryType : ENTRY_TYPES_AVAILABLE_FROM_TIMELINE) {
210
- PerformanceEntryReporter::getInstance()->getEntries(entries, entryType);
211
- }
212
-
213
- sortEntries(entries);
214
-
215
- return toNativePerformanceEntries(entries);
216
- }
217
-
218
- std::vector<NativePerformanceEntry> NativePerformance::getEntriesByName(
219
- jsi::Runtime& /*rt*/,
220
- const std::string& entryName,
221
- std::optional<PerformanceEntryType> entryType) {
222
- std::vector<PerformanceEntry> entries;
223
-
224
- if (entryType) {
225
- if (isAvailableFromTimeline(*entryType)) {
226
- PerformanceEntryReporter::getInstance()->getEntries(
227
- entries, *entryType, entryName);
228
- }
229
- } else {
230
- for (auto type : ENTRY_TYPES_AVAILABLE_FROM_TIMELINE) {
231
- PerformanceEntryReporter::getInstance()->getEntries(
232
- entries, type, entryName);
233
- }
234
- }
235
-
236
- sortEntries(entries);
237
-
238
- return toNativePerformanceEntries(entries);
239
- }
240
-
241
- std::vector<NativePerformanceEntry> NativePerformance::getEntriesByType(
242
- jsi::Runtime& /*rt*/,
243
- PerformanceEntryType entryType) {
244
- std::vector<PerformanceEntry> entries;
245
-
246
- if (isAvailableFromTimeline(entryType)) {
247
- PerformanceEntryReporter::getInstance()->getEntries(entries, entryType);
248
- }
249
-
250
- sortEntries(entries);
251
-
252
- return toNativePerformanceEntries(entries);
253
- }
254
-
255
- std::vector<std::pair<std::string, uint32_t>> NativePerformance::getEventCounts(
256
- jsi::Runtime& /*rt*/) {
257
- const auto& eventCounts =
258
- PerformanceEntryReporter::getInstance()->getEventCounts();
259
- return {eventCounts.begin(), eventCounts.end()};
260
- }
261
-
262
- std::unordered_map<std::string, double> NativePerformance::getSimpleMemoryInfo(
263
- jsi::Runtime& rt) {
264
- auto heapInfo = rt.instrumentation().getHeapInfo(false);
265
- std::unordered_map<std::string, double> heapInfoToJs;
266
- for (auto& entry : heapInfo) {
267
- heapInfoToJs[entry.first] = static_cast<double>(entry.second);
268
- }
269
- return heapInfoToJs;
270
- }
271
-
272
- std::unordered_map<std::string, double>
273
- NativePerformance::getReactNativeStartupTiming(jsi::Runtime& /*rt*/) {
274
- std::unordered_map<std::string, double> result;
275
-
276
- ReactMarker::StartupLogger& startupLogger =
277
- ReactMarker::StartupLogger::getInstance();
278
- if (!std::isnan(startupLogger.getAppStartupStartTime())) {
279
- result["startTime"] = startupLogger.getAppStartupStartTime();
280
- } else if (!std::isnan(startupLogger.getInitReactRuntimeStartTime())) {
281
- result["startTime"] = startupLogger.getInitReactRuntimeStartTime();
282
- }
283
-
284
- if (!std::isnan(startupLogger.getInitReactRuntimeStartTime())) {
285
- result["initializeRuntimeStart"] =
286
- startupLogger.getInitReactRuntimeStartTime();
287
- }
288
-
289
- if (!std::isnan(startupLogger.getRunJSBundleStartTime())) {
290
- result["executeJavaScriptBundleEntryPointStart"] =
291
- startupLogger.getRunJSBundleStartTime();
292
- }
293
-
294
- if (!std::isnan(startupLogger.getAppStartupEndTime())) {
295
- result["endTime"] = startupLogger.getAppStartupEndTime();
296
- }
297
-
298
- return result;
299
- }
300
-
301
- jsi::Object NativePerformance::createObserver(
302
- jsi::Runtime& rt,
303
- NativePerformancePerformanceObserverCallback callback) {
304
- // The way we dispatch performance observer callbacks is a bit different from
305
- // the spec. The specification requires us to queue a single task that
306
- // dispatches observer callbacks. Instead, we are queuing all callbacks as
307
- // separate tasks in the scheduler.
308
- PerformanceObserverCallback cb = [callback = std::move(callback)]() {
309
- callback.callWithPriority(SchedulerPriority::IdlePriority);
310
- };
311
-
312
- auto& registry =
313
- PerformanceEntryReporter::getInstance()->getObserverRegistry();
314
-
315
- auto observer = PerformanceObserver::create(registry, std::move(cb));
316
- auto observerWrapper = std::make_shared<PerformanceObserverWrapper>(observer);
317
- jsi::Object observerObj{rt};
318
- observerObj.setNativeState(rt, observerWrapper);
319
- return observerObj;
320
- }
321
-
322
- double NativePerformance::getDroppedEntriesCount(
323
- jsi::Runtime& rt,
324
- jsi::Object observerObj) {
325
- auto observer = tryGetObserver(rt, observerObj);
326
-
327
- if (!observer) {
328
- return 0;
329
- }
330
-
331
- return observer->getDroppedEntriesCount();
332
- }
333
-
334
- void NativePerformance::observe(
335
- jsi::Runtime& rt,
336
- jsi::Object observerObj,
337
- NativePerformancePerformanceObserverObserveOptions options) {
338
- auto observer = tryGetObserver(rt, observerObj);
339
-
340
- if (!observer) {
341
- return;
342
- }
343
-
344
- auto durationThreshold =
345
- options.durationThreshold.value_or(HighResDuration::zero());
346
-
347
- // observer of type multiple
348
- if (options.entryTypes.has_value()) {
349
- std::unordered_set<PerformanceEntryType> entryTypes;
350
- auto rawTypes = options.entryTypes.value();
351
-
352
- for (auto rawType : rawTypes) {
353
- entryTypes.insert(Bridging<PerformanceEntryType>::fromJs(rt, rawType));
354
- }
355
-
356
- observer->observe(entryTypes);
357
- } else { // single
358
- auto buffered = options.buffered.value_or(false);
359
- if (options.type.has_value()) {
360
- observer->observe(
361
- static_cast<PerformanceEntryType>(options.type.value()),
362
- {.buffered = buffered, .durationThreshold = durationThreshold});
363
- }
364
- }
365
- }
366
-
367
- void NativePerformance::disconnect(jsi::Runtime& rt, jsi::Object observerObj) {
368
- auto observerWrapper = std::dynamic_pointer_cast<PerformanceObserverWrapper>(
369
- observerObj.getNativeState(rt));
370
-
371
- if (!observerWrapper) {
372
- return;
373
- }
374
-
375
- auto observer = observerWrapper->observer;
376
- observer->disconnect();
377
- }
378
-
379
- std::vector<NativePerformanceEntry> NativePerformance::takeRecords(
380
- jsi::Runtime& rt,
381
- jsi::Object observerObj,
382
- bool sort) {
383
- auto observerWrapper = std::dynamic_pointer_cast<PerformanceObserverWrapper>(
384
- observerObj.getNativeState(rt));
385
-
386
- if (!observerWrapper) {
387
- return {};
388
- }
389
-
390
- auto observer = observerWrapper->observer;
391
- auto records = observer->takeRecords();
392
- if (sort) {
393
- sortEntries(records);
394
- }
395
- return toNativePerformanceEntries(records);
396
- }
397
-
398
- std::vector<PerformanceEntryType>
399
- NativePerformance::getSupportedPerformanceEntryTypes(jsi::Runtime& /*rt*/) {
400
- auto supportedEntryTypes = PerformanceEntryReporter::getSupportedEntryTypes();
401
- return {supportedEntryTypes.begin(), supportedEntryTypes.end()};
402
- }
403
-
404
- #pragma mark - Testing
405
-
406
- void NativePerformance::clearEventCountsForTesting(jsi::Runtime& /*rt*/) {
407
- PerformanceEntryReporter::getInstance()->clearEventCounts();
408
- }
409
-
410
- } // namespace facebook::react
411
-
412
- #if _MSC_VER
413
- #pragma warning(pop)
414
- #endif
@@ -1,91 +0,0 @@
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
- #pragma once
9
-
10
- #include <react/debug/react_native_assert.h>
11
- #include <react/renderer/attributedstring/AttributedString.h>
12
- #include <react/renderer/attributedstring/ParagraphAttributes.h>
13
- #include <react/renderer/textlayoutmanager/TextLayoutManager.h>
14
- #include <react/renderer/textlayoutmanager/TextLayoutManagerExtended.h>
15
-
16
- //#include <fbjni/fbjni.h> // [windows #15020]
17
- #include <folly/dynamic.h>
18
- #include <react/renderer/mapbuffer/MapBuffer.h>
19
-
20
- #include <utility>
21
-
22
- namespace facebook::react {
23
-
24
- // constants for Text State serialization
25
- constexpr static MapBuffer::Key TX_STATE_KEY_ATTRIBUTED_STRING = 0;
26
- constexpr static MapBuffer::Key TX_STATE_KEY_PARAGRAPH_ATTRIBUTES = 1;
27
- // Used for TextInput only
28
- constexpr static MapBuffer::Key TX_STATE_KEY_HASH = 2;
29
- constexpr static MapBuffer::Key TX_STATE_KEY_MOST_RECENT_EVENT_COUNT = 3;
30
-
31
- /*
32
- * State for <Paragraph> component.
33
- * Represents what to render and how to render.
34
- */
35
- class ParagraphState final {
36
- public:
37
- /*
38
- * All content of <Paragraph> component represented as an `AttributedString`.
39
- */
40
- AttributedString attributedString;
41
-
42
- /*
43
- * Represents all visual attributes of a paragraph of text represented as
44
- * a ParagraphAttributes.
45
- */
46
- ParagraphAttributes paragraphAttributes;
47
-
48
- /*
49
- * `TextLayoutManager` provides a connection to platform-specific
50
- * text rendering infrastructure which is capable to render the
51
- * `AttributedString`.
52
- */
53
- std::weak_ptr<const TextLayoutManager> layoutManager;
54
-
55
- /**
56
- * A fully prepared representation of a text layout to mount
57
- */
58
- MeasuredPreparedLayout measuredLayout;
59
-
60
- ParagraphState(
61
- AttributedString attributedString,
62
- ParagraphAttributes paragraphAttributes,
63
- std::weak_ptr<const TextLayoutManager> layoutManager,
64
- MeasuredPreparedLayout measuredLayout)
65
- : attributedString(std::move(attributedString)),
66
- paragraphAttributes(std::move(paragraphAttributes)),
67
- layoutManager(std::move(layoutManager)),
68
- measuredLayout(std::move(measuredLayout))
69
- {
70
- }
71
-
72
- ParagraphState(
73
- AttributedString attributedString,
74
- ParagraphAttributes paragraphAttributes,
75
- std::weak_ptr<const TextLayoutManager> layoutManager)
76
- : ParagraphState(std::move(attributedString), std::move(paragraphAttributes), std::move(layoutManager), {})
77
- {
78
- }
79
-
80
- ParagraphState() = default;
81
- ParagraphState(const ParagraphState & /*previousState*/, const folly::dynamic & /*data*/)
82
- {
83
- react_native_assert(false && "Not supported");
84
- };
85
-
86
- folly::dynamic getDynamic() const;
87
- MapBuffer getMapBuffer() const;
88
- //jni::local_ref<jobject> getJNIReference() const; // [windows #15020]
89
- };
90
-
91
- } // namespace facebook::react
@@ -1,80 +0,0 @@
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
-
9
- #if _MSC_VER
10
- #pragma warning(push)
11
- #pragma warning(disable : 4996) // deprecated APIs
12
- #endif
13
- #include "EventDispatcher.h"
14
- #include <react/renderer/core/StateUpdate.h>
15
-
16
- #include "EventQueue.h"
17
- #include "RawEvent.h"
18
-
19
- namespace facebook::react {
20
-
21
- EventDispatcher::EventDispatcher(
22
- const EventQueueProcessor& eventProcessor,
23
- std::unique_ptr<EventBeat> eventBeat,
24
- StatePipe statePipe,
25
- std::weak_ptr<EventLogger> eventLogger)
26
- : eventQueue_(EventQueue(eventProcessor, std::move(eventBeat))),
27
- statePipe_(std::move(statePipe)),
28
- eventLogger_(std::move(eventLogger)) {}
29
-
30
- void EventDispatcher::dispatchEvent(RawEvent&& rawEvent) const {
31
- // Allows the event listener to interrupt default event dispatch
32
- if (eventListeners_.willDispatchEvent(rawEvent)) {
33
- return;
34
- }
35
-
36
- auto eventLogger = eventLogger_.lock();
37
- if (eventLogger != nullptr) {
38
- rawEvent.loggingTag = eventLogger->onEventStart(
39
- rawEvent.type, rawEvent.eventTarget, rawEvent.eventStartTimeStamp);
40
- }
41
- eventQueue_.enqueueEvent(std::move(rawEvent));
42
- }
43
-
44
- void EventDispatcher::experimental_flushSync() const {
45
- eventQueue_.experimental_flushSync();
46
- }
47
-
48
- void EventDispatcher::dispatchStateUpdate(
49
- StateUpdate&& stateUpdate,
50
- EventQueue::UpdateMode updateMode) const {
51
- eventQueue_.enqueueStateUpdate(std::move(stateUpdate), updateMode);
52
- }
53
-
54
- void EventDispatcher::dispatchUniqueEvent(RawEvent&& rawEvent) const {
55
- // Allows the event listener to interrupt default event dispatch
56
- if (eventListeners_.willDispatchEvent(rawEvent)) {
57
- return;
58
- }
59
-
60
- eventQueue_.enqueueUniqueEvent(std::move(rawEvent));
61
- }
62
-
63
- void EventDispatcher::addListener(
64
- std::shared_ptr<const EventListener> listener) const {
65
- eventListeners_.addListener(std::move(listener));
66
- }
67
-
68
- /*
69
- * Removes provided event listener to the event dispatcher.
70
- */
71
- void EventDispatcher::removeListener(
72
- const std::shared_ptr<const EventListener>& listener) const {
73
- eventListeners_.removeListener(listener);
74
- }
75
-
76
- } // namespace facebook::react
77
-
78
- #if _MSC_VER
79
- #pragma warning(pop)
80
- #endif