react-native-tvos 0.73.7-1 → 0.74.0-0

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 (1743) hide show
  1. package/Libraries/ActionSheetIOS/ActionSheetIOS.d.ts +6 -0
  2. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +6 -0
  3. package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +4 -45
  4. package/Libraries/Alert/NativeAlertManager.js +4 -26
  5. package/Libraries/Animated/Animated.js +2 -2
  6. package/Libraries/Animated/AnimatedPlatformConfig.js +1 -1
  7. package/Libraries/Animated/NativeAnimatedHelper.js +14 -11
  8. package/Libraries/Animated/NativeAnimatedModule.js +4 -68
  9. package/Libraries/Animated/NativeAnimatedTurboModule.js +4 -69
  10. package/Libraries/Animated/animations/Animation.js +6 -22
  11. package/Libraries/Animated/components/AnimatedFlatList.js +1 -16
  12. package/Libraries/Animated/components/AnimatedScrollView.js +36 -31
  13. package/Libraries/Animated/components/AnimatedSectionList.js +1 -20
  14. package/Libraries/Animated/createAnimatedComponent.js +45 -40
  15. package/Libraries/Animated/nodes/AnimatedStyle.js +1 -1
  16. package/Libraries/Animated/shouldUseTurboAnimatedModule.js +1 -1
  17. package/Libraries/Animated/useAnimatedProps.js +21 -1
  18. package/Libraries/AppDelegate/RCTAppDelegate.h +35 -16
  19. package/Libraries/AppDelegate/RCTAppDelegate.mm +122 -177
  20. package/Libraries/AppDelegate/RCTAppSetupUtils.h +8 -17
  21. package/Libraries/AppDelegate/RCTAppSetupUtils.mm +55 -41
  22. package/Libraries/AppDelegate/RCTRootViewFactory.h +133 -0
  23. package/Libraries/AppDelegate/RCTRootViewFactory.mm +270 -0
  24. package/Libraries/AppDelegate/React-RCTAppDelegate.podspec +15 -38
  25. package/Libraries/AppState/NativeAppState.js +4 -24
  26. package/Libraries/BatchedBridge/NativeModules.js +1 -1
  27. package/Libraries/Blob/Blob.js +1 -4
  28. package/Libraries/Blob/BlobManager.js +6 -8
  29. package/Libraries/Blob/File.js +1 -1
  30. package/Libraries/Blob/NativeBlobModule.js +4 -50
  31. package/Libraries/Blob/NativeFileReaderModule.js +4 -13
  32. package/Libraries/Blob/RCTBlobCollector.mm +1 -1
  33. package/Libraries/Blob/RCTBlobManager.h +4 -0
  34. package/Libraries/Blob/RCTBlobManager.mm +30 -4
  35. package/Libraries/Blob/RCTFileReaderModule.mm +2 -2
  36. package/Libraries/Blob/React-RCTBlob.podspec +9 -2
  37. package/Libraries/BugReporting/NativeBugReporting.js +4 -12
  38. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.js +3 -23
  39. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityManager.js +4 -57
  40. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.android.js +3 -2
  41. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +9 -40
  42. package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +3 -43
  43. package/Libraries/Components/Button.js +103 -107
  44. package/Libraries/Components/Clipboard/NativeClipboard.js +2 -24
  45. package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +3 -114
  46. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +1 -5
  47. package/Libraries/Components/Keyboard/NativeKeyboardObserver.js +3 -10
  48. package/Libraries/Components/Pressable/Pressable.js +1 -1
  49. package/Libraries/Components/Pressable/useAndroidRippleForView.js +5 -4
  50. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +4 -24
  51. package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +3 -64
  52. package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +3 -61
  53. package/Libraries/Components/RefreshControl/RefreshControl.js +1 -1
  54. package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +3 -15
  55. package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +3 -16
  56. package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +1 -1
  57. package/Libraries/Components/ScrollView/ScrollView.d.ts +5 -6
  58. package/Libraries/Components/ScrollView/ScrollView.js +12 -38
  59. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +1 -2
  60. package/Libraries/Components/Sound/NativeSoundManager.js +3 -12
  61. package/Libraries/Components/StatusBar/NativeStatusBarManagerAndroid.js +3 -58
  62. package/Libraries/Components/StatusBar/NativeStatusBarManagerIOS.js +3 -85
  63. package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +4 -53
  64. package/Libraries/Components/Switch/Switch.js +0 -2
  65. package/Libraries/Components/Switch/SwitchNativeComponent.js +4 -52
  66. package/Libraries/Components/TV/TVEventHandler.js +1 -1
  67. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +8 -0
  68. package/Libraries/Components/TextInput/InputAccessoryView.js +18 -20
  69. package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +4 -17
  70. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +3 -6
  71. package/Libraries/Components/TextInput/TextInput.d.ts +16 -0
  72. package/Libraries/Components/TextInput/TextInput.flow.js +16 -0
  73. package/Libraries/Components/TextInput/TextInput.js +65 -32
  74. package/Libraries/Components/ToastAndroid/NativeToastAndroid.js +3 -28
  75. package/Libraries/Components/Touchable/PooledClass.js +1 -1
  76. package/Libraries/Components/Touchable/Touchable.js +2 -3
  77. package/Libraries/Components/Touchable/TouchableHighlight.js +4 -4
  78. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +2 -1
  79. package/Libraries/Components/Touchable/TouchableOpacity.js +5 -2
  80. package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +3 -16
  81. package/Libraries/Components/View/ReactNativeStyleAttributes.js +2 -1
  82. package/Libraries/Components/View/View.js +0 -11
  83. package/Libraries/Components/View/ViewAccessibility.d.ts +33 -17
  84. package/Libraries/Components/View/ViewPropTypes.d.ts +28 -17
  85. package/Libraries/Components/View/ViewPropTypes.js +36 -36
  86. package/Libraries/Core/InitializeCore.js +1 -1
  87. package/Libraries/Core/NativeExceptionsManager.js +3 -93
  88. package/Libraries/Core/ReactNativeVersion.js +12 -6
  89. package/Libraries/Core/ReactNativeVersionCheck.js +6 -6
  90. package/Libraries/Core/SegmentFetcher/NativeSegmentFetcher.js +3 -18
  91. package/Libraries/Core/Timers/NativeTiming.js +3 -16
  92. package/Libraries/Core/registerCallableModule.d.ts +16 -0
  93. package/Libraries/Core/registerCallableModule.js +42 -0
  94. package/Libraries/Core/setUpPerformance.js +2 -2
  95. package/Libraries/Core/setUpPerformanceObserver.js +3 -1
  96. package/Libraries/Debugging/DebuggingOverlay.js +111 -0
  97. package/Libraries/Debugging/DebuggingOverlayNativeComponent.js +13 -0
  98. package/Libraries/Debugging/DebuggingOverlayRegistry.js +513 -0
  99. package/Libraries/Debugging/useSubscribeToDebuggingOverlayRegistry.js +32 -0
  100. package/Libraries/DevToolsSettings/NativeDevToolsSettingsManager.js +3 -14
  101. package/Libraries/HeapCapture/NativeJSCHeapCapture.js +3 -9
  102. package/Libraries/Image/AssetSourceResolver.js +5 -5
  103. package/Libraries/Image/AssetUtils.js +4 -5
  104. package/Libraries/Image/Image.android.js +146 -174
  105. package/Libraries/Image/Image.d.ts +1 -1
  106. package/Libraries/Image/Image.ios.js +53 -79
  107. package/Libraries/Image/Image.js.flow +3 -30
  108. package/Libraries/Image/ImageBackground.js +2 -2
  109. package/Libraries/Image/ImageInjection.js +76 -18
  110. package/Libraries/Image/ImageTypes.flow.js +71 -0
  111. package/Libraries/Image/ImageUtils.js +1 -1
  112. package/Libraries/Image/ImageViewNativeComponent.js +18 -0
  113. package/Libraries/Image/NativeImageEditor.js +3 -42
  114. package/Libraries/Image/NativeImageLoaderAndroid.js +4 -28
  115. package/Libraries/Image/NativeImageLoaderIOS.js +4 -28
  116. package/Libraries/Image/NativeImageStoreAndroid.js +3 -16
  117. package/Libraries/Image/NativeImageStoreIOS.js +3 -23
  118. package/Libraries/Image/RCTImageLoader.mm +4 -11
  119. package/Libraries/Image/RCTImageStoreManager.h +2 -0
  120. package/Libraries/Image/RCTImageStoreManager.mm +37 -10
  121. package/Libraries/Image/RCTUIImageViewAnimated.mm +0 -5
  122. package/Libraries/Image/React-RCTImage.podspec +3 -2
  123. package/Libraries/Image/resolveAssetSource.js +59 -26
  124. package/Libraries/Inspector/ElementProperties.js +26 -52
  125. package/Libraries/Inspector/Inspector.js +122 -186
  126. package/Libraries/Inspector/InspectorOverlay.js +21 -33
  127. package/Libraries/Inspector/InspectorPanel.js +3 -17
  128. package/Libraries/Inspector/ReactDevToolsOverlay.js +171 -0
  129. package/Libraries/Inspector/getInspectorDataForViewAtPoint.js +20 -8
  130. package/Libraries/Interaction/FrameRateLogger.js +8 -18
  131. package/Libraries/Interaction/NativeFrameRateLogger.js +4 -16
  132. package/Libraries/IntersectionObserver/IntersectionObserver.js +1 -1
  133. package/Libraries/IntersectionObserver/IntersectionObserverEntry.js +20 -19
  134. package/Libraries/IntersectionObserver/IntersectionObserverManager.js +84 -6
  135. package/Libraries/IntersectionObserver/NativeIntersectionObserver.h +6 -24
  136. package/Libraries/IntersectionObserver/NativeIntersectionObserver.js +3 -31
  137. package/Libraries/IntersectionObserver/__mocks__/NativeIntersectionObserver.js +12 -2
  138. package/Libraries/LayoutAnimation/LayoutAnimation.js +1 -2
  139. package/Libraries/Linking/NativeIntentAndroid.js +3 -20
  140. package/Libraries/Linking/NativeLinkingManager.js +3 -17
  141. package/Libraries/LinkingIOS/React-RCTLinking.podspec +3 -2
  142. package/Libraries/Lists/FillRateHelper.js +1 -1
  143. package/Libraries/Lists/FlatList.d.ts +2 -2
  144. package/Libraries/Lists/FlatList.js +6 -2
  145. package/Libraries/Lists/SectionList.d.ts +6 -1
  146. package/Libraries/Lists/ViewabilityHelper.js +1 -1
  147. package/Libraries/Lists/VirtualizeUtils.js +1 -1
  148. package/Libraries/Lists/VirtualizedList.js +1 -1
  149. package/Libraries/Lists/VirtualizedListContext.js +1 -1
  150. package/Libraries/Lists/VirtualizedSectionList.js +1 -1
  151. package/Libraries/LogBox/LogBoxInspectorContainer.js +1 -1
  152. package/Libraries/Modal/Modal.js +43 -11
  153. package/Libraries/Modal/NativeModalManager.js +3 -11
  154. package/Libraries/Modal/RCTModalHostViewNativeComponent.js +3 -129
  155. package/Libraries/MutationObserver/MutationObserver.js +1 -1
  156. package/Libraries/MutationObserver/MutationObserverManager.js +2 -2
  157. package/Libraries/MutationObserver/MutationRecord.js +12 -10
  158. package/Libraries/MutationObserver/NativeMutationObserver.cpp +2 -3
  159. package/Libraries/MutationObserver/NativeMutationObserver.h +8 -20
  160. package/Libraries/MutationObserver/NativeMutationObserver.js +3 -48
  161. package/Libraries/MutationObserver/__mocks__/NativeMutationObserver.js +1 -1
  162. package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.mm +116 -85
  163. package/Libraries/NativeAnimation/React-RCTAnimation.podspec +3 -2
  164. package/Libraries/NativeComponent/BaseViewConfig.android.js +4 -0
  165. package/Libraries/NativeComponent/BaseViewConfig.ios.js +3 -0
  166. package/Libraries/NativeComponent/NativeComponentRegistry.js +1 -1
  167. package/Libraries/NativeComponent/TVViewConfig.js +17 -0
  168. package/Libraries/NativeModules/specs/NativeAnimationsDebugModule.js +3 -10
  169. package/Libraries/NativeModules/specs/NativeDevMenu.js +3 -13
  170. package/Libraries/NativeModules/specs/NativeDevSettings.js +3 -23
  171. package/Libraries/NativeModules/specs/NativeDeviceEventManager.js +3 -9
  172. package/Libraries/NativeModules/specs/NativeDialogManagerAndroid.js +3 -38
  173. package/Libraries/NativeModules/specs/NativeLogBox.js +3 -10
  174. package/Libraries/NativeModules/specs/NativeRedBox.js +4 -11
  175. package/Libraries/NativeModules/specs/NativeSourceCode.js +2 -25
  176. package/Libraries/Network/FormData.js +3 -1
  177. package/Libraries/Network/NativeNetworkingAndroid.js +4 -28
  178. package/Libraries/Network/NativeNetworkingIOS.js +4 -28
  179. package/Libraries/Network/RCTHTTPRequestHandler.mm +2 -2
  180. package/Libraries/Network/RCTNetworkTask.mm +15 -1
  181. package/Libraries/Network/RCTNetworking.h +6 -0
  182. package/Libraries/Network/RCTNetworking.mm +84 -44
  183. package/Libraries/Network/React-RCTNetwork.podspec +3 -2
  184. package/Libraries/Performance/NativeJSCSamplingProfiler.js +3 -9
  185. package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +4 -68
  186. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +3 -3
  187. package/Libraries/Pressability/Pressability.js +12 -2
  188. package/Libraries/Pressability/usePressability.js +7 -0
  189. package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +4 -70
  190. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +45 -39
  191. package/Libraries/PushNotificationIOS/RCTPushNotificationManager.h +34 -5
  192. package/Libraries/PushNotificationIOS/RCTPushNotificationManager.mm +283 -231
  193. package/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +3 -2
  194. package/Libraries/ReactNative/AppContainer-dev.js +217 -0
  195. package/Libraries/ReactNative/AppContainer-prod.js +53 -0
  196. package/Libraries/ReactNative/AppContainer.js +6 -149
  197. package/Libraries/ReactNative/AppRegistry.js +3 -1
  198. package/Libraries/ReactNative/BridgelessUIManager.js +375 -128
  199. package/Libraries/ReactNative/FabricUIManager.js +6 -0
  200. package/Libraries/ReactNative/NativeHeadlessJsTaskSupport.js +3 -10
  201. package/Libraries/ReactNative/NativeI18nManager.js +3 -18
  202. package/Libraries/ReactNative/NativeUIManager.js +4 -112
  203. package/Libraries/ReactNative/PaperUIManager.js +8 -7
  204. package/Libraries/ReactNative/ReactFabricInternals.js +1 -1
  205. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +24 -5
  206. package/Libraries/ReactNative/ReactNativeFeatureFlags.js +0 -45
  207. package/Libraries/ReactNative/RendererImplementation.js +11 -0
  208. package/Libraries/ReactNative/UIManager.d.ts +11 -34
  209. package/Libraries/ReactNative/UIManager.js +2 -23
  210. package/Libraries/ReactNative/UIManagerProperties.js +0 -2
  211. package/Libraries/ReactNative/__mocks__/FabricUIManager.js +23 -1
  212. package/Libraries/ReactNative/getNativeComponentAttributes.js +5 -1
  213. package/Libraries/ReactNative/renderApplication.js +9 -6
  214. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +6 -1
  215. package/Libraries/Renderer/implementations/ReactFabric-dev.js +24771 -21123
  216. package/Libraries/Renderer/implementations/ReactFabric-prod.js +4160 -3109
  217. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +4384 -3322
  218. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +25194 -21398
  219. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +3763 -2636
  220. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +4027 -2867
  221. package/Libraries/Renderer/shims/ReactNativeTypes.js +8 -9
  222. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +7 -12
  223. package/Libraries/Settings/NativeSettingsManager.js +4 -16
  224. package/Libraries/Settings/React-RCTSettings.podspec +3 -2
  225. package/Libraries/Share/NativeShareModule.js +3 -13
  226. package/Libraries/StyleSheet/StyleSheet.d.ts +1 -20
  227. package/Libraries/StyleSheet/StyleSheet.js +5 -28
  228. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +51 -7
  229. package/Libraries/StyleSheet/StyleSheetTypes.js +19 -11
  230. package/Libraries/StyleSheet/flattenStyle.js +2 -2
  231. package/Libraries/StyleSheet/normalizeColor.js +1 -1
  232. package/Libraries/StyleSheet/processAspectRatio.js +1 -1
  233. package/Libraries/StyleSheet/processFontVariant.js +1 -1
  234. package/Libraries/Text/Text/RCTTextShadowView.mm +1 -1
  235. package/Libraries/Text/Text/RCTTextView.mm +35 -11
  236. package/Libraries/Text/Text.js +0 -6
  237. package/Libraries/Text/TextAncestor.js +2 -3
  238. package/Libraries/Text/TextInput/RCTBaseTextInputShadowView.mm +1 -1
  239. package/Libraries/Text/TextInput/RCTBaseTextInputViewManager.mm +1 -1
  240. package/Libraries/Text/TextInput/RCTInputAccessoryViewManager.mm +0 -5
  241. package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +4 -41
  242. package/Libraries/Types/ReactDevToolsTypes.js +58 -0
  243. package/Libraries/Types/UIManagerJSInterface.js +16 -0
  244. package/Libraries/Utilities/DebugEnvironment.js +1 -4
  245. package/Libraries/Utilities/Dimensions.js +8 -16
  246. package/Libraries/Utilities/GlobalPerformanceLogger.js +1 -2
  247. package/Libraries/Utilities/NativeAppearance.js +3 -26
  248. package/Libraries/Utilities/NativeDevLoadingView.js +3 -14
  249. package/Libraries/Utilities/NativeDeviceInfo.js +2 -47
  250. package/Libraries/Utilities/NativePlatformConstantsAndroid.js +3 -34
  251. package/Libraries/Utilities/NativePlatformConstantsIOS.js +3 -26
  252. package/Libraries/Utilities/PixelRatio.d.ts +4 -4
  253. package/Libraries/Utilities/Platform.android.js +4 -0
  254. package/Libraries/Utilities/Platform.d.ts +3 -0
  255. package/Libraries/Utilities/Platform.flow.js +7 -0
  256. package/Libraries/Utilities/Platform.ios.js +11 -0
  257. package/Libraries/Utilities/binaryToBase64.js +1 -1
  258. package/Libraries/Utilities/codegenNativeComponent.js +4 -6
  259. package/Libraries/Utilities/createPerformanceLogger.js +2 -74
  260. package/Libraries/Utilities/useMergeRefs.js +5 -9
  261. package/Libraries/Vibration/NativeVibration.js +2 -27
  262. package/Libraries/Vibration/React-RCTVibration.podspec +3 -2
  263. package/Libraries/Vibration/Vibration.js +8 -2
  264. package/Libraries/WebSocket/NativeWebSocketModule.js +4 -25
  265. package/Libraries/YellowBox/YellowBoxDeprecated.js +1 -1
  266. package/Libraries/vendor/emitter/EventEmitter.js +1 -0
  267. package/README.md +31 -11
  268. package/React/Base/RCTAssert.m +4 -4
  269. package/React/Base/RCTBridge+Inspector.h +30 -0
  270. package/React/Base/RCTBridge+Private.h +0 -6
  271. package/React/Base/RCTBridge.h +32 -13
  272. package/React/Base/RCTBridge.mm +113 -2
  273. package/React/Base/RCTBridgeDelegate.h +5 -1
  274. package/React/Base/RCTBridgeModule.h +24 -32
  275. package/React/Base/RCTBridgeProxy+Cxx.h +20 -0
  276. package/React/Base/RCTBridgeProxy.h +9 -1
  277. package/React/Base/RCTBridgeProxy.mm +40 -15
  278. package/React/Base/RCTBundleURLProvider.h +35 -46
  279. package/React/Base/RCTBundleURLProvider.mm +0 -34
  280. package/React/Base/RCTConstants.h +0 -12
  281. package/React/Base/RCTConstants.m +0 -31
  282. package/React/Base/RCTConvert.h +5 -2
  283. package/React/Base/{RCTConvert.m → RCTConvert.mm} +18 -8
  284. package/React/Base/RCTDefines.h +3 -3
  285. package/React/Base/RCTKeyCommands.m +12 -1
  286. package/React/Base/RCTModuleData.mm +0 -14
  287. package/React/Base/RCTRuntimeExecutorModule.h +18 -0
  288. package/React/Base/RCTUtils.h +9 -0
  289. package/React/Base/RCTUtils.m +37 -10
  290. package/React/Base/RCTVersion.m +5 -5
  291. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.h +9 -0
  292. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.mm +25 -0
  293. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingView.h +7 -0
  294. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingView.mm +17 -2
  295. package/React/CoreModules/RCTActionSheetManager.mm +140 -140
  296. package/React/CoreModules/RCTAlertController.mm +3 -26
  297. package/React/CoreModules/RCTAlertManager.mm +94 -93
  298. package/React/CoreModules/RCTAppState.mm +2 -6
  299. package/React/CoreModules/RCTAppearance.mm +1 -9
  300. package/React/CoreModules/RCTDevLoadingView.mm +6 -9
  301. package/React/CoreModules/RCTDevMenu.h +2 -0
  302. package/React/CoreModules/RCTDevMenu.mm +37 -19
  303. package/React/CoreModules/RCTDevSettings.mm +11 -5
  304. package/React/CoreModules/RCTDeviceInfo.mm +15 -16
  305. package/React/CoreModules/RCTPerfMonitor.mm +2 -14
  306. package/React/CoreModules/RCTPlatform.mm +19 -12
  307. package/React/CoreModules/RCTRedBox.mm +130 -111
  308. package/React/CoreModules/RCTStatusBarManager.mm +30 -22
  309. package/React/CoreModules/RCTTVNavigationEventEmitter.mm +1 -4
  310. package/React/CoreModules/RCTTiming.mm +18 -1
  311. package/React/CoreModules/React-CoreModules.podspec +10 -3
  312. package/React/CxxBridge/RCTCxxBridge.mm +24 -13
  313. package/React/DevSupport/RCTInspectorDevServerHelper.h +2 -1
  314. package/React/DevSupport/RCTInspectorDevServerHelper.mm +26 -5
  315. package/React/Fabric/Mounting/ComponentViews/ActivityIndicator/RCTActivityIndicatorViewComponentView.mm +1 -1
  316. package/React/Fabric/Mounting/ComponentViews/DebuggingOverlay/RCTDebuggingOverlayComponentView.h +16 -0
  317. package/React/Fabric/Mounting/ComponentViews/DebuggingOverlay/RCTDebuggingOverlayComponentView.mm +73 -0
  318. package/React/Fabric/Mounting/ComponentViews/Image/RCTImageComponentView.mm +8 -10
  319. package/React/Fabric/Mounting/ComponentViews/InputAccessory/RCTInputAccessoryComponentView.mm +1 -2
  320. package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropComponentView.h +6 -0
  321. package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropComponentView.mm +60 -14
  322. package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropCoordinatorAdapter.mm +93 -3
  323. package/React/Fabric/Mounting/ComponentViews/Modal/RCTFabricModalHostViewController.mm +2 -2
  324. package/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm +6 -4
  325. package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.h +1 -0
  326. package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.mm +1 -0
  327. package/React/Fabric/Mounting/ComponentViews/Root/RCTRootComponentView.mm +2 -5
  328. package/React/Fabric/Mounting/ComponentViews/SafeAreaView/RCTSafeAreaViewComponentView.mm +1 -2
  329. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTPullToRefreshViewComponentView.mm +1 -2
  330. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +30 -8
  331. package/React/Fabric/Mounting/ComponentViews/Switch/RCTSwitchComponentView.mm +1 -2
  332. package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentView.mm +36 -14
  333. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +2 -3
  334. package/React/Fabric/Mounting/ComponentViews/UnimplementedComponent/RCTUnimplementedNativeComponentView.mm +1 -2
  335. package/React/Fabric/Mounting/ComponentViews/UnimplementedView/RCTUnimplementedViewComponentView.mm +1 -2
  336. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +72 -30
  337. package/React/Fabric/Mounting/RCTComponentViewClassDescriptor.h +5 -0
  338. package/React/Fabric/Mounting/RCTComponentViewDescriptor.h +1 -0
  339. package/React/Fabric/Mounting/RCTComponentViewFactory.mm +9 -17
  340. package/React/Fabric/Mounting/RCTComponentViewProtocol.h +2 -2
  341. package/React/Fabric/Mounting/RCTComponentViewRegistry.mm +1 -1
  342. package/React/Fabric/Mounting/RCTMountingManager.mm +3 -4
  343. package/React/Fabric/RCTConversions.h +2 -18
  344. package/React/Fabric/RCTSurfacePointerHandler.mm +6 -107
  345. package/React/Fabric/RCTSurfacePresenter.mm +2 -21
  346. package/{Libraries/AppDelegate/RCTLegacyInteropComponents.h → React/Inspector/RCTCxxInspectorPackagerConnection.h} +5 -6
  347. package/React/Inspector/RCTCxxInspectorPackagerConnection.mm +69 -0
  348. package/React/Inspector/RCTCxxInspectorPackagerConnectionDelegate.h +47 -0
  349. package/React/Inspector/RCTCxxInspectorPackagerConnectionDelegate.mm +48 -0
  350. package/React/Inspector/RCTCxxInspectorWebSocketAdapter.h +23 -0
  351. package/React/Inspector/RCTCxxInspectorWebSocketAdapter.mm +92 -0
  352. package/React/Inspector/RCTInspector.mm +2 -2
  353. package/React/Inspector/RCTInspectorPackagerConnection.h +4 -9
  354. package/React/Inspector/RCTInspectorPackagerConnection.m +2 -28
  355. package/React/Modules/RCTEventEmitter.h +0 -2
  356. package/React/Modules/RCTEventEmitter.m +0 -12
  357. package/React/Modules/RCTUIManager.h +32 -0
  358. package/React/Modules/RCTUIManager.m +87 -58
  359. package/React/React-RCTFabric.podspec +7 -5
  360. package/React/Tests/Text/RCTParagraphComponentViewTests.mm +24 -24
  361. package/React/UIUtils/RCTUIUtils.h +0 -4
  362. package/React/UIUtils/RCTUIUtils.m +1 -27
  363. package/React/Views/RCTComponentData.m +8 -9
  364. package/React/Views/RCTConvert+Transform.h +4 -1
  365. package/React/Views/RCTConvert+Transform.m +7 -0
  366. package/React/Views/{RCTTransformOrigin.h → RCTCursor.h} +4 -6
  367. package/React/Views/RCTDebuggingOverlay.h +27 -0
  368. package/React/Views/RCTDebuggingOverlay.m +122 -0
  369. package/{ReactCommon/hermes/executor/JSITracing.h → React/Views/RCTDebuggingOverlayManager.h} +3 -7
  370. package/React/Views/RCTDebuggingOverlayManager.m +64 -0
  371. package/React/Views/RCTModalHostViewController.m +2 -2
  372. package/React/Views/RCTModalHostViewManager.m +6 -1
  373. package/React/Views/RCTShadowView.m +7 -7
  374. package/React/Views/RCTView.h +3 -0
  375. package/React/Views/RCTView.m +31 -1
  376. package/React/Views/RCTViewManager.m +3 -9
  377. package/React/Views/RCTWrapperViewController.m +0 -1
  378. package/React/Views/ScrollView/RCTScrollView.m +3 -4
  379. package/React/Views/ScrollView/RCTScrollViewManager.m +2 -0
  380. package/React/Views/UIView+React.h +7 -1
  381. package/React/third-party.xcconfig +2 -2
  382. package/React-Core.podspec +11 -6
  383. package/ReactAndroid/api/ReactAndroid.api +7700 -0
  384. package/ReactAndroid/build.gradle.kts +815 -0
  385. package/ReactAndroid/cmake-utils/ReactNative-application.cmake +19 -1
  386. package/ReactAndroid/cmake-utils/default-app-setup/OnLoad.cpp +35 -7
  387. package/ReactAndroid/external-artifacts/build.gradle.kts +1 -1
  388. package/ReactAndroid/gradle.properties +21 -2
  389. package/ReactAndroid/hermes-engine/build.gradle.kts +322 -0
  390. package/ReactAndroid/proguard-rules.pro +8 -1
  391. package/ReactAndroid/publish.gradle +3 -8
  392. package/ReactAndroid/src/main/AndroidManifest.xml +1 -1
  393. package/ReactAndroid/src/main/java/com/facebook/annotationprocessors/common/ProcessorBase.java +24 -0
  394. package/ReactAndroid/src/main/java/com/facebook/react/BaseReactPackage.java +159 -0
  395. package/ReactAndroid/src/main/java/com/facebook/react/CompositeReactPackage.java +9 -4
  396. package/ReactAndroid/src/main/java/com/facebook/react/CompositeReactPackageTurboModuleManagerDelegate.java +4 -1
  397. package/ReactAndroid/src/main/java/com/facebook/react/CoreModulesPackage.java +2 -3
  398. package/ReactAndroid/src/main/java/com/facebook/react/DebugCorePackage.java +6 -8
  399. package/ReactAndroid/src/main/java/com/facebook/react/EagerModuleProvider.java +1 -1
  400. package/ReactAndroid/src/main/java/com/facebook/react/{JSEngineResolutionAlgorithm.java → JSEngineResolutionAlgorithm.kt} +5 -6
  401. package/ReactAndroid/src/main/java/com/facebook/react/LazyReactPackage.java +3 -15
  402. package/ReactAndroid/src/main/java/com/facebook/react/MemoryPressureRouter.java +1 -1
  403. package/ReactAndroid/src/main/java/com/facebook/react/NativeModuleRegistryBuilder.java +3 -6
  404. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivity.java +7 -2
  405. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java +18 -43
  406. package/ReactAndroid/src/main/java/com/facebook/react/ReactApplication.kt +3 -6
  407. package/ReactAndroid/src/main/java/com/facebook/react/ReactDelegate.java +121 -19
  408. package/ReactAndroid/src/main/java/com/facebook/react/ReactFragment.java +2 -6
  409. package/ReactAndroid/src/main/java/com/facebook/react/ReactHost.kt +45 -18
  410. package/ReactAndroid/src/main/java/com/facebook/react/{ReactInstanceEventListener.java → ReactInstanceEventListener.kt} +4 -8
  411. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +61 -52
  412. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.java +38 -31
  413. package/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.java +19 -5
  414. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageHelper.java +6 -20
  415. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageTurboModuleManagerDelegate.java +44 -25
  416. package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +11 -34
  417. package/ReactAndroid/src/main/java/com/facebook/react/TurboReactPackage.java +3 -148
  418. package/ReactAndroid/src/main/java/com/facebook/react/animated/AnimatedNode.java +3 -1
  419. package/ReactAndroid/src/main/java/com/facebook/react/animated/AnimatedNodeValueListener.java +1 -1
  420. package/ReactAndroid/src/main/java/com/facebook/react/animated/AnimatedNodeWithUpdateableConfig.java +1 -1
  421. package/ReactAndroid/src/main/java/com/facebook/react/animated/DecayAnimation.java +3 -1
  422. package/ReactAndroid/src/main/java/com/facebook/react/animated/DiffClampAnimatedNode.java +3 -1
  423. package/ReactAndroid/src/main/java/com/facebook/react/animated/EventAnimationDriver.java +37 -9
  424. package/ReactAndroid/src/main/java/com/facebook/react/animated/ModulusAnimatedNode.java +3 -1
  425. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.java +1 -1
  426. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.java +27 -8
  427. package/ReactAndroid/src/main/java/com/facebook/react/animated/ObjectAnimatedNode.java +3 -1
  428. package/ReactAndroid/src/main/java/com/facebook/react/animated/SpringAnimation.java +3 -1
  429. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BaseJavaModule.java +61 -5
  430. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstance.java +25 -6
  431. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstanceImpl.java +81 -94
  432. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CxxModuleWrapper.java +0 -9
  433. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CxxModuleWrapperBase.java +0 -3
  434. package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicFromArray.java +1 -1
  435. package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicFromMap.java +1 -1
  436. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSIModule.java +1 -1
  437. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSIModuleHolder.java +2 -2
  438. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSIModuleRegistry.java +3 -3
  439. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSInstance.java +1 -1
  440. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaMethodWrapper.java +1 -1
  441. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaModuleWrapper.java +12 -15
  442. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ModuleHolder.java +3 -3
  443. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeArgumentsParseException.java +1 -1
  444. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeModule.java +13 -16
  445. package/ReactAndroid/src/main/java/com/facebook/react/bridge/PerformanceCounter.java +1 -1
  446. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +31 -6
  447. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContextBaseJavaModule.java +9 -48
  448. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactMarkerConstants.java +0 -2
  449. package/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManager.java +8 -3
  450. package/ReactAndroid/src/main/java/com/facebook/react/bridge/{UIManagerListener.java → UIManagerListener.kt} +6 -6
  451. package/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManagerProvider.kt +22 -0
  452. package/ReactAndroid/src/main/java/com/facebook/react/bridge/UiThreadUtil.java +22 -10
  453. package/ReactAndroid/src/main/java/com/facebook/react/bridge/interop/InteropModuleRegistry.java +1 -1
  454. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/MessageQueueThreadHandler.java +0 -11
  455. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/MessageQueueThreadImpl.java +1 -2
  456. package/ReactAndroid/src/main/java/com/facebook/react/common/DebugServerException.java +2 -0
  457. package/ReactAndroid/src/main/java/com/facebook/react/common/JavascriptException.java +3 -1
  458. package/ReactAndroid/src/main/java/com/facebook/react/common/LifecycleState.java +3 -0
  459. package/ReactAndroid/src/main/java/com/facebook/react/common/LongArray.java +3 -0
  460. package/ReactAndroid/src/main/java/com/facebook/react/common/MapBuilder.java +2 -0
  461. package/ReactAndroid/src/main/java/com/facebook/react/common/ReactConstants.java +11 -0
  462. package/ReactAndroid/src/main/java/com/facebook/react/common/ShakeDetector.java +2 -0
  463. package/ReactAndroid/src/main/java/com/facebook/react/common/SingleThreadAsserter.java +2 -0
  464. package/ReactAndroid/src/main/java/com/facebook/react/common/StandardCharsets.java +2 -0
  465. package/ReactAndroid/src/main/java/com/facebook/react/common/SystemClock.java +3 -0
  466. package/ReactAndroid/src/main/java/com/facebook/react/common/annotations/DeprecatedInNewArchitecture.kt +1 -1
  467. package/ReactAndroid/src/main/java/com/facebook/react/common/annotations/FrameworkAPI.kt +1 -1
  468. package/ReactAndroid/src/main/java/com/facebook/react/common/annotations/StableReactNativeAPI.kt +13 -0
  469. package/ReactAndroid/src/main/java/com/facebook/react/common/annotations/UnstableReactNativeAPI.kt +1 -1
  470. package/ReactAndroid/src/main/java/com/facebook/react/common/annotations/VisibleForTesting.kt +1 -1
  471. package/ReactAndroid/src/main/java/com/facebook/react/common/assets/ReactFontManager.java +6 -6
  472. package/ReactAndroid/src/main/java/com/facebook/react/common/futures/SimpleSettableFuture.java +2 -0
  473. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/MapBuffer.kt +25 -22
  474. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/MapBufferSoLoader.kt +4 -2
  475. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBuffer.kt +8 -6
  476. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/WritableMapBuffer.kt +9 -7
  477. package/ReactAndroid/src/main/java/com/facebook/react/common/network/OkHttpCallUtil.java +2 -0
  478. package/ReactAndroid/src/main/java/com/facebook/react/config/ReactFeatureFlags.java +30 -55
  479. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultComponentsRegistry.kt +11 -4
  480. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultNewArchitectureEntryPoint.kt +39 -31
  481. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactActivityDelegate.kt +5 -3
  482. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactHost.kt +5 -5
  483. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactHostDelegate.kt +7 -8
  484. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactNativeHost.kt +32 -5
  485. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultSoLoader.kt +26 -0
  486. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultTurboModuleManagerDelegate.kt +51 -7
  487. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgeDevSupportManager.java +2 -1
  488. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/CxxInspectorPackagerConnection.java +142 -0
  489. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DebugOverlayController.java +15 -27
  490. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevSupportManagerFactory.java +2 -0
  491. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevInternalSettings.java +2 -0
  492. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.java +10 -9
  493. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSettingsActivity.java +2 -0
  494. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java +50 -27
  495. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportSoLoader.java +24 -0
  496. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DoubleTapReloadRecognizer.java +2 -0
  497. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/FpsView.java +1 -1
  498. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/IInspectorPackagerConnection.java +16 -0
  499. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/InspectorFlags.java +28 -0
  500. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/InspectorPackagerConnection.java +2 -26
  501. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/JSCHeapCapture.java +0 -4
  502. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxDialog.java +3 -1
  503. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxDialogSurfaceDelegate.java +1 -1
  504. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxModule.java +2 -0
  505. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/MultipartStreamReader.java +1 -1
  506. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PackagerStatusCheck.java +2 -0
  507. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PerftestDevSupportManager.java +2 -3
  508. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/RedBoxDialogSurfaceDelegate.java +1 -1
  509. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/ViewHierarchyUtil.java +1 -1
  510. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/WindowOverlayCompat.java +4 -7
  511. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/ErrorType.java +3 -0
  512. package/ReactAndroid/src/main/java/com/facebook/react/fabric/Binding.java +12 -15
  513. package/ReactAndroid/src/main/java/com/facebook/react/fabric/BindingImpl.java +2 -3
  514. package/ReactAndroid/src/main/java/com/facebook/react/fabric/ComponentFactory.java +2 -0
  515. package/ReactAndroid/src/main/java/com/facebook/react/fabric/CoreComponentsRegistry.java +2 -0
  516. package/ReactAndroid/src/main/java/com/facebook/react/fabric/DevToolsReactPerfLogger.java +23 -81
  517. package/ReactAndroid/src/main/java/com/facebook/react/fabric/EmptyReactNativeConfig.kt +36 -0
  518. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricComponents.java +2 -0
  519. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricSoLoader.java +2 -0
  520. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +82 -64
  521. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManagerProviderImpl.java +65 -0
  522. package/ReactAndroid/src/main/java/com/facebook/react/fabric/GuardedFrameCallback.java +4 -2
  523. package/ReactAndroid/src/main/java/com/facebook/react/fabric/LongStreamingStats.java +76 -0
  524. package/ReactAndroid/src/main/java/com/facebook/react/fabric/ReactNativeConfig.kt +7 -7
  525. package/ReactAndroid/src/main/java/com/facebook/react/fabric/StateWrapperImpl.java +16 -0
  526. package/ReactAndroid/src/main/java/com/facebook/react/fabric/SurfaceHandlerBinding.java +2 -0
  527. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventBeatManager.java +2 -0
  528. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.java +7 -3
  529. package/ReactAndroid/src/main/java/com/facebook/react/fabric/internal/interop/InteropUiBlockListener.kt +68 -0
  530. package/ReactAndroid/src/main/java/com/facebook/react/fabric/interop/UIBlock.kt +27 -0
  531. package/ReactAndroid/src/main/java/com/facebook/react/fabric/interop/UIBlockViewResolver.kt +29 -0
  532. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/LayoutMetricsConversions.java +2 -0
  533. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.java +32 -28
  534. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.java +4 -1
  535. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +77 -96
  536. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/DispatchCommandMountItem.java +2 -0
  537. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/DispatchIntCommandMountItem.java +2 -0
  538. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/DispatchStringCommandMountItem.java +2 -0
  539. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/FabricNameComponentMapping.java +2 -0
  540. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/IntBufferBatchMountItem.java +9 -16
  541. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/MountItemFactory.java +4 -1
  542. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/PreAllocateViewMountItem.java +5 -2
  543. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEvent.java +3 -1
  544. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEventMountItem.java +2 -0
  545. package/ReactAndroid/src/main/java/com/facebook/react/flipper/ReactNativeFlipper.kt +34 -0
  546. package/ReactAndroid/src/main/java/com/facebook/react/interfaces/TaskInterface.kt +8 -8
  547. package/ReactAndroid/src/main/java/com/facebook/react/interfaces/exceptionmanager/ReactJsExceptionHandler.kt +2 -2
  548. package/ReactAndroid/src/main/java/com/facebook/react/interfaces/fabric/ReactSurface.kt +11 -11
  549. package/ReactAndroid/src/main/java/com/facebook/react/interfaces/fabric/SurfaceHandler.kt +10 -10
  550. package/ReactAndroid/src/main/java/com/facebook/react/internal/AndroidChoreographerProvider.java +41 -0
  551. package/ReactAndroid/src/main/java/com/facebook/react/internal/ChoreographerProvider.java +30 -0
  552. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +135 -0
  553. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsAccessor.kt +14 -0
  554. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +128 -0
  555. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +54 -0
  556. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +45 -0
  557. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsForTests.kt +14 -0
  558. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +151 -0
  559. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +45 -0
  560. package/ReactAndroid/src/main/java/com/facebook/react/internal/interop/InteropEvent.kt +27 -0
  561. package/ReactAndroid/src/main/java/com/facebook/react/internal/interop/InteropEventEmitter.kt +55 -0
  562. package/ReactAndroid/src/main/java/com/facebook/react/{turbomodule → internal/turbomodule}/core/NativeModuleSoLoader.kt +1 -1
  563. package/ReactAndroid/src/main/java/com/facebook/react/{turbomodule → internal/turbomodule}/core/TurboModuleInteropUtils.java +1 -1
  564. package/ReactAndroid/src/main/java/com/facebook/react/{turbomodule → internal/turbomodule}/core/TurboModuleManager.java +13 -10
  565. package/ReactAndroid/src/main/java/com/facebook/react/{turbomodule → internal/turbomodule}/core/TurboModuleManagerDelegate.java +15 -1
  566. package/ReactAndroid/src/main/java/com/facebook/react/{turbomodule → internal/turbomodule}/core/TurboModulePerfLogger.java +3 -1
  567. package/ReactAndroid/src/main/java/com/facebook/react/{turbomodule → internal/turbomodule}/core/interfaces/TurboModuleRegistry.kt +12 -6
  568. package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/JSCExecutor.kt +3 -3
  569. package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/JSCExecutorFactory.kt +1 -1
  570. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/LinearCountingRetryPolicy.java +3 -0
  571. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/NoRetryPolicy.java +4 -1
  572. package/ReactAndroid/src/main/java/com/facebook/react/module/annotations/ReactModule.java +3 -3
  573. package/ReactAndroid/src/main/java/com/facebook/react/module/model/ReactModuleInfo.java +10 -0
  574. package/ReactAndroid/src/main/java/com/facebook/react/module/processing/ReactModuleSpecProcessor.java +3 -3
  575. package/ReactAndroid/src/main/java/com/facebook/react/modules/accessibilityinfo/AccessibilityInfoModule.java +2 -3
  576. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobProvider.java +4 -3
  577. package/ReactAndroid/src/main/java/com/facebook/react/modules/common/ModuleDataCleaner.java +7 -7
  578. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ChoreographerCompat.java +3 -98
  579. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JavaTimerManager.java +3 -2
  580. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ReactChoreographer.java +57 -71
  581. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/AnimationsDebugModule.java +3 -2
  582. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/DidJSUpdateUiDuringFrameDetector.java +4 -4
  583. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/FpsDebugFrameCallback.java +37 -29
  584. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/ReactNetworkImageRequest.java +1 -1
  585. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/CountingOutputStream.java +1 -1
  586. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/HeaderUtil.java +1 -15
  587. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.java +2 -2
  588. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ProgressRequestBody.java +1 -1
  589. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ProgressResponseBody.java +2 -2
  590. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ProgressiveStringDecoder.java +1 -1
  591. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ReactCookieJarContainer.java +1 -1
  592. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/RequestBodyUtil.java +5 -22
  593. package/ReactAndroid/src/main/java/com/facebook/react/modules/permissions/PermissionsModule.java +8 -31
  594. package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/StatusBarModule.java +1 -1
  595. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoHelpers.java +0 -9
  596. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +5 -5
  597. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/FileIoHandler.java +4 -2
  598. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/NotificationOnlyHandler.java +2 -0
  599. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/PackagerConnectionSettings.java +2 -4
  600. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/RequestOnlyHandler.java +2 -0
  601. package/ReactAndroid/src/main/java/com/facebook/react/processing/ReactPropertyProcessor.java +4 -4
  602. package/ReactAndroid/src/main/java/com/facebook/react/reactperflogger/NativeModulePerfLogger.java +2 -0
  603. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BindingsInstaller.kt +2 -2
  604. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessCatalystInstance.kt +201 -0
  605. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessDevSupportManager.java +16 -3
  606. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessReactContext.java +28 -15
  607. package/ReactAndroid/src/main/java/com/facebook/react/runtime/CoreReactPackage.java +15 -10
  608. package/ReactAndroid/src/main/java/com/facebook/react/runtime/JSCInstance.java +1 -1
  609. package/ReactAndroid/src/main/java/com/facebook/react/runtime/{JSEngineInstance.java → JSRuntimeFactory.java} +2 -2
  610. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostDelegate.kt +16 -14
  611. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.java +223 -349
  612. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactInstance.java +166 -126
  613. package/ReactAndroid/src/main/java/com/facebook/react/runtime/cxxreactpackage/CxxReactPackage.kt +31 -0
  614. package/ReactAndroid/src/main/java/com/facebook/react/runtime/hermes/HermesInstance.kt +8 -4
  615. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/AggregateException.java +1 -1
  616. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/CancellationTokenRegistration.java +1 -1
  617. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/Capture.java +1 -1
  618. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/ExecutorException.java +1 -1
  619. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/Task.java +2 -2
  620. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/UnobservedErrorNotifier.java +1 -1
  621. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/UnobservedTaskException.java +1 -1
  622. package/ReactAndroid/src/main/java/com/facebook/react/shell/MainPackageConfig.java +1 -1
  623. package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.java +5 -4
  624. package/ReactAndroid/src/main/java/com/facebook/react/touch/JSResponderHandler.kt +73 -0
  625. package/ReactAndroid/src/main/java/com/facebook/react/touch/{OnInterceptTouchEventListener.java → OnInterceptTouchEventListener.kt} +8 -8
  626. package/ReactAndroid/src/main/java/com/facebook/react/touch/ReactHitSlopView.kt +18 -0
  627. package/ReactAndroid/src/main/java/com/facebook/react/touch/ReactInterceptingViewGroup.kt +31 -0
  628. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/CallInvokerHolderImpl.java +5 -0
  629. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/NativeMethodCallInvokerHolderImpl.java +5 -0
  630. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/interfaces/CallInvokerHolder.kt +1 -1
  631. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/interfaces/NativeMethodCallInvokerHolder.kt +1 -1
  632. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/interfaces/TurboModule.kt +3 -3
  633. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/GuardedFrameCallback.java +2 -2
  634. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/IViewGroupManager.java +10 -0
  635. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSTouchDispatcher.java +3 -2
  636. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutShadowNode.java +7 -7
  637. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.java +13 -1
  638. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NoSuchNativeViewException.java +1 -1
  639. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.java +0 -5
  640. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactCompoundViewGroup.java +4 -4
  641. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactRoot.java +1 -4
  642. package/ReactAndroid/src/main/java/com/facebook/react/{surface → uimanager}/ReactStage.java +1 -1
  643. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ShadowNodeRegistry.java +1 -1
  644. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ThemedReactContext.java +4 -5
  645. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIConstantsProviderManager.java +35 -3
  646. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +7 -21
  647. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerHelper.java +2 -3
  648. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +24 -36
  649. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstantsHelper.java +7 -20
  650. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIViewOperationQueue.java +29 -43
  651. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewGroupManager.java +0 -8
  652. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewHierarchyDumper.java +1 -1
  653. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerRegistry.java +17 -1
  654. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/YogaNodePool.java +1 -1
  655. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/ReactProp.java +2 -0
  656. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/ReactPropGroup.java +2 -0
  657. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/ReactPropertyHolder.java +2 -0
  658. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/UIManagerType.java +2 -0
  659. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/ViewUtil.java +3 -0
  660. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/debug/NotThreadSafeViewHierarchyUpdateDebugListener.java +2 -0
  661. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/BlackHoleEventDispatcher.java +2 -0
  662. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ContentSizeChangeEvent.java +8 -1
  663. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/Event.java +14 -27
  664. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherImpl.java +10 -4
  665. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/FabricEventDispatcher.java +5 -3
  666. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/NativeGestureUtil.java +2 -0
  667. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEventHelper.java +2 -0
  668. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTEventEmitter.java +8 -3
  669. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTModernEventEmitter.java +2 -0
  670. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ReactEventEmitter.java +14 -15
  671. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEvent.java +5 -0
  672. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEventCoalescingKeyHelper.java +2 -0
  673. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEventType.java +3 -0
  674. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchesHelper.java +29 -23
  675. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/AnimatedPropertyType.java +4 -1
  676. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/BaseLayoutAnimation.java +3 -1
  677. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/InterpolatorType.java +3 -1
  678. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutAnimationController.java +3 -9
  679. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutAnimationType.java +4 -1
  680. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutCreateAnimation.java +4 -1
  681. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutDeleteAnimation.java +4 -1
  682. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutUpdateAnimation.java +3 -1
  683. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/OpacityAnimation.java +3 -1
  684. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/PositionAndSizeAnimation.java +3 -1
  685. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/SimpleSpringInterpolator.java +3 -1
  686. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/util/ReactFindViewUtil.java +3 -2
  687. package/ReactAndroid/src/main/java/com/facebook/react/util/JSStackTrace.java +2 -0
  688. package/ReactAndroid/src/main/java/com/facebook/react/util/RNLog.java +7 -3
  689. package/ReactAndroid/src/main/java/com/facebook/react/views/common/ContextUtils.java +2 -0
  690. package/ReactAndroid/src/main/java/com/facebook/react/views/common/ViewUtils.java +2 -0
  691. package/ReactAndroid/src/main/java/com/facebook/react/views/debuggingoverlay/DebuggingOverlay.java +97 -0
  692. package/ReactAndroid/src/main/java/com/facebook/react/views/debuggingoverlay/DebuggingOverlayManager.java +162 -0
  693. package/ReactAndroid/src/main/java/com/facebook/react/views/debuggingoverlay/TraceUpdate.java +37 -0
  694. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayout.java +3 -1
  695. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayoutManager.java +2 -0
  696. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerClosedEvent.java +2 -0
  697. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerOpenedEvent.java +2 -0
  698. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerSlideEvent.java +2 -0
  699. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerStateChangedEvent.java +2 -0
  700. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ImageLoadEvent.java +2 -0
  701. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ImageResizeMethod.java +3 -0
  702. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ImageResizeMode.java +2 -0
  703. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageDownloadListener.java +3 -1
  704. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ScaleTypeStartInside.java +4 -2
  705. package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/MultiSourceHelper.java +2 -0
  706. package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/ResourceDrawableIdHelper.java +2 -0
  707. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ModalHostHelper.java +3 -1
  708. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ModalHostShadowNode.java +2 -0
  709. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.java +28 -13
  710. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/RequestCloseEvent.java +3 -1
  711. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ShowEvent.java +3 -1
  712. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ProgressBarContainerView.java +4 -2
  713. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ProgressBarShadowNode.java +2 -0
  714. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ReactProgressBarViewManager.java +2 -0
  715. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/MaintainVisibleScrollPositionHelper.java +3 -1
  716. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/OnScrollDispatchHelper.java +4 -2
  717. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollContainerView.java +2 -0
  718. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollContainerViewManager.java +2 -0
  719. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +15 -14
  720. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewAccessibilityDelegate.java +3 -1
  721. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.java +2 -0
  722. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ScrollEvent.java +2 -0
  723. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ScrollEventType.java +3 -0
  724. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VelocityHelper.java +3 -1
  725. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/ReactSwipeRefreshLayout.java +2 -0
  726. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/RefreshEvent.java +3 -1
  727. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchEvent.java +3 -1
  728. package/ReactAndroid/src/main/java/com/facebook/react/views/text/BasicTextAttributeProvider.kt +48 -0
  729. package/ReactAndroid/src/main/java/com/facebook/react/views/text/EffectiveTextAttributeProvider.kt +22 -0
  730. package/ReactAndroid/src/main/java/com/facebook/react/views/text/HierarchicTextAttributeProvider.kt +63 -0
  731. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBaseTextShadowNode.java +229 -31
  732. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextAnchorViewManager.java +1 -6
  733. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextShadowNode.java +40 -52
  734. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextUpdate.java +5 -6
  735. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +24 -30
  736. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.java +2 -0
  737. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTypefaceUtils.java +3 -2
  738. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.java +119 -22
  739. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributes.java +4 -2
  740. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java +66 -54
  741. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManagerMapBuffer.java +61 -54
  742. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutUtils.kt +379 -0
  743. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextTransform.java +2 -1
  744. package/ReactAndroid/src/main/java/com/facebook/react/views/text/fragments/BridgeTextFragment.kt +39 -0
  745. package/ReactAndroid/src/main/java/com/facebook/react/views/text/fragments/BridgeTextFragmentList.kt +18 -0
  746. package/ReactAndroid/src/main/java/com/facebook/react/views/text/fragments/MapBufferTextFragment.kt +42 -0
  747. package/ReactAndroid/src/main/java/com/facebook/react/views/text/fragments/MapBufferTextFragmentList.kt +19 -0
  748. package/ReactAndroid/src/main/java/com/facebook/react/views/text/fragments/TextFragment.kt +29 -0
  749. package/ReactAndroid/src/main/java/com/facebook/react/views/text/fragments/TextFragmentList.kt +15 -0
  750. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageShadowNode.java +3 -3
  751. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageSpan.java +2 -2
  752. package/ReactAndroid/src/main/java/com/facebook/react/views/text/{ReactTextInlineImageShadowNode.java → internal/ReactTextInlineImageShadowNode.java} +2 -1
  753. package/ReactAndroid/src/main/java/com/facebook/react/views/text/{CustomLetterSpacingSpan.java → internal/span/CustomLetterSpacingSpan.java} +1 -1
  754. package/ReactAndroid/src/main/java/com/facebook/react/views/text/{CustomLineHeightSpan.java → internal/span/CustomLineHeightSpan.java} +9 -6
  755. package/ReactAndroid/src/main/java/com/facebook/react/views/text/{CustomStyleSpan.java → internal/span/CustomStyleSpan.java} +16 -17
  756. package/ReactAndroid/src/main/java/com/facebook/react/views/text/{ReactAbsoluteSizeSpan.java → internal/span/ReactAbsoluteSizeSpan.java} +1 -1
  757. package/ReactAndroid/src/main/java/com/facebook/react/views/text/{ReactBackgroundColorSpan.java → internal/span/ReactBackgroundColorSpan.java} +1 -1
  758. package/ReactAndroid/src/main/java/com/facebook/react/views/text/{ReactClickableSpan.java → internal/span/ReactClickableSpan.java} +5 -3
  759. package/ReactAndroid/src/main/java/com/facebook/react/views/text/{ReactForegroundColorSpan.java → internal/span/ReactForegroundColorSpan.java} +1 -1
  760. package/ReactAndroid/src/main/java/com/facebook/react/views/text/{ReactSpan.java → internal/span/ReactSpan.java} +1 -1
  761. package/ReactAndroid/src/main/java/com/facebook/react/views/text/{ReactStrikethroughSpan.java → internal/span/ReactStrikethroughSpan.java} +1 -1
  762. package/ReactAndroid/src/main/java/com/facebook/react/views/text/{ReactTagSpan.java → internal/span/ReactTagSpan.java} +1 -1
  763. package/ReactAndroid/src/main/java/com/facebook/react/views/text/{ReactUnderlineSpan.java → internal/span/ReactUnderlineSpan.java} +1 -1
  764. package/ReactAndroid/src/main/java/com/facebook/react/views/text/{SetSpanOperation.java → internal/span/SetSpanOperation.java} +9 -4
  765. package/ReactAndroid/src/main/java/com/facebook/react/views/text/{ShadowStyleSpan.java → internal/span/ShadowStyleSpan.java} +1 -1
  766. package/ReactAndroid/src/main/java/com/facebook/react/views/text/{TextInlineImageSpan.java → internal/span/TextInlineImageSpan.java} +1 -1
  767. package/ReactAndroid/src/main/java/com/facebook/react/views/text/{TextInlineViewPlaceholderSpan.java → internal/span/TextInlineViewPlaceholderSpan.java} +1 -1
  768. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +38 -54
  769. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputKeyPressEvent.java +1 -1
  770. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputLocalData.java +2 -10
  771. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java +174 -123
  772. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputShadowNode.java +5 -16
  773. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ScrollWatcher.java +1 -1
  774. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/SelectionWatcher.java +1 -1
  775. package/ReactAndroid/src/main/java/com/facebook/react/views/unimplementedview/ReactUnimplementedView.java +2 -0
  776. package/ReactAndroid/src/main/java/com/facebook/react/views/view/CanvasUtil.java +4 -1
  777. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ColorUtil.java +2 -0
  778. package/ReactAndroid/src/main/java/com/facebook/react/views/view/MeasureUtil.java +2 -0
  779. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactClippingViewManager.java +2 -0
  780. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactDrawableHelper.java +1 -4
  781. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundDrawable.java +1 -3
  782. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundManager.java +3 -3
  783. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java +11 -4
  784. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.java +0 -3
  785. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ViewGroupClickEvent.java +2 -0
  786. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaAlign.java +3 -1
  787. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfig.java +1 -3
  788. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfigJNIBase.java +1 -5
  789. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaErrata.java +4 -0
  790. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaExperimentalFeature.java +1 -3
  791. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNative.java +2 -4
  792. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNode.java +2 -2
  793. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIBase.java +5 -12
  794. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIFinalizer.java +1 -1
  795. package/ReactAndroid/src/main/jni/CMakeLists.txt +4 -6
  796. package/ReactAndroid/src/main/jni/first-party/fb/CMakeLists.txt +1 -1
  797. package/ReactAndroid/src/main/jni/first-party/fbgloginit/CMakeLists.txt +1 -1
  798. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJNIVanilla.cpp +16 -42
  799. package/ReactAndroid/src/main/jni/react/devsupport/CMakeLists.txt +19 -0
  800. package/ReactAndroid/src/main/jni/react/devsupport/JCxxInspectorPackagerConnection.cpp +55 -0
  801. package/ReactAndroid/src/main/jni/react/devsupport/JCxxInspectorPackagerConnection.h +62 -0
  802. package/ReactAndroid/src/main/jni/react/devsupport/JCxxInspectorPackagerConnectionDelegateImpl.cpp +72 -0
  803. package/ReactAndroid/src/main/jni/react/devsupport/JCxxInspectorPackagerConnectionDelegateImpl.h +69 -0
  804. package/ReactAndroid/src/main/jni/react/devsupport/JCxxInspectorPackagerConnectionWebSocket.cpp +45 -0
  805. package/ReactAndroid/src/main/jni/react/devsupport/JCxxInspectorPackagerConnectionWebSocket.h +56 -0
  806. package/ReactAndroid/src/main/jni/react/devsupport/JCxxInspectorPackagerConnectionWebSocketDelegate.cpp +53 -0
  807. package/ReactAndroid/src/main/jni/react/devsupport/JCxxInspectorPackagerConnectionWebSocketDelegate.h +49 -0
  808. package/ReactAndroid/src/main/jni/react/devsupport/JInspectorFlags.cpp +36 -0
  809. package/ReactAndroid/src/main/jni/react/devsupport/JInspectorFlags.h +32 -0
  810. package/ReactAndroid/src/main/jni/react/devsupport/JOptional.cpp +29 -0
  811. package/ReactAndroid/src/main/jni/react/devsupport/JOptional.h +27 -0
  812. package/ReactAndroid/src/main/jni/react/devsupport/OnLoad.cpp +22 -0
  813. package/ReactAndroid/src/main/jni/react/fabric/Binding.cpp +2 -25
  814. package/ReactAndroid/src/main/jni/react/fabric/Binding.h +0 -2
  815. package/ReactAndroid/src/main/jni/react/fabric/CMakeLists.txt +1 -1
  816. package/ReactAndroid/src/main/jni/react/fabric/CoreComponentsRegistry.cpp +8 -6
  817. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.cpp +4 -40
  818. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.h +0 -2
  819. package/ReactAndroid/src/main/jni/react/fabric/JEmptyReactNativeConfig.cpp +47 -0
  820. package/ReactAndroid/src/main/jni/react/fabric/JEmptyReactNativeConfig.h +38 -0
  821. package/ReactAndroid/src/main/jni/react/fabric/OnLoad.cpp +2 -0
  822. package/ReactAndroid/src/main/jni/react/fabric/ReactNativeConfigHolder.cpp +1 -1
  823. package/ReactAndroid/src/main/jni/react/fabric/ReactNativeConfigHolder.h +1 -1
  824. package/ReactAndroid/src/main/jni/react/featureflags/CMakeLists.txt +34 -0
  825. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +206 -0
  826. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +73 -0
  827. package/ReactAndroid/src/main/jni/react/featureflags/OnLoad.cpp +16 -0
  828. package/ReactAndroid/src/main/jni/react/jni/CMakeLists.txt +1 -2
  829. package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.cpp +18 -29
  830. package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.h +3 -4
  831. package/ReactAndroid/src/main/jni/react/jni/CxxModuleWrapper.h +0 -10
  832. package/ReactAndroid/src/main/jni/react/jni/JCallback.h +0 -7
  833. package/ReactAndroid/src/main/jni/react/jni/JInspector.cpp +2 -5
  834. package/ReactAndroid/src/main/jni/react/jni/JInspector.h +0 -4
  835. package/ReactAndroid/src/main/jni/react/jni/JMessageQueueThread.cpp +3 -15
  836. package/ReactAndroid/src/main/jni/react/jni/JMessageQueueThread.h +0 -4
  837. package/ReactAndroid/src/main/jni/react/jni/MethodInvoker.cpp +3 -2
  838. package/ReactAndroid/src/main/jni/react/jni/OnLoad.cpp +18 -19
  839. package/ReactAndroid/src/main/jni/react/jni/ProxyExecutor.cpp +0 -3
  840. package/ReactAndroid/src/main/jni/react/jni/ProxyExecutor.h +0 -1
  841. package/ReactAndroid/src/main/jni/react/jni/ReadableNativeArray.cpp +2 -2
  842. package/ReactAndroid/src/main/jni/react/jni/ReadableNativeMap.cpp +2 -2
  843. package/ReactAndroid/src/main/jni/react/newarchdefaults/CMakeLists.txt +2 -0
  844. package/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultComponentsRegistry.cpp +15 -7
  845. package/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultTurboModuleManagerDelegate.cpp +31 -2
  846. package/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultTurboModuleManagerDelegate.h +11 -1
  847. package/ReactAndroid/src/main/jni/react/reactnativeblob/BlobCollector.cpp +1 -1
  848. package/ReactAndroid/src/main/jni/react/reactnativeblob/BlobCollector.h +2 -4
  849. package/ReactAndroid/src/main/jni/react/runtime/cxxreactpackage/CMakeLists.txt +29 -0
  850. package/ReactAndroid/src/main/jni/react/runtime/cxxreactpackage/ReactCommon/CxxReactPackage.h +31 -0
  851. package/{ReactCommon/hermes/executor/JSITracing.cpp → ReactAndroid/src/main/jni/react/runtime/cxxreactpackage/ReactCommon/OnLoad.cpp} +5 -7
  852. package/ReactAndroid/src/main/jni/react/runtime/hermes/jni/JHermesInstance.cpp +11 -5
  853. package/ReactAndroid/src/main/jni/react/runtime/hermes/jni/JHermesInstance.h +13 -6
  854. package/ReactAndroid/src/main/jni/react/runtime/jni/CMakeLists.txt +1 -0
  855. package/ReactAndroid/src/main/jni/react/runtime/jni/{JJSEngineInstance.h → JJSRuntimeFactory.h} +4 -4
  856. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactInstance.cpp +10 -4
  857. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactInstance.h +6 -4
  858. package/ReactAndroid/src/main/jni/react/runtime/jsc/jni/OnLoad.cpp +5 -5
  859. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/OnLoad.cpp +1 -1
  860. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.cpp +28 -10
  861. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.h +6 -3
  862. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManagerDelegate.h +1 -1
  863. package/ReactAndroid/src/main/jni/react/uimanager/UIConstantsProviderManager.cpp +44 -13
  864. package/ReactAndroid/src/main/jni/react/uimanager/UIConstantsProviderManager.h +72 -6
  865. package/ReactAndroid/src/main/jni/third-party/fmt/CMakeLists.txt +1 -1
  866. package/ReactAndroid/src/main/jni/third-party/folly/CMakeLists.txt +21 -72
  867. package/ReactAndroid/src/main/res/devsupport/drawable/redbox_top_border_background.xml +2 -1
  868. package/ReactAndroid/src/main/res/devsupport/values/strings.xml +6 -7
  869. package/ReactAndroid/src/main/res/devsupport/values-af/strings.xml +0 -2
  870. package/ReactAndroid/src/main/res/devsupport/values-ar/strings.xml +0 -2
  871. package/ReactAndroid/src/main/res/devsupport/values-bg/strings.xml +0 -1
  872. package/ReactAndroid/src/main/res/devsupport/values-bn/strings.xml +0 -2
  873. package/ReactAndroid/src/main/res/devsupport/values-cs/strings.xml +0 -2
  874. package/ReactAndroid/src/main/res/devsupport/values-da/strings.xml +0 -1
  875. package/ReactAndroid/src/main/res/devsupport/values-el/strings.xml +0 -1
  876. package/ReactAndroid/src/main/res/devsupport/values-en-rGB/strings.xml +0 -1
  877. package/ReactAndroid/src/main/res/devsupport/values-es/strings.xml +0 -2
  878. package/ReactAndroid/src/main/res/devsupport/values-es-rES/strings.xml +0 -2
  879. package/ReactAndroid/src/main/res/devsupport/values-et/strings.xml +0 -2
  880. package/ReactAndroid/src/main/res/devsupport/values-fa/strings.xml +0 -2
  881. package/ReactAndroid/src/main/res/devsupport/values-fi/strings.xml +0 -2
  882. package/ReactAndroid/src/main/res/devsupport/values-fr/strings.xml +0 -1
  883. package/ReactAndroid/src/main/res/devsupport/values-fr-rCA/strings.xml +0 -1
  884. package/ReactAndroid/src/main/res/devsupport/values-gu/strings.xml +0 -2
  885. package/ReactAndroid/src/main/res/devsupport/values-hi/strings.xml +0 -2
  886. package/ReactAndroid/src/main/res/devsupport/values-hr/strings.xml +0 -2
  887. package/ReactAndroid/src/main/res/devsupport/values-hu/strings.xml +0 -2
  888. package/ReactAndroid/src/main/res/devsupport/values-it/strings.xml +0 -2
  889. package/ReactAndroid/src/main/res/devsupport/values-iw/strings.xml +0 -2
  890. package/ReactAndroid/src/main/res/devsupport/values-ja/strings.xml +0 -2
  891. package/ReactAndroid/src/main/res/devsupport/values-ka/strings.xml +0 -2
  892. package/ReactAndroid/src/main/res/devsupport/values-km/strings.xml +0 -2
  893. package/ReactAndroid/src/main/res/devsupport/values-kn/strings.xml +0 -2
  894. package/ReactAndroid/src/main/res/devsupport/values-ko/strings.xml +0 -2
  895. package/ReactAndroid/src/main/res/devsupport/values-lt/strings.xml +0 -2
  896. package/ReactAndroid/src/main/res/devsupport/values-lv/strings.xml +0 -2
  897. package/ReactAndroid/src/main/res/devsupport/values-mk/strings.xml +0 -2
  898. package/ReactAndroid/src/main/res/devsupport/values-ml/strings.xml +0 -2
  899. package/ReactAndroid/src/main/res/devsupport/values-mr/strings.xml +0 -2
  900. package/ReactAndroid/src/main/res/devsupport/values-ms/strings.xml +0 -2
  901. package/ReactAndroid/src/main/res/devsupport/values-my/strings.xml +0 -2
  902. package/ReactAndroid/src/main/res/devsupport/values-nl/strings.xml +0 -2
  903. package/ReactAndroid/src/main/res/devsupport/values-pa/strings.xml +0 -2
  904. package/ReactAndroid/src/main/res/devsupport/values-pl/strings.xml +0 -2
  905. package/ReactAndroid/src/main/res/devsupport/values-pt/strings.xml +0 -2
  906. package/ReactAndroid/src/main/res/devsupport/values-pt-rPT/strings.xml +0 -2
  907. package/ReactAndroid/src/main/res/devsupport/values-ro/strings.xml +0 -2
  908. package/ReactAndroid/src/main/res/devsupport/values-ru/strings.xml +0 -2
  909. package/ReactAndroid/src/main/res/devsupport/values-si/strings.xml +0 -2
  910. package/ReactAndroid/src/main/res/devsupport/values-sk/strings.xml +0 -2
  911. package/ReactAndroid/src/main/res/devsupport/values-sl/strings.xml +0 -1
  912. package/ReactAndroid/src/main/res/devsupport/values-sq/strings.xml +0 -2
  913. package/ReactAndroid/src/main/res/devsupport/values-sr/strings.xml +0 -2
  914. package/ReactAndroid/src/main/res/devsupport/values-sv/strings.xml +0 -1
  915. package/ReactAndroid/src/main/res/devsupport/values-sw/strings.xml +0 -1
  916. package/ReactAndroid/src/main/res/devsupport/values-ta/strings.xml +0 -2
  917. package/ReactAndroid/src/main/res/devsupport/values-te/strings.xml +0 -2
  918. package/ReactAndroid/src/main/res/devsupport/values-th/strings.xml +0 -2
  919. package/ReactAndroid/src/main/res/devsupport/values-tr/strings.xml +0 -1
  920. package/ReactAndroid/src/main/res/devsupport/values-uk/strings.xml +0 -2
  921. package/ReactAndroid/src/main/res/devsupport/values-ur/strings.xml +0 -2
  922. package/ReactAndroid/src/main/res/devsupport/values-vi/strings.xml +0 -2
  923. package/ReactAndroid/src/main/res/devsupport/values-zh-rCN/strings.xml +0 -2
  924. package/ReactAndroid/src/main/res/devsupport/values-zh-rHK/strings.xml +0 -2
  925. package/ReactAndroid/src/main/res/devsupport/values-zh-rTW/strings.xml +0 -2
  926. package/ReactAndroid/src/main/res/shell/values/styles.xml +2 -1
  927. package/ReactAndroid/src/main/res/views/uimanager/values-be/strings.xml +3 -0
  928. package/ReactAndroid/src/main/res/views/uimanager/values-kk/strings.xml +1 -0
  929. package/ReactAndroid/src/main/res/views/uimanager/values-ky/strings.xml +1 -0
  930. package/ReactAndroid/src/main/res/views/uimanager/values-mn/strings.xml +1 -0
  931. package/ReactApple/Libraries/RCTFoundation/RCTDeprecation/Exported/RCTDeprecation.h +16 -0
  932. package/ReactApple/Libraries/RCTFoundation/RCTDeprecation/RCTDeprecation.m +8 -0
  933. package/ReactApple/Libraries/RCTFoundation/RCTDeprecation/RCTDeprecation.podspec +25 -0
  934. package/ReactApple/Libraries/RCTFoundation/RCTDeprecation/README.md +1 -0
  935. package/ReactApple/Libraries/RCTFoundation/README.md +12 -0
  936. package/ReactApple/README.md +5 -0
  937. package/ReactCommon/.clang-tidy +7 -0
  938. package/ReactCommon/React-Fabric.podspec +24 -7
  939. package/ReactCommon/React-FabricImage.podspec +6 -4
  940. package/ReactCommon/React-rncore.podspec +0 -9
  941. package/ReactCommon/ReactCommon.podspec +9 -4
  942. package/ReactCommon/butter/CMakeLists.txt +1 -2
  943. package/ReactCommon/callinvoker/CMakeLists.txt +1 -2
  944. package/ReactCommon/callinvoker/React-callinvoker.podspec +4 -2
  945. package/ReactCommon/callinvoker/ReactCommon/CallInvoker.h +7 -3
  946. package/ReactCommon/cxxreact/Instance.cpp +44 -21
  947. package/ReactCommon/cxxreact/Instance.h +17 -5
  948. package/ReactCommon/cxxreact/JSBigString.cpp +2 -2
  949. package/ReactCommon/cxxreact/JSExecutor.cpp +13 -0
  950. package/ReactCommon/cxxreact/JSExecutor.h +18 -6
  951. package/ReactCommon/cxxreact/MoveWrapper.h +125 -0
  952. package/ReactCommon/cxxreact/NativeToJsBridge.cpp +12 -7
  953. package/ReactCommon/cxxreact/NativeToJsBridge.h +4 -1
  954. package/ReactCommon/cxxreact/React-cxxreact.podspec +5 -4
  955. package/ReactCommon/cxxreact/ReactMarker.cpp +15 -2
  956. package/ReactCommon/cxxreact/ReactMarker.h +1 -0
  957. package/ReactCommon/cxxreact/ReactNativeVersion.h +4 -4
  958. package/ReactCommon/cxxreact/tests/jsbigstring.cpp +0 -1
  959. package/ReactCommon/hermes/React-hermes.podspec +7 -8
  960. package/ReactCommon/hermes/executor/HermesExecutorFactory.cpp +49 -7
  961. package/ReactCommon/hermes/executor/HermesExecutorFactory.h +14 -2
  962. package/ReactCommon/hermes/inspector-modern/CMakeLists.txt +3 -6
  963. package/ReactCommon/hermes/inspector-modern/chrome/ConnectionDemux.cpp +3 -3
  964. package/ReactCommon/hermes/inspector-modern/chrome/ConnectionDemux.h +5 -5
  965. package/ReactCommon/hermes/inspector-modern/chrome/HermesRuntimeAgentDelegate.cpp +228 -0
  966. package/ReactCommon/hermes/inspector-modern/chrome/HermesRuntimeAgentDelegate.h +71 -0
  967. package/ReactCommon/hermes/inspector-modern/chrome/Registration.cpp +2 -2
  968. package/ReactCommon/hermes/inspector-modern/chrome/Registration.h +1 -1
  969. package/ReactCommon/hermes/inspector-modern/chrome/tests/ConnectionDemuxTests.cpp +5 -5
  970. package/ReactCommon/jsc/CMakeLists.txt +0 -4
  971. package/ReactCommon/jsc/JSCRuntime.cpp +107 -56
  972. package/ReactCommon/jsc/React-jsc.podspec +1 -1
  973. package/ReactCommon/jserrorhandler/CMakeLists.txt +1 -1
  974. package/ReactCommon/jserrorhandler/React-jserrorhandler.podspec +4 -3
  975. package/ReactCommon/jsi/React-jsi.podspec +4 -3
  976. package/ReactCommon/jsi/jsi/JSIDynamic.cpp +9 -2
  977. package/ReactCommon/jsi/jsi/JSIDynamic.h +2 -1
  978. package/ReactCommon/jsi/jsi/decorator.h +4 -0
  979. package/ReactCommon/jsi/jsi/jsi-inl.h +5 -0
  980. package/ReactCommon/jsi/jsi/jsi.h +15 -0
  981. package/ReactCommon/jsi/jsi/test/testlib.cpp +94 -2
  982. package/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +5 -3
  983. package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.cpp +0 -30
  984. package/ReactCommon/jsinspector-modern/CMakeLists.txt +10 -0
  985. package/ReactCommon/jsinspector-modern/CONCEPTS.md +27 -0
  986. package/ReactCommon/jsinspector-modern/ExecutionContext.cpp +66 -0
  987. package/ReactCommon/jsinspector-modern/ExecutionContext.h +109 -0
  988. package/ReactCommon/jsinspector-modern/ExecutionContextManager.cpp +19 -0
  989. package/ReactCommon/jsinspector-modern/ExecutionContextManager.h +25 -0
  990. package/ReactCommon/jsinspector-modern/FallbackRuntimeAgentDelegate.cpp +70 -0
  991. package/ReactCommon/jsinspector-modern/FallbackRuntimeAgentDelegate.h +66 -0
  992. package/ReactCommon/jsinspector-modern/InspectorFlags.cpp +58 -0
  993. package/ReactCommon/jsinspector-modern/InspectorFlags.h +46 -0
  994. package/ReactCommon/jsinspector-modern/InspectorInterfaces.cpp +94 -17
  995. package/ReactCommon/jsinspector-modern/InspectorInterfaces.h +62 -7
  996. package/ReactCommon/jsinspector-modern/InspectorPackagerConnection.cpp +365 -0
  997. package/ReactCommon/jsinspector-modern/InspectorPackagerConnection.h +85 -0
  998. package/ReactCommon/jsinspector-modern/InspectorPackagerConnectionImpl.h +127 -0
  999. package/ReactCommon/jsinspector-modern/InspectorUtilities.cpp +39 -0
  1000. package/ReactCommon/jsinspector-modern/InspectorUtilities.h +52 -0
  1001. package/ReactCommon/jsinspector-modern/InstanceAgent.cpp +75 -0
  1002. package/ReactCommon/jsinspector-modern/InstanceAgent.h +66 -0
  1003. package/ReactCommon/jsinspector-modern/InstanceTarget.cpp +82 -0
  1004. package/ReactCommon/jsinspector-modern/InstanceTarget.h +97 -0
  1005. package/ReactCommon/jsinspector-modern/PageAgent.cpp +153 -0
  1006. package/ReactCommon/jsinspector-modern/PageAgent.h +89 -0
  1007. package/ReactCommon/jsinspector-modern/PageTarget.cpp +166 -0
  1008. package/ReactCommon/jsinspector-modern/PageTarget.h +190 -0
  1009. package/ReactCommon/jsinspector-modern/Parsing.cpp +32 -0
  1010. package/ReactCommon/jsinspector-modern/Parsing.h +69 -0
  1011. package/ReactCommon/jsinspector-modern/React-jsinspector.podspec +31 -2
  1012. package/ReactCommon/jsinspector-modern/ReactCdp.h +16 -0
  1013. package/ReactCommon/jsinspector-modern/RuntimeAgent.cpp +138 -0
  1014. package/ReactCommon/jsinspector-modern/RuntimeAgent.h +93 -0
  1015. package/ReactCommon/jsinspector-modern/RuntimeAgentDelegate.h +51 -0
  1016. package/ReactCommon/jsinspector-modern/RuntimeTarget.cpp +109 -0
  1017. package/ReactCommon/jsinspector-modern/RuntimeTarget.h +162 -0
  1018. package/ReactCommon/jsinspector-modern/ScopedExecutor.h +97 -0
  1019. package/ReactCommon/jsinspector-modern/SessionState.h +51 -0
  1020. package/ReactCommon/jsinspector-modern/UniqueMonostate.h +54 -0
  1021. package/ReactCommon/jsinspector-modern/WeakList.h +79 -0
  1022. package/ReactCommon/jsinspector-modern/WebSocketInterfaces.h +62 -0
  1023. package/ReactCommon/jsinspector-modern/tests/FollyDynamicMatchers.cpp +50 -0
  1024. package/ReactCommon/jsinspector-modern/tests/FollyDynamicMatchers.h +80 -0
  1025. package/ReactCommon/jsinspector-modern/tests/InspectorMocks.h +163 -0
  1026. package/ReactCommon/jsinspector-modern/tests/InspectorPackagerConnectionTest.cpp +1343 -0
  1027. package/ReactCommon/jsinspector-modern/tests/JsiIntegrationTest.cpp +576 -0
  1028. package/ReactCommon/jsinspector-modern/tests/PageTargetTest.cpp +517 -0
  1029. package/ReactCommon/jsinspector-modern/tests/UniquePtrFactory.h +110 -0
  1030. package/ReactCommon/jsinspector-modern/tests/UniquePtrFactoryTest.cpp +84 -0
  1031. package/ReactCommon/jsinspector-modern/tests/WeakListTest.cpp +91 -0
  1032. package/ReactCommon/jsinspector-modern/tests/engines/JsiIntegrationTestGenericEngineAdapter.cpp +48 -0
  1033. package/ReactCommon/jsinspector-modern/tests/engines/JsiIntegrationTestGenericEngineAdapter.h +44 -0
  1034. package/ReactCommon/jsinspector-modern/tests/engines/JsiIntegrationTestHermesEngineAdapter.cpp +58 -0
  1035. package/ReactCommon/jsinspector-modern/tests/engines/JsiIntegrationTestHermesEngineAdapter.h +44 -0
  1036. package/ReactCommon/logger/CMakeLists.txt +1 -1
  1037. package/ReactCommon/logger/React-logger.podspec +3 -3
  1038. package/ReactCommon/react/bridging/Array.h +26 -2
  1039. package/ReactCommon/react/bridging/CMakeLists.txt +0 -1
  1040. package/ReactCommon/react/bridging/CallbackWrapper.h +8 -5
  1041. package/ReactCommon/react/bridging/Function.h +63 -24
  1042. package/ReactCommon/react/bridging/LongLivedObject.h +8 -6
  1043. package/ReactCommon/react/bridging/tests/BridgingTest.cpp +51 -1
  1044. package/ReactCommon/react/bridging/tests/BridgingTest.h +1 -1
  1045. package/ReactCommon/react/config/CMakeLists.txt +1 -2
  1046. package/ReactCommon/react/config/ReactNativeConfig.cpp +3 -10
  1047. package/ReactCommon/react/config/ReactNativeConfig.h +4 -4
  1048. package/ReactCommon/react/debug/CMakeLists.txt +0 -1
  1049. package/ReactCommon/react/featureflags/CMakeLists.txt +20 -0
  1050. package/ReactCommon/react/featureflags/React-featureflags.podspec +44 -0
  1051. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +82 -0
  1052. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +126 -0
  1053. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +251 -0
  1054. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +68 -0
  1055. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +71 -0
  1056. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +40 -0
  1057. package/ReactCommon/react/featureflags/tests/ReactNativeFeatureFlagsTest.cpp +124 -0
  1058. package/ReactCommon/react/nativemodule/core/CMakeLists.txt +1 -1
  1059. package/ReactCommon/react/nativemodule/core/ReactCommon/CxxTurboModuleUtils.cpp +32 -0
  1060. package/ReactCommon/react/nativemodule/core/ReactCommon/CxxTurboModuleUtils.h +67 -0
  1061. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModule.cpp +25 -0
  1062. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModule.h +7 -0
  1063. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.cpp +28 -52
  1064. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.h +9 -2
  1065. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleUtils.h +1 -0
  1066. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.cpp +207 -157
  1067. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.h +2 -2
  1068. package/ReactCommon/react/nativemodule/core/platform/ios/React-NativeModulesApple.podspec +5 -2
  1069. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.h +1 -1
  1070. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.mm +4 -4
  1071. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTRuntimeExecutor.h +30 -0
  1072. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTRuntimeExecutor.mm +34 -0
  1073. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.h +12 -3
  1074. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm +227 -199
  1075. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleManager.h +11 -0
  1076. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleManager.mm +38 -18
  1077. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +88 -0
  1078. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +54 -0
  1079. package/ReactCommon/react/nativemodule/samples/ReactCommon-Samples.podspec +5 -3
  1080. package/ReactCommon/react/nativemodule/samples/platform/android/CMakeLists.txt +0 -1
  1081. package/ReactCommon/react/nativemodule/samples/platform/android/SampleTurboModule.java +2 -1
  1082. package/ReactCommon/react/renderer/animations/CMakeLists.txt +1 -2
  1083. package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp +0 -39
  1084. package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.h +0 -3
  1085. package/ReactCommon/react/renderer/animations/tests/LayoutAnimationTest.cpp +2 -0
  1086. package/ReactCommon/react/renderer/attributedstring/CMakeLists.txt +1 -2
  1087. package/ReactCommon/react/renderer/attributedstring/TextAttributes.cpp +9 -0
  1088. package/ReactCommon/react/renderer/attributedstring/TextAttributes.h +4 -3
  1089. package/ReactCommon/react/renderer/attributedstring/conversions.h +44 -37
  1090. package/ReactCommon/react/renderer/attributedstring/primitives.h +0 -86
  1091. package/ReactCommon/react/renderer/componentregistry/CMakeLists.txt +2 -1
  1092. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp +16 -30
  1093. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.h +0 -7
  1094. package/ReactCommon/react/renderer/componentregistry/native/CMakeLists.txt +1 -2
  1095. package/ReactCommon/react/renderer/components/image/CMakeLists.txt +0 -1
  1096. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/CMakeLists.txt +0 -1
  1097. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.h +1 -6
  1098. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.mm +6 -34
  1099. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/UnstableLegacyViewManagerAutomaticComponentDescriptor.cpp +26 -0
  1100. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/UnstableLegacyViewManagerAutomaticComponentDescriptor.h +35 -0
  1101. package/{ReactAndroid/src/main/jni/react/jni/OnLoad.h → ReactCommon/react/renderer/components/legacyviewmanagerinterop/UnstableLegacyViewManagerAutomaticShadowNode.cpp} +2 -5
  1102. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/UnstableLegacyViewManagerAutomaticShadowNode.h +22 -0
  1103. package/ReactCommon/react/renderer/components/modal/CMakeLists.txt +0 -1
  1104. package/ReactCommon/react/renderer/components/progressbar/CMakeLists.txt +0 -1
  1105. package/ReactCommon/react/renderer/components/root/CMakeLists.txt +1 -2
  1106. package/ReactCommon/react/renderer/components/scrollview/CMakeLists.txt +1 -2
  1107. package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.cpp +8 -0
  1108. package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.h +1 -0
  1109. package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.cpp +18 -0
  1110. package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.h +2 -0
  1111. package/ReactCommon/react/renderer/components/switch/CMakeLists.txt +0 -1
  1112. package/ReactCommon/react/renderer/components/text/BaseTextProps.cpp +8 -0
  1113. package/ReactCommon/react/renderer/components/text/BaseTextShadowNode.cpp +2 -3
  1114. package/ReactCommon/react/renderer/components/text/CMakeLists.txt +1 -2
  1115. package/ReactCommon/react/renderer/components/text/ParagraphLayoutManager.cpp +5 -2
  1116. package/ReactCommon/react/renderer/components/text/ParagraphLayoutManager.h +3 -1
  1117. package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.cpp +25 -14
  1118. package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.h +0 -1
  1119. package/ReactCommon/react/renderer/components/text/RawTextShadowNode.h +0 -8
  1120. package/ReactCommon/react/renderer/components/text/TextShadowNode.h +0 -7
  1121. package/ReactCommon/react/renderer/components/textinput/CMakeLists.txt +3 -4
  1122. package/ReactCommon/react/renderer/components/textinput/{androidtextinput → platform/android}/react/renderer/components/androidtextinput/AndroidTextInputComponentDescriptor.h +22 -28
  1123. package/ReactCommon/react/renderer/components/textinput/{androidtextinput → platform/android}/react/renderer/components/androidtextinput/AndroidTextInputProps.cpp +18 -28
  1124. package/ReactCommon/react/renderer/components/textinput/{androidtextinput → platform/android}/react/renderer/components/androidtextinput/AndroidTextInputProps.h +1 -2
  1125. package/ReactCommon/react/renderer/components/textinput/{androidtextinput → platform/android}/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.cpp +5 -1
  1126. package/ReactCommon/react/renderer/components/textinput/{androidtextinput → platform/android}/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.h +0 -1
  1127. package/ReactCommon/react/renderer/components/textinput/{androidtextinput → platform/android}/react/renderer/components/androidtextinput/AndroidTextInputState.cpp +4 -7
  1128. package/ReactCommon/react/renderer/components/textinput/{androidtextinput → platform/android}/react/renderer/components/androidtextinput/AndroidTextInputState.h +2 -5
  1129. package/ReactCommon/react/renderer/components/textinput/{iostextinput → platform/ios}/react/renderer/components/iostextinput/TextInputProps.cpp +6 -0
  1130. package/ReactCommon/react/renderer/components/textinput/{iostextinput → platform/ios}/react/renderer/components/iostextinput/TextInputProps.h +1 -0
  1131. package/ReactCommon/react/renderer/components/textinput/{iostextinput → platform/ios}/react/renderer/components/iostextinput/TextInputShadowNode.cpp +9 -2
  1132. package/ReactCommon/react/renderer/components/textinput/{iostextinput → platform/ios}/react/renderer/components/iostextinput/TextInputShadowNode.h +0 -1
  1133. package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputState.cpp +10 -0
  1134. package/ReactCommon/react/renderer/components/textinput/{iostextinput → platform/ios}/react/renderer/components/iostextinput/TextInputState.h +0 -16
  1135. package/ReactCommon/react/renderer/components/unimplementedview/CMakeLists.txt +1 -2
  1136. package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewComponentDescriptor.cpp +4 -4
  1137. package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewComponentDescriptor.h +1 -1
  1138. package/ReactCommon/react/renderer/components/view/AccessibilityPrimitives.h +1 -17
  1139. package/ReactCommon/react/renderer/components/view/AccessibilityProps.h +1 -6
  1140. package/ReactCommon/react/renderer/components/view/BaseViewEventEmitter.cpp +31 -37
  1141. package/ReactCommon/react/renderer/components/view/BaseViewProps.cpp +48 -21
  1142. package/ReactCommon/react/renderer/components/view/BaseViewProps.h +2 -0
  1143. package/ReactCommon/react/renderer/components/view/CMakeLists.txt +0 -1
  1144. package/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +11 -3
  1145. package/ReactCommon/react/renderer/components/view/ViewShadowNode.h +0 -6
  1146. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +182 -198
  1147. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.h +4 -9
  1148. package/ReactCommon/react/renderer/components/view/YogaStylableProps.cpp +686 -309
  1149. package/ReactCommon/react/renderer/components/view/YogaStylableProps.h +16 -26
  1150. package/ReactCommon/react/renderer/components/view/conversions.h +79 -144
  1151. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.h +0 -3
  1152. package/ReactCommon/react/renderer/components/view/primitives.h +2 -0
  1153. package/ReactCommon/react/renderer/components/view/propsConversions.h +0 -319
  1154. package/ReactCommon/react/renderer/components/view/tests/LayoutTest.cpp +26 -26
  1155. package/ReactCommon/react/renderer/components/view/tests/ViewTest.cpp +4 -4
  1156. package/ReactCommon/react/renderer/core/CMakeLists.txt +2 -2
  1157. package/ReactCommon/react/renderer/core/ComponentDescriptor.h +2 -10
  1158. package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +11 -13
  1159. package/ReactCommon/react/renderer/core/ConcreteShadowNode.h +3 -2
  1160. package/ReactCommon/react/renderer/core/ConcreteState.h +1 -6
  1161. package/ReactCommon/react/renderer/core/EventEmitter.h +0 -7
  1162. package/ReactCommon/react/renderer/core/EventLogger.h +2 -2
  1163. package/ReactCommon/react/renderer/core/EventQueueProcessor.cpp +4 -11
  1164. package/ReactCommon/react/renderer/core/LayoutMetrics.h +4 -21
  1165. package/ReactCommon/react/renderer/core/LayoutPrimitives.h +6 -17
  1166. package/ReactCommon/react/renderer/core/LayoutableShadowNode.cpp +8 -19
  1167. package/ReactCommon/react/renderer/core/LayoutableShadowNode.h +0 -3
  1168. package/ReactCommon/react/renderer/core/Props.cpp +0 -23
  1169. package/ReactCommon/react/renderer/core/Props.h +3 -4
  1170. package/ReactCommon/react/renderer/core/PropsMacros.h +4 -2
  1171. package/ReactCommon/react/renderer/core/PropsParserContext.h +0 -6
  1172. package/ReactCommon/react/renderer/core/RawProps.cpp +121 -5
  1173. package/ReactCommon/react/renderer/core/RawProps.h +30 -14
  1174. package/ReactCommon/react/renderer/core/RawPropsParser.cpp +7 -8
  1175. package/ReactCommon/react/renderer/core/RawPropsParser.h +1 -1
  1176. package/ReactCommon/react/renderer/core/RawPropsPrimitives.h +0 -1
  1177. package/ReactCommon/react/renderer/core/ShadowNode.cpp +1 -1
  1178. package/ReactCommon/react/renderer/core/ShadowNodeFamily.cpp +2 -2
  1179. package/ReactCommon/react/renderer/core/ShadowNodeFamily.h +2 -4
  1180. package/ReactCommon/react/renderer/core/ShadowNodeTraits.h +10 -31
  1181. package/ReactCommon/react/renderer/core/graphicsConversions.h +2 -23
  1182. package/ReactCommon/react/renderer/core/propsConversions.h +2 -4
  1183. package/ReactCommon/react/renderer/core/tests/ComponentDescriptorTest.cpp +9 -6
  1184. package/ReactCommon/react/renderer/core/tests/EventTargetTests.cpp +43 -0
  1185. package/ReactCommon/react/renderer/core/tests/FindNodeAtPointTest.cpp +1 -1
  1186. package/ReactCommon/react/renderer/core/tests/RawPropsTest.cpp +155 -26
  1187. package/ReactCommon/react/renderer/core/tests/ShadowNodeTest.cpp +40 -64
  1188. package/ReactCommon/react/renderer/css/CSSDeclaredStyle.h +108 -0
  1189. package/ReactCommon/react/renderer/css/CSSKeywords.h +458 -0
  1190. package/ReactCommon/react/renderer/css/CSSLengthUnit.h +165 -0
  1191. package/ReactCommon/react/renderer/css/CSSParser.h +220 -0
  1192. package/ReactCommon/react/renderer/css/CSSProperties.h +1087 -0
  1193. package/ReactCommon/react/renderer/css/CSSTokenizer.h +263 -0
  1194. package/ReactCommon/react/renderer/css/CSSValue.h +277 -0
  1195. package/ReactCommon/react/renderer/css/tests/CSSDeclaredStyleTest.cpp +151 -0
  1196. package/ReactCommon/react/renderer/css/tests/CSSParserTest.cpp +317 -0
  1197. package/ReactCommon/react/renderer/css/tests/CSSTokenizerTest.cpp +154 -0
  1198. package/ReactCommon/react/renderer/debug/CMakeLists.txt +0 -1
  1199. package/ReactCommon/react/renderer/debug/React-rendererdebug.podspec +4 -3
  1200. package/ReactCommon/react/renderer/debug/flags.h +0 -4
  1201. package/ReactCommon/react/renderer/element/CMakeLists.txt +0 -1
  1202. package/ReactCommon/react/renderer/graphics/CMakeLists.txt +0 -1
  1203. package/ReactCommon/react/renderer/graphics/Color.h +9 -7
  1204. package/ReactCommon/react/renderer/graphics/React-graphics.podspec +10 -3
  1205. package/ReactCommon/react/renderer/graphics/fromRawValueShared.h +50 -0
  1206. package/ReactCommon/react/renderer/graphics/platform/android/react/renderer/graphics/PlatformColorParser.h +18 -7
  1207. package/ReactCommon/react/renderer/graphics/platform/cxx/react/renderer/graphics/PlatformColorParser.h +16 -4
  1208. package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/HostPlatformColor.h +55 -15
  1209. package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/HostPlatformColor.mm +132 -0
  1210. package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/PlatformColorParser.h +15 -17
  1211. package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/PlatformColorParser.mm +73 -0
  1212. package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/RCTPlatformColorUtils.h +8 -2
  1213. package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/RCTPlatformColorUtils.mm +14 -3
  1214. package/ReactCommon/react/renderer/imagemanager/CMakeLists.txt +0 -1
  1215. package/ReactCommon/react/renderer/imagemanager/ImageManager.h +6 -4
  1216. package/ReactCommon/react/renderer/imagemanager/platform/ios/React-ImageManager.podspec +1 -1
  1217. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTImagePrimitivesConversions.h +4 -3
  1218. package/ReactCommon/react/renderer/leakchecker/CMakeLists.txt +1 -2
  1219. package/ReactCommon/react/renderer/mapbuffer/CMakeLists.txt +0 -1
  1220. package/ReactCommon/react/renderer/mapbuffer/MapBufferBuilder.cpp +4 -4
  1221. package/ReactCommon/react/renderer/mapbuffer/MapBufferBuilder.h +2 -0
  1222. package/ReactCommon/react/renderer/mounting/CMakeLists.txt +1 -2
  1223. package/ReactCommon/react/renderer/mounting/Differentiator.cpp +37 -27
  1224. package/ReactCommon/react/renderer/mounting/Differentiator.h +1 -1
  1225. package/ReactCommon/react/renderer/mounting/ShadowTree.cpp +4 -4
  1226. package/ReactCommon/react/renderer/mounting/ShadowView.cpp +1 -2
  1227. package/ReactCommon/react/renderer/mounting/stubs.cpp +2 -2
  1228. package/ReactCommon/react/renderer/mounting/tests/OrderIndexTest.cpp +244 -0
  1229. package/ReactCommon/react/renderer/mounting/tests/StackingContextTest.cpp +18 -16
  1230. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserver.cpp +1 -2
  1231. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserverManager.cpp +37 -21
  1232. package/ReactCommon/react/renderer/observers/mutation/MutationObserver.cpp +3 -3
  1233. package/ReactCommon/react/renderer/observers/mutation/MutationObserver.h +3 -3
  1234. package/ReactCommon/react/renderer/observers/mutation/MutationObserverManager.cpp +2 -2
  1235. package/ReactCommon/react/renderer/observers/mutation/MutationObserverManager.h +2 -2
  1236. package/ReactCommon/react/renderer/runtimescheduler/CMakeLists.txt +3 -2
  1237. package/ReactCommon/react/renderer/runtimescheduler/React-runtimescheduler.podspec +4 -2
  1238. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.cpp +37 -136
  1239. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.h +46 -60
  1240. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerCallInvoker.cpp +2 -2
  1241. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerCallInvoker.h +3 -2
  1242. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Legacy.cpp +215 -0
  1243. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Legacy.h +164 -0
  1244. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Modern.cpp +342 -0
  1245. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Modern.h +196 -0
  1246. package/ReactCommon/react/renderer/runtimescheduler/SchedulerPriorityUtils.h +1 -1
  1247. package/ReactCommon/react/renderer/runtimescheduler/Task.cpp +2 -2
  1248. package/ReactCommon/react/renderer/runtimescheduler/Task.h +6 -4
  1249. package/ReactCommon/react/renderer/runtimescheduler/primitives.h +4 -20
  1250. package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +435 -26
  1251. package/ReactCommon/react/renderer/scheduler/CMakeLists.txt +1 -3
  1252. package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +21 -79
  1253. package/ReactCommon/react/renderer/scheduler/Scheduler.h +0 -4
  1254. package/ReactCommon/react/renderer/telemetry/CMakeLists.txt +1 -2
  1255. package/ReactCommon/react/renderer/textlayoutmanager/CMakeLists.txt +1 -2
  1256. package/ReactCommon/react/renderer/textlayoutmanager/TextLayoutContext.h +40 -0
  1257. package/ReactCommon/react/renderer/textlayoutmanager/TextMeasureCache.h +8 -11
  1258. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp +19 -16
  1259. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.h +2 -0
  1260. package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/TextLayoutManager.cpp +1 -0
  1261. package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/TextLayoutManager.h +7 -3
  1262. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTAttributedTextUtils.mm +51 -36
  1263. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.mm +1 -1
  1264. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextPrimitivesConversions.h +4 -19
  1265. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.h +2 -0
  1266. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.mm +1 -0
  1267. package/ReactCommon/react/renderer/uimanager/CMakeLists.txt +1 -2
  1268. package/ReactCommon/react/renderer/uimanager/PointerEventsProcessor.cpp +191 -52
  1269. package/ReactCommon/react/renderer/uimanager/PointerEventsProcessor.h +34 -6
  1270. package/ReactCommon/react/renderer/uimanager/PointerHoverTracker.cpp +150 -0
  1271. package/ReactCommon/react/renderer/uimanager/PointerHoverTracker.h +71 -0
  1272. package/ReactCommon/react/renderer/uimanager/UIManager.cpp +67 -20
  1273. package/ReactCommon/react/renderer/uimanager/UIManager.h +10 -7
  1274. package/ReactCommon/react/renderer/uimanager/UIManagerAnimationDelegate.h +0 -8
  1275. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +115 -92
  1276. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.h +1 -1
  1277. package/ReactCommon/react/renderer/uimanager/primitives.h +36 -56
  1278. package/ReactCommon/react/renderer/uimanager/tests/PointerEventsProcessorTest.cpp +401 -0
  1279. package/ReactCommon/react/runtime/BridgelessJSCallInvoker.cpp +2 -1
  1280. package/ReactCommon/react/runtime/BridgelessJSCallInvoker.h +1 -1
  1281. package/ReactCommon/react/runtime/BridgelessNativeMethodCallInvoker.cpp +1 -1
  1282. package/ReactCommon/react/runtime/BridgelessNativeMethodCallInvoker.h +3 -2
  1283. package/ReactCommon/react/runtime/CMakeLists.txt +5 -0
  1284. package/ReactCommon/react/runtime/JSRuntimeFactory.cpp +33 -0
  1285. package/ReactCommon/react/runtime/JSRuntimeFactory.h +58 -0
  1286. package/ReactCommon/react/runtime/React-RuntimeCore.podspec +8 -3
  1287. package/ReactCommon/react/runtime/React-RuntimeHermes.podspec +9 -4
  1288. package/ReactCommon/react/runtime/ReactInstance.cpp +39 -72
  1289. package/ReactCommon/react/runtime/ReactInstance.h +19 -4
  1290. package/ReactCommon/react/runtime/TimerManager.cpp +2 -1
  1291. package/ReactCommon/react/runtime/TimerManager.h +1 -1
  1292. package/ReactCommon/react/runtime/hermes/CMakeLists.txt +3 -0
  1293. package/ReactCommon/react/runtime/hermes/HermesInstance.cpp +62 -10
  1294. package/ReactCommon/react/runtime/hermes/HermesInstance.h +2 -1
  1295. package/ReactCommon/react/runtime/iostests/RCTHostTests.mm +3 -2
  1296. package/ReactCommon/react/runtime/nativeviewconfig/LegacyUIManagerConstantsProviderBinding.cpp +34 -3
  1297. package/ReactCommon/react/runtime/nativeviewconfig/LegacyUIManagerConstantsProviderBinding.h +8 -1
  1298. package/ReactCommon/react/runtime/platform/ios/React-RuntimeApple.podspec +4 -2
  1299. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHermesInstance.h +3 -3
  1300. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHermesInstance.mm +1 -1
  1301. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost+Internal.h +0 -2
  1302. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.h +18 -5
  1303. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.mm +111 -17
  1304. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.h +6 -3
  1305. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.mm +81 -21
  1306. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTJscInstance.h +3 -3
  1307. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTJscInstance.mm +2 -3
  1308. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTLegacyUIManagerConstantsProvider.mm +1 -1
  1309. package/ReactCommon/react/runtime/tests/cxx/ReactInstanceTest.cpp +3 -2
  1310. package/ReactCommon/react/test_utils/ios/Shims/ShimRCTInstance.h +1 -1
  1311. package/ReactCommon/react/test_utils/ios/Shims/ShimRCTInstance.mm +7 -3
  1312. package/ReactCommon/react/utils/CMakeLists.txt +1 -1
  1313. package/ReactCommon/react/utils/CoreFeatures.cpp +1 -7
  1314. package/ReactCommon/react/utils/CoreFeatures.h +4 -26
  1315. package/ReactCommon/react/utils/PackTraits.h +31 -0
  1316. package/ReactCommon/react/utils/React-utils.podspec +10 -2
  1317. package/ReactCommon/react/utils/fnv1a.h +41 -0
  1318. package/ReactCommon/react/utils/hash_combine.h +8 -6
  1319. package/ReactCommon/react/utils/jsi.cpp +39 -0
  1320. package/ReactCommon/react/utils/jsi.h +31 -0
  1321. package/ReactCommon/react/utils/tests/fnv1aTests.cpp +24 -0
  1322. package/ReactCommon/react/{renderer/components/view/platform/android/react/renderer/components/view/YogaStylablePropsMapBuffer.h → utils/to_underlying.h} +8 -8
  1323. package/ReactCommon/reactperflogger/CMakeLists.txt +1 -2
  1324. package/ReactCommon/reactperflogger/React-perflogger.podspec +3 -2
  1325. package/ReactCommon/runtimeexecutor/CMakeLists.txt +1 -2
  1326. package/ReactCommon/runtimeexecutor/React-runtimeexecutor.podspec +3 -2
  1327. package/ReactCommon/yoga/Yoga.podspec +4 -4
  1328. package/ReactCommon/yoga/cmake/project-defaults.cmake +1 -1
  1329. package/ReactCommon/yoga/yoga/YGConfig.cpp +92 -0
  1330. package/ReactCommon/yoga/yoga/YGConfig.h +158 -0
  1331. package/ReactCommon/yoga/yoga/YGEnums.cpp +6 -14
  1332. package/ReactCommon/yoga/yoga/YGEnums.h +20 -25
  1333. package/ReactCommon/yoga/yoga/YGMacros.h +4 -38
  1334. package/ReactCommon/yoga/yoga/YGNode.cpp +366 -0
  1335. package/ReactCommon/yoga/yoga/YGNode.h +304 -0
  1336. package/ReactCommon/yoga/yoga/YGNodeLayout.cpp +92 -0
  1337. package/ReactCommon/yoga/yoga/YGNodeLayout.h +35 -0
  1338. package/ReactCommon/yoga/yoga/YGNodeStyle.cpp +385 -0
  1339. package/ReactCommon/yoga/yoga/YGNodeStyle.h +123 -0
  1340. package/ReactCommon/yoga/yoga/YGPixelGrid.cpp +22 -0
  1341. package/ReactCommon/yoga/yoga/YGPixelGrid.h +29 -0
  1342. package/ReactCommon/yoga/yoga/YGValue.cpp +8 -0
  1343. package/ReactCommon/yoga/yoga/YGValue.h +33 -8
  1344. package/ReactCommon/yoga/yoga/Yoga.h +8 -314
  1345. package/ReactCommon/yoga/yoga/algorithm/AbsoluteLayout.cpp +598 -0
  1346. package/ReactCommon/yoga/yoga/algorithm/AbsoluteLayout.h +40 -0
  1347. package/ReactCommon/yoga/yoga/algorithm/Align.h +4 -4
  1348. package/ReactCommon/yoga/yoga/algorithm/Baseline.cpp +9 -9
  1349. package/ReactCommon/yoga/yoga/algorithm/BoundAxis.h +11 -12
  1350. package/ReactCommon/yoga/yoga/algorithm/Cache.cpp +35 -35
  1351. package/ReactCommon/yoga/yoga/algorithm/Cache.h +5 -5
  1352. package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.cpp +605 -986
  1353. package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.h +17 -0
  1354. package/ReactCommon/yoga/yoga/algorithm/FlexDirection.h +41 -15
  1355. package/ReactCommon/yoga/yoga/algorithm/FlexLine.cpp +13 -7
  1356. package/ReactCommon/yoga/yoga/algorithm/PixelGrid.cpp +8 -8
  1357. package/ReactCommon/yoga/yoga/algorithm/SizingMode.h +73 -0
  1358. package/ReactCommon/yoga/yoga/algorithm/TrailingPosition.h +44 -0
  1359. package/ReactCommon/yoga/yoga/config/Config.cpp +0 -8
  1360. package/ReactCommon/yoga/yoga/config/Config.h +0 -4
  1361. package/ReactCommon/yoga/yoga/debug/AssertFatal.cpp +3 -0
  1362. package/ReactCommon/yoga/yoga/debug/AssertFatal.h +3 -2
  1363. package/ReactCommon/yoga/yoga/enums/Align.h +6 -10
  1364. package/ReactCommon/yoga/yoga/enums/Dimension.h +4 -9
  1365. package/ReactCommon/yoga/yoga/enums/Direction.h +4 -9
  1366. package/ReactCommon/yoga/yoga/enums/Display.h +4 -9
  1367. package/ReactCommon/yoga/yoga/enums/Edge.h +4 -9
  1368. package/ReactCommon/yoga/yoga/enums/Errata.h +4 -12
  1369. package/ReactCommon/yoga/yoga/enums/ExperimentalFeature.h +4 -10
  1370. package/ReactCommon/yoga/yoga/enums/FlexDirection.h +4 -9
  1371. package/ReactCommon/yoga/yoga/enums/Gutter.h +4 -9
  1372. package/ReactCommon/yoga/yoga/enums/Justify.h +4 -9
  1373. package/ReactCommon/yoga/yoga/enums/LogLevel.h +4 -9
  1374. package/ReactCommon/yoga/yoga/enums/MeasureMode.h +4 -9
  1375. package/ReactCommon/yoga/yoga/enums/NodeType.h +4 -9
  1376. package/ReactCommon/yoga/yoga/enums/Overflow.h +4 -9
  1377. package/ReactCommon/yoga/yoga/enums/PhysicalEdge.h +21 -0
  1378. package/ReactCommon/yoga/yoga/enums/PositionType.h +4 -9
  1379. package/ReactCommon/yoga/yoga/enums/Unit.h +4 -9
  1380. package/ReactCommon/yoga/yoga/enums/Wrap.h +4 -9
  1381. package/ReactCommon/yoga/yoga/enums/YogaEnums.h +69 -2
  1382. package/ReactCommon/yoga/yoga/module.modulemap +21 -0
  1383. package/ReactCommon/yoga/yoga/node/CachedMeasurement.h +5 -5
  1384. package/ReactCommon/yoga/yoga/node/LayoutResults.cpp +4 -4
  1385. package/ReactCommon/yoga/yoga/node/LayoutResults.h +55 -22
  1386. package/ReactCommon/yoga/yoga/node/Node.cpp +74 -318
  1387. package/ReactCommon/yoga/yoga/node/Node.h +64 -113
  1388. package/ReactCommon/yoga/yoga/numeric/Comparison.h +33 -43
  1389. package/ReactCommon/yoga/yoga/numeric/FloatOptional.h +30 -14
  1390. package/ReactCommon/yoga/yoga/style/SmallValueBuffer.h +133 -0
  1391. package/ReactCommon/yoga/yoga/style/Style.h +552 -207
  1392. package/ReactCommon/yoga/yoga/style/StyleLength.h +139 -0
  1393. package/ReactCommon/yoga/yoga/style/StyleValueHandle.h +98 -0
  1394. package/ReactCommon/yoga/yoga/style/StyleValuePool.h +127 -0
  1395. package/cli.js +17 -5
  1396. package/flow/jest.js +1 -1
  1397. package/flow/react.js +15 -0
  1398. package/gradle/libs.versions.toml +12 -11
  1399. package/index.js +61 -101
  1400. package/jest/assetFileTransformer.js +1 -1
  1401. package/jest/local-setup.js +0 -5
  1402. package/jest/mockModal.js +2 -1
  1403. package/jest/mockScrollView.js +1 -2
  1404. package/jest/renderer.js +1 -1
  1405. package/jest/setup.js +6 -3
  1406. package/package.json +30 -17
  1407. package/react-native.config.js +29 -1
  1408. package/scripts/cocoapods/codegen.rb +15 -64
  1409. package/scripts/cocoapods/codegen_utils.rb +13 -27
  1410. package/scripts/cocoapods/helpers.rb +11 -0
  1411. package/scripts/cocoapods/jsengine.rb +0 -1
  1412. package/scripts/cocoapods/new_architecture.rb +57 -74
  1413. package/scripts/cocoapods/utils.rb +137 -65
  1414. package/scripts/codegen/codegen-utils.js +14 -0
  1415. package/scripts/codegen/generate-artifacts-executor.js +465 -373
  1416. package/scripts/codegen/generate-specs-cli-executor.js +25 -24
  1417. package/scripts/codegen/templates/RCTModulesConformingToProtocolsProviderH.template +18 -0
  1418. package/scripts/codegen/templates/RCTModulesConformingToProtocolsProviderMM.template +33 -0
  1419. package/scripts/compose-source-maps.js +2 -2
  1420. package/scripts/generate-codegen-artifacts.js +9 -50
  1421. package/scripts/generate-provider-cli.js +2 -11
  1422. package/scripts/generate-specs-cli.js +1 -1
  1423. package/scripts/hermes/hermes-utils.js +32 -16
  1424. package/scripts/hermes/prepare-hermes-for-build.js +1 -1
  1425. package/scripts/react-native-xcode.sh +4 -4
  1426. package/scripts/react_native_pods.rb +30 -148
  1427. package/scripts/react_native_pods_utils/script_phases.rb +0 -2
  1428. package/scripts/react_native_pods_utils/script_phases.sh +2 -2
  1429. package/scripts/xcode/ccache-clang++.sh +14 -0
  1430. package/scripts/xcode/ccache-clang.sh +14 -0
  1431. package/scripts/xcode/ccache.conf +11 -0
  1432. package/sdks/.hermesversion +1 -1
  1433. package/sdks/hermes-engine/hermes-engine.podspec +0 -1
  1434. package/sdks/hermes-engine/utils/build-apple-framework.sh +1 -0
  1435. package/sdks/hermes-engine/utils/build-hermes-xcode.sh +25 -5
  1436. package/sdks/hermes-engine/utils/build-hermesc-xcode.sh +6 -18
  1437. package/sdks/hermes-engine/utils/build-ios-framework.sh +6 -1
  1438. package/sdks/hermes-engine/utils/build-mac-framework.sh +5 -0
  1439. package/sdks/hermes-engine/utils/create-dummy-hermes-xcframework.sh +6 -4
  1440. package/sdks/hermes-engine/utils/replace_hermes_version.js +2 -2
  1441. package/sdks/hermesc/linux64-bin/hermesc +0 -0
  1442. package/sdks/hermesc/osx-bin/hermes +0 -0
  1443. package/sdks/hermesc/osx-bin/hermesc +0 -0
  1444. package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
  1445. package/settings.gradle.kts +0 -7
  1446. package/{Libraries/Core → src/private/core}/setUpDOM.js +2 -2
  1447. package/src/private/featureflags/NativeReactNativeFeatureFlags.js +42 -0
  1448. package/src/private/featureflags/ReactNativeFeatureFlags.js +140 -0
  1449. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +84 -0
  1450. package/src/private/featureflags/__tests__/ReactNativeFeatureFlags-test.js +92 -0
  1451. package/src/private/specs/components/ActivityIndicatorViewNativeComponent.js +53 -0
  1452. package/src/private/specs/components/AndroidDrawerLayoutNativeComponent.js +124 -0
  1453. package/src/private/specs/components/AndroidHorizontalScrollContentViewNativeComponent.js +26 -0
  1454. package/src/private/specs/components/AndroidSwipeRefreshLayoutNativeComponent.js +74 -0
  1455. package/src/private/specs/components/AndroidSwitchNativeComponent.js +62 -0
  1456. package/src/private/specs/components/DebuggingOverlayNativeComponent.js +61 -0
  1457. package/src/private/specs/components/ProgressBarAndroidNativeComponent.js +36 -0
  1458. package/src/private/specs/components/PullToRefreshViewNativeComponent.js +71 -0
  1459. package/src/private/specs/components/RCTInputAccessoryViewNativeComponent.js +26 -0
  1460. package/src/private/specs/components/RCTModalHostViewNativeComponent.js +139 -0
  1461. package/src/private/specs/components/RCTSafeAreaViewNativeComponent.js +25 -0
  1462. package/src/private/specs/components/SwitchNativeComponent.js +61 -0
  1463. package/src/private/specs/components/UnimplementedNativeViewNativeComponent.js +26 -0
  1464. package/src/private/specs/modules/NativeAccessibilityInfo.js +33 -0
  1465. package/src/private/specs/modules/NativeAccessibilityManager.js +66 -0
  1466. package/src/private/specs/modules/NativeActionSheetManager.js +54 -0
  1467. package/src/private/specs/modules/NativeAlertManager.js +35 -0
  1468. package/src/private/specs/modules/NativeAnimatedModule.js +77 -0
  1469. package/src/private/specs/modules/NativeAnimatedTurboModule.js +78 -0
  1470. package/src/private/specs/modules/NativeAnimationsDebugModule.js +20 -0
  1471. package/src/private/specs/modules/NativeAppState.js +33 -0
  1472. package/src/private/specs/modules/NativeAppearance.js +36 -0
  1473. package/src/private/specs/modules/NativeBlobModule.js +59 -0
  1474. package/src/private/specs/modules/NativeBugReporting.js +20 -0
  1475. package/src/private/specs/modules/NativeClipboard.js +21 -0
  1476. package/src/private/specs/modules/NativeDevLoadingView.js +24 -0
  1477. package/src/private/specs/modules/NativeDevMenu.js +23 -0
  1478. package/src/private/specs/modules/NativeDevSettings.js +33 -0
  1479. package/src/private/specs/modules/NativeDevToolsSettingsManager.js +24 -0
  1480. package/src/private/specs/modules/NativeDeviceEventManager.js +19 -0
  1481. package/src/private/specs/modules/NativeDeviceInfo.js +58 -0
  1482. package/src/private/specs/modules/NativeDialogManagerAndroid.js +48 -0
  1483. package/src/private/specs/modules/NativeExceptionsManager.js +103 -0
  1484. package/src/private/specs/modules/NativeFileReaderModule.js +22 -0
  1485. package/src/private/specs/modules/NativeFrameRateLogger.js +22 -0
  1486. package/src/private/specs/modules/NativeHeadlessJsTaskSupport.js +20 -0
  1487. package/src/private/specs/modules/NativeI18nManager.js +28 -0
  1488. package/src/private/specs/modules/NativeImageEditor.js +52 -0
  1489. package/src/private/specs/modules/NativeImageLoaderAndroid.js +30 -0
  1490. package/src/private/specs/modules/NativeImageLoaderIOS.js +37 -0
  1491. package/src/private/specs/modules/NativeImageStoreAndroid.js +26 -0
  1492. package/src/private/specs/modules/NativeImageStoreIOS.js +33 -0
  1493. package/src/private/specs/modules/NativeIntentAndroid.js +30 -0
  1494. package/src/private/specs/modules/NativeIntersectionObserver.js +41 -0
  1495. package/src/private/specs/modules/NativeJSCHeapCapture.js +19 -0
  1496. package/src/private/specs/modules/NativeJSCSamplingProfiler.js +19 -0
  1497. package/src/private/specs/modules/NativeKeyboardObserver.js +20 -0
  1498. package/src/private/specs/modules/NativeLinkingManager.js +27 -0
  1499. package/src/private/specs/modules/NativeLogBox.js +20 -0
  1500. package/src/private/specs/modules/NativeModalManager.js +21 -0
  1501. package/src/private/specs/modules/NativeMutationObserver.js +58 -0
  1502. package/src/private/specs/modules/NativeNetworkingAndroid.js +37 -0
  1503. package/src/private/specs/modules/NativeNetworkingIOS.js +37 -0
  1504. package/src/private/specs/modules/NativePermissionsAndroid.js +77 -0
  1505. package/src/private/specs/modules/NativePlatformConstantsAndroid.js +44 -0
  1506. package/src/private/specs/modules/NativePlatformConstantsIOS.js +37 -0
  1507. package/src/private/specs/modules/NativePushNotificationManagerIOS.js +107 -0
  1508. package/src/private/specs/modules/NativeRedBox.js +20 -0
  1509. package/src/private/specs/modules/NativeSampleTurboModule.js +53 -0
  1510. package/src/private/specs/modules/NativeSegmentFetcher.js +28 -0
  1511. package/src/private/specs/modules/NativeSettingsManager.js +25 -0
  1512. package/src/private/specs/modules/NativeShareModule.js +23 -0
  1513. package/src/private/specs/modules/NativeSoundManager.js +22 -0
  1514. package/src/private/specs/modules/NativeSourceCode.js +36 -0
  1515. package/src/private/specs/modules/NativeStatusBarManagerAndroid.js +68 -0
  1516. package/src/private/specs/modules/NativeStatusBarManagerIOS.js +89 -0
  1517. package/src/private/specs/modules/NativeTVNavigationEventEmitter.js +20 -0
  1518. package/src/private/specs/modules/NativeTiming.js +26 -0
  1519. package/src/private/specs/modules/NativeToastAndroid.js +38 -0
  1520. package/src/private/specs/modules/NativeUIManager.js +118 -0
  1521. package/src/private/specs/modules/NativeVibration.js +24 -0
  1522. package/src/private/specs/modules/NativeWebSocketModule.js +34 -0
  1523. package/{Libraries/DOM/Nodes → src/private/webapis/dom/nodes}/ReactNativeElement.js +6 -6
  1524. package/{Libraries/DOM/Nodes → src/private/webapis/dom/nodes}/ReadOnlyCharacterData.js +2 -2
  1525. package/{Libraries/DOM/Nodes → src/private/webapis/dom/nodes}/ReadOnlyElement.js +5 -5
  1526. package/{Libraries/DOM/Nodes → src/private/webapis/dom/nodes}/ReadOnlyNode.js +19 -10
  1527. package/{Libraries/DOM/OldStyleCollections → src/private/webapis/dom/oldstylecollections}/DOMRectList.js +1 -1
  1528. package/{Libraries/DOM/OldStyleCollections → src/private/webapis/dom/oldstylecollections}/DOMRectList.js.flow +1 -1
  1529. package/src/private/webapis/dom/oldstylecollections/__tests__/DOMRectList-test.js +85 -0
  1530. package/src/private/webapis/dom/oldstylecollections/__tests__/HTMLCollection-test.js +80 -0
  1531. package/src/private/webapis/dom/oldstylecollections/__tests__/NodeList-test.js +161 -0
  1532. package/{Libraries/WebPerformance → src/private/webapis/performance}/NativePerformance.js +2 -2
  1533. package/{Libraries/WebPerformance → src/private/webapis/performance}/NativePerformanceObserver.cpp +34 -4
  1534. package/{Libraries/WebPerformance → src/private/webapis/performance}/NativePerformanceObserver.h +12 -14
  1535. package/{Libraries/WebPerformance → src/private/webapis/performance}/NativePerformanceObserver.js +3 -2
  1536. package/{Libraries/WebPerformance → src/private/webapis/performance}/Performance.js +2 -2
  1537. package/{Libraries/WebPerformance → src/private/webapis/performance}/PerformanceEntryReporter.cpp +64 -27
  1538. package/{Libraries/WebPerformance → src/private/webapis/performance}/PerformanceEntryReporter.h +16 -5
  1539. package/{Libraries/WebPerformance → src/private/webapis/performance}/PerformanceEventTiming.js +1 -1
  1540. package/{Libraries/WebPerformance → src/private/webapis/performance}/PerformanceObserver.js +21 -2
  1541. package/{Libraries/WebPerformance → src/private/webapis/performance}/RawPerformanceEntry.js +1 -1
  1542. package/{Libraries/WebPerformance → src/private/webapis/performance}/__mocks__/NativePerformanceObserver.js +9 -0
  1543. package/src/private/webapis/performance/__tests__/BoundedConsumableBufferTest.cpp +201 -0
  1544. package/src/private/webapis/performance/__tests__/EventCounts-test.js +116 -0
  1545. package/src/private/webapis/performance/__tests__/NativePerformanceMock-test.js +82 -0
  1546. package/src/private/webapis/performance/__tests__/NativePerformanceObserverMock-test.js +108 -0
  1547. package/src/private/webapis/performance/__tests__/Performance-test.js +117 -0
  1548. package/src/private/webapis/performance/__tests__/PerformanceEntryReporterTest.cpp +373 -0
  1549. package/src/private/webapis/performance/__tests__/PerformanceObserver-test.js +208 -0
  1550. package/template/_gitignore +10 -2
  1551. package/template/android/app/build.gradle +0 -2
  1552. package/template/android/app/src/main/java/com/helloworld/MainApplication.kt +1 -1
  1553. package/template/android/app/src/main/res/drawable/rn_edit_text_material.xml +2 -1
  1554. package/template/android/build.gradle +3 -3
  1555. package/template/android/gradle/wrapper/gradle-wrapper.properties +1 -1
  1556. package/template/android/gradlew +7 -7
  1557. package/template/android/gradlew.bat +10 -10
  1558. package/template/ios/HelloWorld/AppDelegate.mm +2 -2
  1559. package/template/ios/HelloWorld/PrivacyInfo.xcprivacy +38 -0
  1560. package/template/ios/HelloWorld.xcodeproj/project.pbxproj +18 -2
  1561. package/template/ios/Podfile +0 -15
  1562. package/template/metro.config.js +1 -1
  1563. package/template/package.json +6 -6
  1564. package/third-party-podspecs/DoubleConversion.podspec +4 -0
  1565. package/third-party-podspecs/RCT-Folly.podspec +12 -49
  1566. package/third-party-podspecs/fmt.podspec +21 -20
  1567. package/types/index.d.ts +1 -0
  1568. package/types/modules/globals.d.ts +1 -0
  1569. package/Libraries/AppDelegate/RCTLegacyInteropComponents.mm +0 -21
  1570. package/Libraries/Components/Button.flow.js +0 -265
  1571. package/Libraries/Components/ScrollView/ScrollViewViewConfig.js +0 -86
  1572. package/Libraries/Components/TV/NativeTVNavigationEventEmitter.js +0 -24
  1573. package/Libraries/Components/Touchable/Touchable.flow.js +0 -284
  1574. package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlay.js +0 -189
  1575. package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlayNativeComponent.js +0 -43
  1576. package/Libraries/Image/Image.flow.js +0 -64
  1577. package/Libraries/Inspector/DevtoolsOverlay.js +0 -223
  1578. package/Libraries/Performance/QuickPerformanceLogger.js +0 -142
  1579. package/React/FBReactNativeSpec/FBReactNativeSpec.podspec +0 -58
  1580. package/ReactAndroid/DevExperience.md +0 -23
  1581. package/ReactAndroid/build.gradle +0 -828
  1582. package/ReactAndroid/flipper-integration/build.gradle.kts +0 -64
  1583. package/ReactAndroid/flipper-integration/src/debug/java/com/facebook/react/flipper/ReactNativeFlipper.kt +0 -66
  1584. package/ReactAndroid/flipper-integration/src/release/java/com/facebook/react/flipper/ReactNativeFlipper.kt +0 -23
  1585. package/ReactAndroid/hermes-engine/build.gradle +0 -307
  1586. package/ReactAndroid/src/main/java/com/facebook/react/LazyTurboModuleManagerDelegate.java +0 -104
  1587. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstancePackage.java +0 -32
  1588. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSCJavaScriptExecutor.java +0 -31
  1589. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSCJavaScriptExecutorFactory.java +0 -46
  1590. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactCallback.java +0 -22
  1591. package/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManagerProvider.java +0 -18
  1592. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultBindingsInstaller.kt +0 -18
  1593. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultJSIModulePackage.kt +0 -59
  1594. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/JSException.java +0 -34
  1595. package/ReactAndroid/src/main/java/com/facebook/react/fabric/EmptyReactNativeConfig.java +0 -35
  1596. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricJSIModuleProvider.java +0 -70
  1597. package/ReactAndroid/src/main/java/com/facebook/react/fabric/interop/InteropEvent.java +0 -41
  1598. package/ReactAndroid/src/main/java/com/facebook/react/fabric/interop/InteropEventEmitter.java +0 -65
  1599. package/ReactAndroid/src/main/java/com/facebook/react/runtime/.clang-format +0 -91
  1600. package/ReactAndroid/src/main/java/com/facebook/react/touch/JSResponderHandler.java +0 -73
  1601. package/ReactAndroid/src/main/java/com/facebook/react/touch/ReactHitSlopView.java +0 -26
  1602. package/ReactAndroid/src/main/java/com/facebook/react/touch/ReactInterceptingViewGroup.java +0 -32
  1603. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerAdapter.java +0 -111
  1604. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIConstantsProvider.java +0 -18
  1605. package/ReactAndroid/src/main/java/com/facebook/react/views/traceupdateoverlay/TraceUpdateOverlay.java +0 -70
  1606. package/ReactAndroid/src/main/java/com/facebook/react/views/traceupdateoverlay/TraceUpdateOverlayManager.java +0 -83
  1607. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactMapBufferPropSetter.kt +0 -526
  1608. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactMapBufferViewManager.kt +0 -76
  1609. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManagerWrapper.kt +0 -101
  1610. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaPrintOptions.java +0 -35
  1611. package/ReactAndroid/src/main/jni/react/fabric/viewPropConversions.h +0 -221
  1612. package/ReactAndroid/src/main/jni/react/jni/CxxModuleWrapper.cpp +0 -57
  1613. package/ReactAndroid/src/main/jni/third-party/libevent/CMakeLists.txt +0 -42
  1614. package/ReactAndroid/src/main/jni/third-party/libevent/evconfig-private.h +0 -49
  1615. package/ReactAndroid/src/main/jni/third-party/libevent/event-config.h +0 -340
  1616. package/ReactAndroid/src/main/res/devsupport/values-as/strings.xml +0 -6
  1617. package/ReactAndroid/src/main/res/devsupport/values-bs/strings.xml +0 -7
  1618. package/ReactAndroid/src/main/res/devsupport/values-ha/strings.xml +0 -8
  1619. package/ReactAndroid/src/main/res/devsupport/values-in/strings.xml +0 -8
  1620. package/ReactAndroid/src/main/res/devsupport/values-jv/strings.xml +0 -8
  1621. package/ReactAndroid/src/main/res/devsupport/values-ku/strings.xml +0 -6
  1622. package/ReactAndroid/src/main/res/devsupport/values-nb/strings.xml +0 -8
  1623. package/ReactAndroid/src/main/res/devsupport/values-ps/strings.xml +0 -6
  1624. package/ReactAndroid/src/main/res/devsupport/values-qz/strings.xml +0 -6
  1625. package/ReactAndroid/src/main/res/devsupport/values-sn/strings.xml +0 -6
  1626. package/ReactAndroid/src/main/res/devsupport/values-so/strings.xml +0 -6
  1627. package/ReactAndroid/src/main/res/devsupport/values-tg/strings.xml +0 -6
  1628. package/ReactAndroid/src/main/res/devsupport/values-tk/strings.xml +0 -6
  1629. package/ReactAndroid/src/main/res/devsupport/values-tl/strings.xml +0 -7
  1630. package/ReactAndroid/src/main/res/devsupport/values-uz/strings.xml +0 -6
  1631. package/ReactAndroid/src/main/res/devsupport/values-wo/strings.xml +0 -6
  1632. package/ReactAndroid/src/main/res/views/uimanager/values-as/strings.xml +0 -13
  1633. package/ReactAndroid/src/main/res/views/uimanager/values-bs/strings.xml +0 -31
  1634. package/ReactAndroid/src/main/res/views/uimanager/values-ha/strings.xml +0 -31
  1635. package/ReactAndroid/src/main/res/views/uimanager/values-in/strings.xml +0 -29
  1636. package/ReactAndroid/src/main/res/views/uimanager/values-jv/strings.xml +0 -28
  1637. package/ReactAndroid/src/main/res/views/uimanager/values-ku/strings.xml +0 -12
  1638. package/ReactAndroid/src/main/res/views/uimanager/values-nb/strings.xml +0 -31
  1639. package/ReactAndroid/src/main/res/views/uimanager/values-ps/strings.xml +0 -13
  1640. package/ReactAndroid/src/main/res/views/uimanager/values-qz/strings.xml +0 -6
  1641. package/ReactAndroid/src/main/res/views/uimanager/values-sn/strings.xml +0 -6
  1642. package/ReactAndroid/src/main/res/views/uimanager/values-so/strings.xml +0 -12
  1643. package/ReactAndroid/src/main/res/views/uimanager/values-tg/strings.xml +0 -12
  1644. package/ReactAndroid/src/main/res/views/uimanager/values-tk/strings.xml +0 -6
  1645. package/ReactAndroid/src/main/res/views/uimanager/values-tl/strings.xml +0 -14
  1646. package/ReactAndroid/src/main/res/views/uimanager/values-uz/strings.xml +0 -13
  1647. package/ReactAndroid/src/main/res/views/uimanager/values-wo/strings.xml +0 -6
  1648. package/ReactCommon/hermes/inspector-modern/.clang-format +0 -87
  1649. package/ReactCommon/hermes/inspector-modern/AsyncPauseState.h +0 -34
  1650. package/ReactCommon/hermes/inspector-modern/Exceptions.h +0 -60
  1651. package/ReactCommon/hermes/inspector-modern/Inspector.cpp +0 -745
  1652. package/ReactCommon/hermes/inspector-modern/Inspector.h +0 -384
  1653. package/ReactCommon/hermes/inspector-modern/InspectorState.cpp +0 -511
  1654. package/ReactCommon/hermes/inspector-modern/InspectorState.h +0 -412
  1655. package/ReactCommon/hermes/inspector-modern/README.md +0 -113
  1656. package/ReactCommon/hermes/inspector-modern/RuntimeAdapter.cpp +0 -30
  1657. package/ReactCommon/hermes/inspector-modern/RuntimeAdapter.h +0 -76
  1658. package/ReactCommon/hermes/inspector-modern/chrome/Connection.cpp +0 -1667
  1659. package/ReactCommon/hermes/inspector-modern/chrome/Connection.h +0 -68
  1660. package/ReactCommon/hermes/inspector-modern/chrome/MessageConverters.cpp +0 -378
  1661. package/ReactCommon/hermes/inspector-modern/chrome/MessageConverters.h +0 -136
  1662. package/ReactCommon/hermes/inspector-modern/chrome/MessageInterfaces.h +0 -74
  1663. package/ReactCommon/hermes/inspector-modern/chrome/MessageTypes.cpp +0 -1948
  1664. package/ReactCommon/hermes/inspector-modern/chrome/MessageTypes.h +0 -1129
  1665. package/ReactCommon/hermes/inspector-modern/chrome/MessageTypesInlines.h +0 -190
  1666. package/ReactCommon/hermes/inspector-modern/chrome/RemoteObjectsTable.cpp +0 -146
  1667. package/ReactCommon/hermes/inspector-modern/chrome/RemoteObjectsTable.h +0 -124
  1668. package/ReactCommon/hermes/inspector-modern/chrome/cli/main.cpp +0 -275
  1669. package/ReactCommon/hermes/inspector-modern/detail/CallbackOStream.cpp +0 -77
  1670. package/ReactCommon/hermes/inspector-modern/detail/CallbackOStream.h +0 -89
  1671. package/ReactCommon/hermes/inspector-modern/detail/SerialExecutor.cpp +0 -60
  1672. package/ReactCommon/hermes/inspector-modern/detail/SerialExecutor.h +0 -57
  1673. package/ReactCommon/hermes/inspector-modern/detail/Thread.cpp +0 -39
  1674. package/ReactCommon/hermes/inspector-modern/detail/Thread.h +0 -85
  1675. package/ReactCommon/hermes/inspector-modern/docs/GenerateInspectorFSM.sh +0 -7
  1676. package/ReactCommon/hermes/inspector-modern/docs/InspectorFSM.gv +0 -39
  1677. package/ReactCommon/hermes/inspector-modern/docs/InspectorFSM.pdf +0 -0
  1678. package/ReactCommon/hermes/inspector-modern/tools/format +0 -10
  1679. package/ReactCommon/hermes/inspector-modern/tools/message_types.txt +0 -41
  1680. package/ReactCommon/hermes/inspector-modern/tools/run_msggen +0 -32
  1681. package/ReactCommon/hermes/inspector-modern/tools/sandcastle/build_and_test.sh +0 -13
  1682. package/ReactCommon/hermes/inspector-modern/tools/sandcastle/setup.sh +0 -31
  1683. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTBlockGuard.h +0 -24
  1684. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTBlockGuard.mm +0 -28
  1685. package/ReactCommon/react/renderer/components/textinput/iostextinput/react/renderer/components/iostextinput/TextInputState.cpp +0 -32
  1686. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/AccessibilityPropsMapBuffer.cpp +0 -165
  1687. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/AccessibilityPropsMapBuffer.h +0 -35
  1688. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/ViewPropsMapBuffer.cpp +0 -191
  1689. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/ViewPropsMapBuffer.h +0 -51
  1690. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/YogaStylablePropsMapBuffer.cpp +0 -80
  1691. package/ReactCommon/react/renderer/components/view/viewPropConversions.h +0 -214
  1692. package/ReactCommon/react/renderer/core/EventHandler.h +0 -28
  1693. package/ReactCommon/react/renderer/core/PropsParserContext.cpp +0 -27
  1694. package/ReactCommon/react/renderer/core/TraitCast.h +0 -90
  1695. package/ReactCommon/react/renderer/core/tests/traitCastTest.cpp +0 -144
  1696. package/ReactCommon/react/renderer/imagemanager/platform/cxx/react/renderer/imagemanager/ImageRequest.cpp +0 -36
  1697. package/ReactCommon/react/renderer/templateprocessor/CMakeLists.txt +0 -33
  1698. package/ReactCommon/react/renderer/templateprocessor/UITemplateProcessor.cpp +0 -153
  1699. package/ReactCommon/react/renderer/templateprocessor/UITemplateProcessor.h +0 -64
  1700. package/ReactCommon/react/renderer/templateprocessor/tests/UITemplateProcessorTest.cpp +0 -170
  1701. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/NSTextStorage+FontScaling.h +0 -20
  1702. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/NSTextStorage+FontScaling.m +0 -117
  1703. package/ReactCommon/react/runtime/JSEngineInstance.h +0 -27
  1704. package/ReactCommon/react/utils/CalledOnceMovableOnlyFunction.h +0 -87
  1705. package/ReactCommon/yoga/yoga/Yoga-internal.h +0 -22
  1706. package/ReactCommon/yoga/yoga/Yoga.cpp +0 -962
  1707. package/ReactCommon/yoga/yoga/algorithm/ResolveValue.h +0 -32
  1708. package/ReactCommon/yoga/yoga/bits/BitCast.h +0 -30
  1709. package/ReactCommon/yoga/yoga/bits/NumericBitfield.h +0 -67
  1710. package/ReactCommon/yoga/yoga/debug/NodeToString.cpp +0 -244
  1711. package/ReactCommon/yoga/yoga/debug/NodeToString.h +0 -29
  1712. package/ReactCommon/yoga/yoga/enums/PrintOptions.h +0 -48
  1713. package/ReactCommon/yoga/yoga/style/CompactValue.h +0 -184
  1714. package/scripts/cocoapods/flipper.rb +0 -107
  1715. package/scripts/codegen/generate-legacy-interop-components.js +0 -129
  1716. /package/Libraries/{RCTRequired/RCTRequired → Required}/RCTRequired.h +0 -0
  1717. /package/Libraries/{RCTRequired → Required}/RCTRequired.podspec +0 -0
  1718. /package/ReactAndroid/src/main/java/com/facebook/react/{turbomodule → internal/turbomodule}/.clang-tidy +0 -0
  1719. /package/ReactCommon/react/renderer/components/textinput/{androidtextinput → platform/android}/react/renderer/components/androidtextinput/AndroidTextInputEventEmitter.h +0 -0
  1720. /package/ReactCommon/react/renderer/components/textinput/{iostextinput → platform/ios}/react/renderer/components/iostextinput/TextInputComponentDescriptor.h +0 -0
  1721. /package/ReactCommon/react/renderer/components/textinput/{iostextinput → platform/ios}/react/renderer/components/iostextinput/TextInputEventEmitter.cpp +0 -0
  1722. /package/ReactCommon/react/renderer/components/textinput/{iostextinput → platform/ios}/react/renderer/components/iostextinput/TextInputEventEmitter.h +0 -0
  1723. /package/ReactCommon/react/renderer/components/textinput/{iostextinput → platform/ios}/react/renderer/components/iostextinput/conversions.h +0 -0
  1724. /package/ReactCommon/react/renderer/components/textinput/{iostextinput → platform/ios}/react/renderer/components/iostextinput/primitives.h +0 -0
  1725. /package/ReactCommon/react/renderer/components/textinput/{iostextinput → platform/ios}/react/renderer/components/iostextinput/propsConversions.h +0 -0
  1726. /package/ReactCommon/react/renderer/imagemanager/{platform/ios/react/renderer/imagemanager/ImageRequest.cpp → ImageRequest.cpp} +0 -0
  1727. /package/{Libraries/DOM/Geometry → src/private/webapis/dom/geometry}/DOMRect.js +0 -0
  1728. /package/{Libraries/DOM/Geometry → src/private/webapis/dom/geometry}/DOMRectReadOnly.js +0 -0
  1729. /package/{Libraries/DOM/Nodes → src/private/webapis/dom/nodes}/ReadOnlyText.js +0 -0
  1730. /package/{Libraries/DOM/Nodes/Utilities → src/private/webapis/dom/nodes/utilities}/Traversal.js +0 -0
  1731. /package/{Libraries/DOM/OldStyleCollections → src/private/webapis/dom/oldstylecollections}/ArrayLikeUtils.js +0 -0
  1732. /package/{Libraries/DOM/OldStyleCollections → src/private/webapis/dom/oldstylecollections}/HTMLCollection.js +0 -0
  1733. /package/{Libraries/DOM/OldStyleCollections → src/private/webapis/dom/oldstylecollections}/HTMLCollection.js.flow +0 -0
  1734. /package/{Libraries/DOM/OldStyleCollections → src/private/webapis/dom/oldstylecollections}/NodeList.js +0 -0
  1735. /package/{Libraries/DOM/OldStyleCollections → src/private/webapis/dom/oldstylecollections}/NodeList.js.flow +0 -0
  1736. /package/{Libraries/WebPerformance → src/private/webapis/performance}/BoundedConsumableBuffer.h +0 -0
  1737. /package/{Libraries/WebPerformance → src/private/webapis/performance}/EventCounts.js +0 -0
  1738. /package/{Libraries/WebPerformance → src/private/webapis/performance}/MemoryInfo.js +0 -0
  1739. /package/{Libraries/WebPerformance → src/private/webapis/performance}/NativePerformance.cpp +0 -0
  1740. /package/{Libraries/WebPerformance → src/private/webapis/performance}/NativePerformance.h +0 -0
  1741. /package/{Libraries/WebPerformance → src/private/webapis/performance}/PerformanceEntry.js +0 -0
  1742. /package/{Libraries/WebPerformance → src/private/webapis/performance}/ReactNativeStartupTiming.js +0 -0
  1743. /package/{Libraries/WebPerformance → src/private/webapis/performance}/__mocks__/NativePerformance.js +0 -0
@@ -0,0 +1,1343 @@
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 <folly/Format.h>
9
+ #include <folly/dynamic.h>
10
+ #include <folly/executors/ManualExecutor.h>
11
+ #include <folly/executors/QueuedImmediateExecutor.h>
12
+ #include <folly/json.h>
13
+ #include <gmock/gmock.h>
14
+ #include <gtest/gtest.h>
15
+
16
+ #include <jsinspector-modern/InspectorInterfaces.h>
17
+ #include <jsinspector-modern/InspectorPackagerConnection.h>
18
+
19
+ #include <functional>
20
+ #include <memory>
21
+
22
+ #include "FollyDynamicMatchers.h"
23
+ #include "InspectorMocks.h"
24
+ #include "UniquePtrFactory.h"
25
+
26
+ using namespace ::testing;
27
+ using namespace std::literals::chrono_literals;
28
+ using namespace std::literals::string_literals;
29
+ using folly::dynamic, folly::parseJson, folly::toJson, folly::format,
30
+ folly::sformat;
31
+
32
+ namespace facebook::react::jsinspector_modern {
33
+
34
+ namespace {
35
+
36
+ template <typename Executor>
37
+ class InspectorPackagerConnectionTestBase : public testing::Test {
38
+ protected:
39
+ InspectorPackagerConnectionTestBase()
40
+ : packagerConnection_(InspectorPackagerConnection{
41
+ "ws://mock-host:12345",
42
+ "my-app",
43
+ packagerConnectionDelegates_.make_unique(asyncExecutor_)}) {
44
+ ON_CALL(*packagerConnectionDelegate(), connectWebSocket(_, _))
45
+ .WillByDefault(webSockets_.lazily_make_unique<
46
+ const std::string&,
47
+ std::weak_ptr<IWebSocketDelegate>>());
48
+ }
49
+
50
+ void TearDown() override {
51
+ // Forcibly clean up all pages currently registered with the inspector in
52
+ // order to isolate state between tests. NOTE: Using TearDown instead of a
53
+ // destructor so that we can use FAIL() etc.
54
+ std::vector<int> pagesToRemove;
55
+ auto pages = getInspectorInstance().getPages();
56
+ int liveConnectionCount = 0;
57
+ for (size_t i = 0; i != localConnections_.objectsVended(); ++i) {
58
+ if (localConnections_[i]) {
59
+ liveConnectionCount++;
60
+ // localConnections_[i] is a strict mock and will complain when we
61
+ // removePage if the call is unexpected.
62
+ EXPECT_CALL(*localConnections_[i], disconnect());
63
+ }
64
+ }
65
+ for (auto& page : pages) {
66
+ getInspectorInstance().removePage(page.id);
67
+ }
68
+ if (!pages.empty() && liveConnectionCount) {
69
+ if (!::testing::Test::HasFailure()) {
70
+ FAIL()
71
+ << "Test case ended with " << liveConnectionCount
72
+ << " open connection(s) and " << pages.size()
73
+ << " registered page(s). You must manually call removePage for each page.";
74
+ }
75
+ }
76
+ ::testing::Test::TearDown();
77
+ }
78
+
79
+ MockInspectorPackagerConnectionDelegate* packagerConnectionDelegate() {
80
+ // We only create one PackagerConnectionDelegate per test.
81
+ EXPECT_EQ(packagerConnectionDelegates_.objectsVended(), 1);
82
+ return packagerConnectionDelegates_[0];
83
+ }
84
+
85
+ Executor asyncExecutor_;
86
+
87
+ UniquePtrFactory<MockInspectorPackagerConnectionDelegate>
88
+ packagerConnectionDelegates_;
89
+ /**
90
+ * webSockets_ will hold the WebSocket instance(s) owned by
91
+ * packagerConnection_ while also allowing us to access them during
92
+ * the test. We can send messages *to* packagerConnection_ by
93
+ * calling webSockets_[i]->getDelegate().didReceiveMessage(...). Messages
94
+ * *from* packagerConnection_ will be found as calls to
95
+ * webSockets_[i]->send, which is a mock method installed by gmock.
96
+ * These are strict mocks, so method calls will fail if they are not
97
+ * expected with a corresponding call to EXPECT_CALL(...) - for example
98
+ * if unexpected WebSocket messages are sent.
99
+ */
100
+ UniquePtrFactory<StrictMock<MockWebSocket>> webSockets_;
101
+ /**
102
+ * localConnections_ will hold the LocalConnection instances owned
103
+ * by packagerConnection_ while also allowing us to access them
104
+ * during the test.
105
+ * These are strict mocks, so method calls will fail if they are not
106
+ * expected with a corresponding call to EXPECT_CALL(...).
107
+ */
108
+ UniquePtrFactory<StrictMock<MockLocalConnection>> localConnections_;
109
+ std::optional<InspectorPackagerConnection> packagerConnection_;
110
+ };
111
+
112
+ using InspectorPackagerConnectionTest =
113
+ InspectorPackagerConnectionTestBase<folly::QueuedImmediateExecutor>;
114
+
115
+ /**
116
+ * Fixture class for tests that run on a ManualExecutor. Work scheduled
117
+ * on the executor is *not* run automatically; it must be manually advanced
118
+ * in the body of the test.
119
+ */
120
+ class InspectorPackagerConnectionTestAsync
121
+ : public InspectorPackagerConnectionTestBase<folly::ManualExecutor> {
122
+ public:
123
+ virtual void TearDown() override {
124
+ // Assert there are no pending tasks on the ManualExecutor.
125
+ auto tasksCleared = asyncExecutor_.clear();
126
+ EXPECT_EQ(tasksCleared, 0)
127
+ << "There were still pending tasks on asyncExecutor_ at the end of the test. Use advance() or run() as needed.";
128
+ InspectorPackagerConnectionTestBase<folly::ManualExecutor>::TearDown();
129
+ }
130
+ };
131
+
132
+ } // namespace
133
+
134
+ TEST_F(InspectorPackagerConnectionTest, TestConnectThenDestroy) {
135
+ packagerConnection_->connect();
136
+
137
+ // The connection should be established immediately.
138
+ ASSERT_TRUE(webSockets_[0]);
139
+ EXPECT_EQ(webSockets_[0]->url, "ws://mock-host:12345");
140
+ EXPECT_TRUE(packagerConnection_->isConnected());
141
+
142
+ // Destroying packagerConnection_ should close the underlying WebSocket (by
143
+ // destroying it).
144
+ packagerConnection_.reset();
145
+ EXPECT_FALSE(webSockets_[0]);
146
+ }
147
+
148
+ TEST_F(InspectorPackagerConnectionTest, TestConnectMultipleTimes) {
149
+ packagerConnection_->connect();
150
+
151
+ packagerConnection_->connect();
152
+
153
+ // The WebSocket gets recreated and the connection is in a valid state.
154
+ EXPECT_FALSE(webSockets_[0]);
155
+ ASSERT_TRUE(webSockets_[1]);
156
+ EXPECT_EQ(webSockets_[1]->url, "ws://mock-host:12345");
157
+ EXPECT_TRUE(packagerConnection_->isConnected());
158
+
159
+ // Destroying packagerConnection_ should close the underlying WebSocket (by
160
+ // destroying it).
161
+ packagerConnection_.reset();
162
+ EXPECT_FALSE(webSockets_[1]);
163
+ }
164
+
165
+ TEST_F(InspectorPackagerConnectionTest, TestCloseQuietly) {
166
+ packagerConnection_->connect();
167
+
168
+ ASSERT_TRUE(webSockets_[0]);
169
+ EXPECT_TRUE(packagerConnection_->isConnected());
170
+
171
+ packagerConnection_->closeQuietly();
172
+ EXPECT_FALSE(packagerConnection_->isConnected());
173
+ EXPECT_FALSE(webSockets_[0]);
174
+
175
+ // Calling closeQuietly again has no effect.
176
+ packagerConnection_->closeQuietly();
177
+ EXPECT_FALSE(packagerConnection_->isConnected());
178
+ EXPECT_FALSE(webSockets_[0]);
179
+
180
+ // Connecting again is a noop (except for logging an error).
181
+ packagerConnection_->connect();
182
+ EXPECT_FALSE(packagerConnection_->isConnected());
183
+ EXPECT_FALSE(webSockets_[0]);
184
+ }
185
+
186
+ TEST_F(InspectorPackagerConnectionTest, TestGetPages) {
187
+ // Configure gmock to expect calls in a specific order.
188
+ InSequence mockCallsMustBeInSequence;
189
+
190
+ packagerConnection_->connect();
191
+
192
+ // The list of pages is empty at first.
193
+ EXPECT_CALL(*webSockets_[0], send(JsonEq(R"({
194
+ "event": "getPages",
195
+ "payload": []
196
+ })")))
197
+ .RetiresOnSaturation();
198
+ webSockets_[0]->getDelegate().didReceiveMessage(R"({
199
+ "event": "getPages"
200
+ })");
201
+
202
+ auto pageId = getInspectorInstance().addPage(
203
+ "mock-title",
204
+ "mock-vm",
205
+ localConnections_
206
+ .lazily_make_unique<std::unique_ptr<IRemoteConnection>>(),
207
+ {.nativePageReloads = true});
208
+
209
+ // getPages now reports the page we registered.
210
+ EXPECT_CALL(
211
+ *webSockets_[0],
212
+ send(JsonParsed(AllOf(
213
+ AtJsonPtr("/event", Eq("getPages")),
214
+ AtJsonPtr(
215
+ "/payload",
216
+ ElementsAreArray({AllOf(
217
+ AtJsonPtr("/app", Eq("my-app")),
218
+ AtJsonPtr("/title", Eq("mock-title [C++ connection]")),
219
+ AtJsonPtr("/vm", Eq("mock-vm")),
220
+ AtJsonPtr("/id", Eq(std::to_string(pageId))),
221
+ AtJsonPtr("/capabilities/nativePageReloads", Eq(true)),
222
+ AtJsonPtr(
223
+ "/capabilities/nativeSourceCodeFetching",
224
+ Eq(false)))}))))))
225
+ .RetiresOnSaturation();
226
+ webSockets_[0]->getDelegate().didReceiveMessage(R"({
227
+ "event": "getPages"
228
+ })");
229
+
230
+ getInspectorInstance().removePage(pageId);
231
+
232
+ // getPages is back to reporting no pages.
233
+ EXPECT_CALL(
234
+ *webSockets_[0],
235
+ send(JsonEq(
236
+ R"({
237
+ "event": "getPages",
238
+ "payload": []
239
+ })")))
240
+ .RetiresOnSaturation();
241
+ webSockets_[0]->getDelegate().didReceiveMessage(R"({
242
+ "event": "getPages"
243
+ })");
244
+ }
245
+
246
+ TEST_F(InspectorPackagerConnectionTest, TestSendReceiveEvents) {
247
+ // Configure gmock to expect calls in a specific order.
248
+ InSequence mockCallsMustBeInSequence;
249
+
250
+ packagerConnection_->connect();
251
+ auto pageId = getInspectorInstance().addPage(
252
+ "mock-title",
253
+ "mock-vm",
254
+ localConnections_
255
+ .lazily_make_unique<std::unique_ptr<IRemoteConnection>>());
256
+
257
+ // Connect to the page.
258
+ webSockets_[0]->getDelegate().didReceiveMessage(sformat(
259
+ R"({{
260
+ "event": "connect",
261
+ "payload": {{
262
+ "pageId": {0}
263
+ }}
264
+ }})",
265
+ toJson(std::to_string(pageId))));
266
+ ASSERT_TRUE(localConnections_[0]);
267
+
268
+ // Send an event from the mocked backend (local) to the frontend (remote)
269
+ // and observe it being sent via the socket.
270
+ EXPECT_CALL(
271
+ *webSockets_[0],
272
+ send(JsonParsed(AllOf(
273
+ AtJsonPtr("/event", Eq("wrappedEvent")),
274
+ AtJsonPtr("/payload/pageId", Eq(std::to_string(pageId))),
275
+ AtJsonPtr(
276
+ "/payload/wrappedEvent",
277
+ JsonEq(
278
+ R"({
279
+ "method": "FakeDomain.eventTriggered",
280
+ "params": ["arg1", "arg2"]
281
+ })"))))))
282
+ .RetiresOnSaturation();
283
+ localConnections_[0]->getRemoteConnection().onMessage(R"({
284
+ "method": "FakeDomain.eventTriggered",
285
+ "params": ["arg1", "arg2"]
286
+ })");
287
+
288
+ // Send an event from the frontend (remote) to the backend (local) and
289
+ // observe it being received by localConnection.
290
+ EXPECT_CALL(
291
+ *localConnections_[0],
292
+ sendMessage(JsonParsed(AllOf(
293
+ AtJsonPtr("/method", Eq("FakeDomain.fakeMethod")),
294
+ AtJsonPtr("/id", Eq(1234)),
295
+ AtJsonPtr("/params", ElementsAre("arg1", "arg2"))))))
296
+ .RetiresOnSaturation();
297
+
298
+ webSockets_[0]->getDelegate().didReceiveMessage(sformat(
299
+ R"({{
300
+ "event": "wrappedEvent",
301
+ "payload": {{
302
+ "pageId": {0},
303
+ "wrappedEvent": {1}
304
+ }}
305
+ }})",
306
+ toJson(std::to_string(pageId)),
307
+ toJson(R"({
308
+ "method": "FakeDomain.fakeMethod",
309
+ "id": 1234,
310
+ "params": ["arg1", "arg2"]
311
+ })")));
312
+
313
+ // Send a 'disconnect' event from the mocked backend (local) to the frontend
314
+ // (remote) and observe it being sent via the socket.
315
+ EXPECT_CALL(
316
+ *webSockets_[0],
317
+ send(JsonParsed(AllOf(
318
+ AtJsonPtr("/event", Eq("disconnect")),
319
+ AtJsonPtr("/payload/pageId", Eq(std::to_string(pageId)))))))
320
+ .RetiresOnSaturation();
321
+ localConnections_[0]->getRemoteConnection().onDisconnect();
322
+
323
+ EXPECT_CALL(*localConnections_[0], disconnect()).RetiresOnSaturation();
324
+ getInspectorInstance().removePage(pageId);
325
+ }
326
+
327
+ TEST_F(InspectorPackagerConnectionTest, TestSendReceiveEventsToMultiplePages) {
328
+ // Configure gmock to expect calls in a specific order.
329
+ InSequence mockCallsMustBeInSequence;
330
+
331
+ packagerConnection_->connect();
332
+
333
+ std::vector<int> pageIds;
334
+
335
+ const int kNumPages = 2;
336
+ for (int i = 0; i < kNumPages; ++i) {
337
+ pageIds.push_back(getInspectorInstance().addPage(
338
+ "mock-title",
339
+ "mock-vm",
340
+ localConnections_
341
+ .lazily_make_unique<std::unique_ptr<IRemoteConnection>>()));
342
+ if (i > 0) {
343
+ ASSERT_NE(pageIds[i], pageIds[i - 1])
344
+ << "Received duplicate page IDs from inspector.";
345
+ }
346
+ }
347
+
348
+ for (int i = 0; i < kNumPages; ++i) {
349
+ // Connect to the i-th page.
350
+ webSockets_[0]->getDelegate().didReceiveMessage(sformat(
351
+ R"({{
352
+ "event": "connect",
353
+ "payload": {{
354
+ "pageId": {0}
355
+ }}
356
+ }})",
357
+ toJson(std::to_string(pageIds[i]))));
358
+ ASSERT_TRUE(localConnections_[i]);
359
+ }
360
+
361
+ // Send an event from each LocalConnection and observe it being sent via
362
+ // the socket.
363
+ for (int i = 0; i < kNumPages; ++i) {
364
+ // Generate a unique method name for this page to validate that we are
365
+ // routing the events correctly.
366
+ std::string method =
367
+ "FakeDomain.eventFromPage"s + std::to_string(pageIds[i]);
368
+ EXPECT_CALL(
369
+ *webSockets_[0],
370
+ send(JsonParsed(AllOf(
371
+ AtJsonPtr("/event", Eq("wrappedEvent")),
372
+ AtJsonPtr("/payload/pageId", Eq(std::to_string(pageIds[i]))),
373
+ AtJsonPtr(
374
+ "/payload/wrappedEvent",
375
+ JsonParsed(AtJsonPtr("/method", Eq(method))))))))
376
+ .RetiresOnSaturation();
377
+ localConnections_[i]->getRemoteConnection().onMessage(
378
+ toJson(dynamic::object("method", method)));
379
+ }
380
+
381
+ // Send an event from the frontend (remote) to the backend (local) and
382
+ // observe it being received by each LocalConnection.
383
+ for (int i = 0; i < kNumPages; ++i) {
384
+ // Generate a unique method name for this page to validate that we are
385
+ // routing the events correctly.
386
+ std::string method =
387
+ "FakeDomain.methodToPage"s + std::to_string(pageIds[i]);
388
+ EXPECT_CALL(
389
+ *localConnections_[i],
390
+ sendMessage(JsonParsed(AtJsonPtr("/method", Eq(method)))))
391
+ .RetiresOnSaturation();
392
+ webSockets_[0]->getDelegate().didReceiveMessage(sformat(
393
+ R"({{
394
+ "event": "wrappedEvent",
395
+ "payload": {{
396
+ "pageId": {0},
397
+ "wrappedEvent": {1}
398
+ }}
399
+ }})",
400
+ toJson(std::to_string(pageIds[i])),
401
+ toJson(toJson(dynamic::object("method", method)))));
402
+ }
403
+
404
+ for (int i = 0; i < kNumPages; ++i) {
405
+ EXPECT_CALL(*localConnections_[i], disconnect()).RetiresOnSaturation();
406
+ getInspectorInstance().removePage(pageIds[i]);
407
+ }
408
+ }
409
+
410
+ TEST_F(InspectorPackagerConnectionTest, TestSendEventToAllConnections) {
411
+ // Configure gmock to expect calls in a specific order.
412
+ InSequence mockCallsMustBeInSequence;
413
+
414
+ packagerConnection_->connect();
415
+ auto pageId = getInspectorInstance().addPage(
416
+ "mock-title",
417
+ "mock-vm",
418
+ localConnections_
419
+ .lazily_make_unique<std::unique_ptr<IRemoteConnection>>());
420
+
421
+ // Connect to the page.
422
+ webSockets_[0]->getDelegate().didReceiveMessage(sformat(
423
+ R"({{
424
+ "event": "connect",
425
+ "payload": {{
426
+ "pageId": {0}
427
+ }}
428
+ }})",
429
+ toJson(std::to_string(pageId))));
430
+ ASSERT_TRUE(localConnections_[0]);
431
+
432
+ // Impersonate the frontend (remote) to send a message to all (local)
433
+ // connections.
434
+ EXPECT_CALL(
435
+ *localConnections_[0],
436
+ sendMessage(JsonParsed(AllOf(
437
+ AtJsonPtr("/method", Eq("FakeDomain.fakeMethod")),
438
+ AtJsonPtr("/id", Eq(1234)),
439
+ AtJsonPtr("/params", ElementsAre("arg1", "arg2"))))))
440
+ .RetiresOnSaturation();
441
+ packagerConnection_->sendEventToAllConnections(R"({
442
+ "method": "FakeDomain.fakeMethod",
443
+ "id": 1234,
444
+ "params": ["arg1", "arg2"]
445
+ })");
446
+
447
+ EXPECT_CALL(*localConnections_[0], disconnect()).RetiresOnSaturation();
448
+ getInspectorInstance().removePage(pageId);
449
+ }
450
+
451
+ TEST_F(InspectorPackagerConnectionTest, TestConnectThenDisconnect) {
452
+ // Configure gmock to expect calls in a specific order.
453
+ InSequence mockCallsMustBeInSequence;
454
+
455
+ packagerConnection_->connect();
456
+ auto pageId = getInspectorInstance().addPage(
457
+ "mock-title",
458
+ "mock-vm",
459
+ localConnections_
460
+ .lazily_make_unique<std::unique_ptr<IRemoteConnection>>());
461
+
462
+ // Connect to the page.
463
+ webSockets_[0]->getDelegate().didReceiveMessage(sformat(
464
+ R"({{
465
+ "event": "connect",
466
+ "payload": {{
467
+ "pageId": {0}
468
+ }}
469
+ }})",
470
+ toJson(std::to_string(pageId))));
471
+ ASSERT_TRUE(localConnections_[0]);
472
+
473
+ // Disconnect from the page.
474
+ EXPECT_CALL(*localConnections_[0], disconnect()).RetiresOnSaturation();
475
+ webSockets_[0]->getDelegate().didReceiveMessage(sformat(
476
+ R"({{
477
+ "event": "disconnect",
478
+ "payload": {{
479
+ "pageId": {0}
480
+ }}
481
+ }})",
482
+ toJson(std::to_string(pageId))));
483
+ EXPECT_FALSE(localConnections_[0]);
484
+ }
485
+
486
+ TEST_F(InspectorPackagerConnectionTest, TestConnectThenCloseSocket) {
487
+ // Configure gmock to expect calls in a specific order.
488
+ InSequence mockCallsMustBeInSequence;
489
+
490
+ packagerConnection_->connect();
491
+ auto pageId = getInspectorInstance().addPage(
492
+ "mock-title",
493
+ "mock-vm",
494
+ localConnections_
495
+ .lazily_make_unique<std::unique_ptr<IRemoteConnection>>());
496
+
497
+ // Connect to the page.
498
+ webSockets_[0]->getDelegate().didReceiveMessage(sformat(
499
+ R"({{
500
+ "event": "connect",
501
+ "payload": {{
502
+ "pageId": {0}
503
+ }}
504
+ }})",
505
+ toJson(std::to_string(pageId))));
506
+ ASSERT_TRUE(localConnections_[0]);
507
+
508
+ // Notify that the socket was closed.
509
+ EXPECT_CALL(*localConnections_[0], disconnect()).RetiresOnSaturation();
510
+ webSockets_[0]->getDelegate().didClose();
511
+ EXPECT_FALSE(localConnections_[0]);
512
+ }
513
+
514
+ TEST_F(InspectorPackagerConnectionTest, TestConnectThenSocketFailure) {
515
+ // Configure gmock to expect calls in a specific order.
516
+ InSequence mockCallsMustBeInSequence;
517
+
518
+ packagerConnection_->connect();
519
+ auto pageId = getInspectorInstance().addPage(
520
+ "mock-title",
521
+ "mock-vm",
522
+ localConnections_
523
+ .lazily_make_unique<std::unique_ptr<IRemoteConnection>>());
524
+
525
+ // Connect to the page.
526
+ webSockets_[0]->getDelegate().didReceiveMessage(sformat(
527
+ R"({{
528
+ "event": "connect",
529
+ "payload": {{
530
+ "pageId": {0}
531
+ }}
532
+ }})",
533
+ toJson(std::to_string(pageId))));
534
+ ASSERT_TRUE(localConnections_[0]);
535
+
536
+ // Notify that the socket was closed (implicitly, as the result of an error).
537
+ EXPECT_CALL(*localConnections_[0], disconnect()).RetiresOnSaturation();
538
+ webSockets_[0]->getDelegate().didFailWithError(ECONNABORTED, "Test error");
539
+ EXPECT_FALSE(localConnections_[0]);
540
+ }
541
+
542
+ TEST_F(
543
+ InspectorPackagerConnectionTestAsync,
544
+ TestExplicitCloseAfterSocketFailure) {
545
+ // Configure gmock to expect calls in a specific order.
546
+ InSequence mockCallsMustBeInSequence;
547
+
548
+ packagerConnection_->connect();
549
+ auto pageId = getInspectorInstance().addPage(
550
+ "mock-title",
551
+ "mock-vm",
552
+ localConnections_
553
+ .lazily_make_unique<std::unique_ptr<IRemoteConnection>>());
554
+
555
+ // Connect to the page.
556
+ webSockets_[0]->getDelegate().didReceiveMessage(sformat(
557
+ R"({{
558
+ "event": "connect",
559
+ "payload": {{
560
+ "pageId": {0}
561
+ }}
562
+ }})",
563
+ toJson(std::to_string(pageId))));
564
+ ASSERT_TRUE(localConnections_[0]);
565
+
566
+ // Notify that the socket was closed (implicitly, as the result of an error).
567
+ EXPECT_CALL(*localConnections_[0], disconnect()).RetiresOnSaturation();
568
+
569
+ {
570
+ // The WebSocket instance gets destroyed during didFailWithError, so extract
571
+ // the delegate in order to call didClose.
572
+ std::shared_ptr webSocketDelegate = webSockets_[0]->delegate.lock();
573
+
574
+ webSocketDelegate->didFailWithError(ECONNABORTED, "Test error");
575
+ webSocketDelegate->didClose();
576
+ }
577
+
578
+ EXPECT_FALSE(localConnections_[0]);
579
+ // We're still disconnected since we haven't called the reconnect callback.
580
+ EXPECT_FALSE(packagerConnection_->isConnected());
581
+
582
+ // Flush the callback queue.
583
+ asyncExecutor_.advance(2000ms);
584
+
585
+ EXPECT_TRUE(packagerConnection_->isConnected());
586
+ }
587
+
588
+ TEST_F(
589
+ InspectorPackagerConnectionTest,
590
+ TestConnectWhileAlreadyConnectedCausesDisconnection) {
591
+ // Configure gmock to expect calls in a specific order.
592
+ InSequence mockCallsMustBeInSequence;
593
+
594
+ packagerConnection_->connect();
595
+ auto pageId = getInspectorInstance().addPage(
596
+ "mock-title",
597
+ "mock-vm",
598
+ localConnections_
599
+ .lazily_make_unique<std::unique_ptr<IRemoteConnection>>());
600
+
601
+ // Connect to the page.
602
+ webSockets_[0]->getDelegate().didReceiveMessage(sformat(
603
+ R"({{
604
+ "event": "connect",
605
+ "payload": {{
606
+ "pageId": {0}
607
+ }}
608
+ }})",
609
+ toJson(std::to_string(pageId))));
610
+ ASSERT_TRUE(localConnections_[0]);
611
+
612
+ // Try connecting to the same page again. This results in a disconnection.
613
+ EXPECT_CALL(*localConnections_[0], disconnect()).RetiresOnSaturation();
614
+ webSockets_[0]->getDelegate().didReceiveMessage(sformat(
615
+ R"({{
616
+ "event": "connect",
617
+ "payload": {{
618
+ "pageId": {0}
619
+ }}
620
+ }})",
621
+ toJson(std::to_string(pageId))));
622
+ EXPECT_FALSE(localConnections_[0]);
623
+ }
624
+
625
+ TEST_F(InspectorPackagerConnectionTest, TestMultipleDisconnect) {
626
+ // Configure gmock to expect calls in a specific order.
627
+ InSequence mockCallsMustBeInSequence;
628
+
629
+ packagerConnection_->connect();
630
+ auto pageId = getInspectorInstance().addPage(
631
+ "mock-title",
632
+ "mock-vm",
633
+ localConnections_
634
+ .lazily_make_unique<std::unique_ptr<IRemoteConnection>>());
635
+
636
+ // Connect to the page.
637
+ webSockets_[0]->getDelegate().didReceiveMessage(sformat(
638
+ R"({{
639
+ "event": "connect",
640
+ "payload": {{
641
+ "pageId": {0}
642
+ }}
643
+ }})",
644
+ toJson(std::to_string(pageId))));
645
+ ASSERT_TRUE(localConnections_[0]);
646
+
647
+ // Disconnect from the page.
648
+ EXPECT_CALL(*localConnections_[0], disconnect()).RetiresOnSaturation();
649
+ webSockets_[0]->getDelegate().didReceiveMessage(sformat(
650
+ R"({{
651
+ "event": "disconnect",
652
+ "payload": {{
653
+ "pageId": {0}
654
+ }}
655
+ }})",
656
+ toJson(std::to_string(pageId))));
657
+ EXPECT_FALSE(localConnections_[0]);
658
+
659
+ // Disconnect again. This is a noop.
660
+ webSockets_[0]->getDelegate().didReceiveMessage(sformat(
661
+ R"({{
662
+ "event": "disconnect",
663
+ "payload": {{
664
+ "pageId": {0}
665
+ }}
666
+ }})",
667
+ toJson(std::to_string(pageId))));
668
+ EXPECT_FALSE(localConnections_[0]);
669
+ }
670
+
671
+ TEST_F(InspectorPackagerConnectionTest, TestDisconnectThenSendEvent) {
672
+ // Configure gmock to expect calls in a specific order.
673
+ InSequence mockCallsMustBeInSequence;
674
+
675
+ packagerConnection_->connect();
676
+ auto pageId = getInspectorInstance().addPage(
677
+ "mock-title",
678
+ "mock-vm",
679
+ localConnections_
680
+ .lazily_make_unique<std::unique_ptr<IRemoteConnection>>());
681
+
682
+ // Connect to the page.
683
+ webSockets_[0]->getDelegate().didReceiveMessage(sformat(
684
+ R"({{
685
+ "event": "connect",
686
+ "payload": {{
687
+ "pageId": {0}
688
+ }}
689
+ }})",
690
+ toJson(std::to_string(pageId))));
691
+ ASSERT_TRUE(localConnections_[0]);
692
+
693
+ // Disconnect from the page.
694
+ EXPECT_CALL(*localConnections_[0], disconnect()).RetiresOnSaturation();
695
+ webSockets_[0]->getDelegate().didReceiveMessage(sformat(
696
+ R"({{
697
+ "event": "disconnect",
698
+ "payload": {{
699
+ "pageId": {0}
700
+ }}
701
+ }})",
702
+ toJson(std::to_string(pageId))));
703
+ EXPECT_FALSE(localConnections_[0]);
704
+
705
+ // Send an event from the frontend (remote) to the backend (local). This
706
+ // is a noop.
707
+ webSockets_[0]->getDelegate().didReceiveMessage(sformat(
708
+ R"({{
709
+ "event": "wrappedEvent",
710
+ "payload": {{
711
+ "pageId": {0},
712
+ "wrappedEvent": {1}
713
+ }}
714
+ }})",
715
+ toJson(std::to_string(pageId)),
716
+ toJson(R"({
717
+ "method": "FakeDomain.fakeMethod",
718
+ "id": 1234,
719
+ "params": ["arg1", "arg2"]
720
+ })")));
721
+ }
722
+
723
+ TEST_F(InspectorPackagerConnectionTest, TestSendEventToUnknownPage) {
724
+ // Configure gmock to expect calls in a specific order.
725
+ InSequence mockCallsMustBeInSequence;
726
+
727
+ packagerConnection_->connect();
728
+
729
+ // Send an event from the frontend (remote) to the backend (local). This
730
+ // is a noop (except for logging).
731
+ webSockets_[0]->getDelegate().didReceiveMessage(sformat(
732
+ R"({{
733
+ "event": "wrappedEvent",
734
+ "payload": {{
735
+ "pageId": "1234",
736
+ "wrappedEvent": {0}
737
+ }}
738
+ }})",
739
+ toJson(R"({
740
+ "method": "FakeDomain.fakeMethod",
741
+ "id": 1234,
742
+ "params": ["arg1", "arg2"]
743
+ })")));
744
+ }
745
+
746
+ TEST_F(InspectorPackagerConnectionTest, TestReconnectSuccessful) {
747
+ // Configure gmock to expect calls in a specific order.
748
+ InSequence mockCallsMustBeInSequence;
749
+
750
+ packagerConnection_->connect();
751
+ ASSERT_TRUE(webSockets_[0]);
752
+ EXPECT_CALL(*packagerConnectionDelegate(), scheduleCallback(_, _))
753
+ .RetiresOnSaturation();
754
+ webSockets_[0]->getDelegate().didClose();
755
+ EXPECT_FALSE(webSockets_[0]);
756
+ EXPECT_TRUE(webSockets_[1]);
757
+ EXPECT_TRUE(packagerConnection_->isConnected());
758
+
759
+ // Stops attempting to reconnect after closeQuietly
760
+
761
+ packagerConnection_->closeQuietly();
762
+ }
763
+
764
+ TEST_F(InspectorPackagerConnectionTest, TestReconnectFailure) {
765
+ // Configure gmock to expect calls in a specific order.
766
+ InSequence mockCallsMustBeInSequence;
767
+
768
+ packagerConnection_->connect();
769
+ ASSERT_TRUE(webSockets_[0]);
770
+ EXPECT_CALL(*packagerConnectionDelegate(), scheduleCallback(_, _))
771
+ .Times(2)
772
+ .RetiresOnSaturation();
773
+
774
+ webSockets_[0]->getDelegate().didClose();
775
+ EXPECT_FALSE(webSockets_[0]);
776
+ ASSERT_TRUE(webSockets_[1]);
777
+ webSockets_[1]->getDelegate().didClose();
778
+ EXPECT_FALSE(webSockets_[1]);
779
+ ASSERT_TRUE(webSockets_[2]);
780
+ EXPECT_TRUE(packagerConnection_->isConnected());
781
+
782
+ // Stops attempting to reconnect after closeQuietly
783
+
784
+ packagerConnection_->closeQuietly();
785
+
786
+ EXPECT_FALSE(webSockets_[2]);
787
+ EXPECT_FALSE(packagerConnection_->isConnected());
788
+ }
789
+
790
+ TEST_F(InspectorPackagerConnectionTest, TestReconnectOnSocketError) {
791
+ // Configure gmock to expect calls in a specific order.
792
+ InSequence mockCallsMustBeInSequence;
793
+
794
+ packagerConnection_->connect();
795
+ ASSERT_TRUE(webSockets_[0]);
796
+ EXPECT_CALL(*packagerConnectionDelegate(), scheduleCallback(_, _))
797
+ .RetiresOnSaturation();
798
+ webSockets_[0]->getDelegate().didFailWithError(ECONNRESET, "Test error");
799
+ EXPECT_FALSE(webSockets_[0]);
800
+ EXPECT_TRUE(webSockets_[1]);
801
+ EXPECT_TRUE(packagerConnection_->isConnected());
802
+
803
+ // Stops attempting to reconnect after closeQuietly
804
+
805
+ packagerConnection_->closeQuietly();
806
+ }
807
+
808
+ TEST_F(InspectorPackagerConnectionTest, TestReconnectOnSocketErrorWithNoCode) {
809
+ // Configure gmock to expect calls in a specific order.
810
+ InSequence mockCallsMustBeInSequence;
811
+
812
+ packagerConnection_->connect();
813
+ ASSERT_TRUE(webSockets_[0]);
814
+ EXPECT_CALL(*packagerConnectionDelegate(), scheduleCallback(_, _))
815
+ .RetiresOnSaturation();
816
+ webSockets_[0]->getDelegate().didFailWithError(std::nullopt, "Test error");
817
+ EXPECT_FALSE(webSockets_[0]);
818
+ EXPECT_TRUE(webSockets_[1]);
819
+ EXPECT_TRUE(packagerConnection_->isConnected());
820
+
821
+ // Stops attempting to reconnect after closeQuietly
822
+
823
+ packagerConnection_->closeQuietly();
824
+ }
825
+
826
+ TEST_F(InspectorPackagerConnectionTest, TestNoReconnectOnConnectionRefused) {
827
+ // Configure gmock to expect calls in a specific order.
828
+ InSequence mockCallsMustBeInSequence;
829
+
830
+ packagerConnection_->connect();
831
+ ASSERT_TRUE(webSockets_[0]);
832
+ webSockets_[0]->getDelegate().didFailWithError(ECONNREFUSED, "Test error");
833
+ EXPECT_FALSE(webSockets_[0]);
834
+ EXPECT_FALSE(packagerConnection_->isConnected());
835
+ }
836
+
837
+ TEST_F(InspectorPackagerConnectionTest, TestUnknownEvent) {
838
+ packagerConnection_->connect();
839
+ ASSERT_TRUE(webSockets_[0]);
840
+
841
+ // This is a noop (other than logging an error).
842
+ webSockets_[0]->getDelegate().didReceiveMessage(R"({"event": "foo"})");
843
+ }
844
+
845
+ TEST_F(InspectorPackagerConnectionTest, TestMalformedEvent) {
846
+ packagerConnection_->connect();
847
+ ASSERT_TRUE(webSockets_[0]);
848
+
849
+ // This is a noop (other than logging an error).
850
+ webSockets_[0]->getDelegate().didReceiveMessage("this is not json");
851
+ webSockets_[0]->getDelegate().didReceiveMessage("{");
852
+ webSockets_[0]->getDelegate().didReceiveMessage("");
853
+ }
854
+
855
+ TEST_F(InspectorPackagerConnectionTest, TestEventsNotConformingToType) {
856
+ packagerConnection_->connect();
857
+ ASSERT_TRUE(webSockets_[0]);
858
+
859
+ // These are all noops (other than logging an error).
860
+ webSockets_[0]->getDelegate().didReceiveMessage(R"({})");
861
+ webSockets_[0]->getDelegate().didReceiveMessage(
862
+ R"({"event": "wrappedEvent"})");
863
+ webSockets_[0]->getDelegate().didReceiveMessage(R"({"event": "connect"})");
864
+ webSockets_[0]->getDelegate().didReceiveMessage(R"({"event": "disconnect"})");
865
+ webSockets_[0]->getDelegate().didReceiveMessage(
866
+ R"({"payload": {"pageId": "1"}})");
867
+ }
868
+
869
+ TEST_F(
870
+ InspectorPackagerConnectionTest,
871
+ TestWebSocketDelegateIsDestroyedWithConnectionByDefault) {
872
+ packagerConnection_->connect();
873
+ ASSERT_TRUE(webSockets_[0]);
874
+
875
+ std::weak_ptr delegate = webSockets_[0]->delegate;
876
+ EXPECT_TRUE(delegate.lock());
877
+
878
+ packagerConnection_.reset();
879
+ EXPECT_FALSE(delegate.lock());
880
+ }
881
+
882
+ // Edge case: When the C++ layer has released the InspectorPackagerConnection,
883
+ // the platform bindings can still call methods on IWebSocketDelegate through
884
+ // a shared_ptr (typically _briefly_ upgraded from the weak_ptr we provide).
885
+ TEST_F(
886
+ InspectorPackagerConnectionTest,
887
+ TestWebSocketDelegateCanOutliveConnection) {
888
+ // Configure gmock to expect calls in a specific order.
889
+ InSequence mockCallsMustBeInSequence;
890
+
891
+ packagerConnection_->connect();
892
+ ASSERT_TRUE(webSockets_[0]);
893
+
894
+ std::shared_ptr retainedWebSocketDelegate = webSockets_[0]->delegate.lock();
895
+ ASSERT_TRUE(retainedWebSocketDelegate);
896
+
897
+ // Destroy our InspectorPackagerConnection. We can't call methods on it
898
+ // anymore, but its internals are still valid and it is still responding to
899
+ // socket messages.
900
+ packagerConnection_.reset();
901
+
902
+ auto pageId = getInspectorInstance().addPage(
903
+ "mock-title",
904
+ "mock-vm",
905
+ localConnections_
906
+ .lazily_make_unique<std::unique_ptr<IRemoteConnection>>());
907
+
908
+ // Connect to the page.
909
+ retainedWebSocketDelegate->didReceiveMessage(sformat(
910
+ R"({{
911
+ "event": "connect",
912
+ "payload": {{
913
+ "pageId": {0}
914
+ }}
915
+ }})",
916
+ toJson(std::to_string(pageId))));
917
+ ASSERT_TRUE(localConnections_[0]);
918
+
919
+ // Send an event from the frontend (remote) to the backend (local) and
920
+ // observe it being received by localConnection.
921
+ EXPECT_CALL(
922
+ *localConnections_[0],
923
+ sendMessage(JsonParsed(AllOf(
924
+ AtJsonPtr("/method", Eq("FakeDomain.fakeMethod")),
925
+ AtJsonPtr("/id", Eq(1234)),
926
+ AtJsonPtr("/params", ElementsAre("arg1", "arg2"))))))
927
+ .RetiresOnSaturation();
928
+
929
+ retainedWebSocketDelegate->didReceiveMessage(sformat(
930
+ R"({{
931
+ "event": "wrappedEvent",
932
+ "payload": {{
933
+ "pageId": {0},
934
+ "wrappedEvent": {1}
935
+ }}
936
+ }})",
937
+ toJson(std::to_string(pageId)),
938
+ toJson(R"({
939
+ "method": "FakeDomain.fakeMethod",
940
+ "id": 1234,
941
+ "params": ["arg1", "arg2"]
942
+ })")));
943
+
944
+ retainedWebSocketDelegate.reset();
945
+ EXPECT_FALSE(localConnections_[0]);
946
+ EXPECT_FALSE(webSockets_[0]);
947
+ }
948
+
949
+ TEST_F(InspectorPackagerConnectionTest, TestDestroyConnectionOnPageRemoved) {
950
+ // Configure gmock to expect calls in a specific order.
951
+ InSequence mockCallsMustBeInSequence;
952
+
953
+ packagerConnection_->connect();
954
+ ASSERT_TRUE(webSockets_[0]);
955
+
956
+ auto pageId = getInspectorInstance().addPage(
957
+ "mock-title",
958
+ "mock-vm",
959
+ localConnections_
960
+ .lazily_make_unique<std::unique_ptr<IRemoteConnection>>());
961
+
962
+ // Connect to the page.
963
+ webSockets_[0]->getDelegate().didReceiveMessage(sformat(
964
+ R"({{
965
+ "event": "connect",
966
+ "payload": {{
967
+ "pageId": {0}
968
+ }}
969
+ }})",
970
+ toJson(std::to_string(pageId))));
971
+ EXPECT_TRUE(localConnections_[0]);
972
+
973
+ // Remove the page.
974
+ EXPECT_CALL(*localConnections_[0], disconnect()).RetiresOnSaturation();
975
+ getInspectorInstance().removePage(pageId);
976
+ EXPECT_FALSE(localConnections_[0]);
977
+ }
978
+
979
+ TEST_F(
980
+ InspectorPackagerConnectionTestAsync,
981
+ TestAttemptSendToRemoteAfterDestroyed) {
982
+ // Configure gmock to expect calls in a specific order.
983
+ InSequence mockCallsMustBeInSequence;
984
+
985
+ packagerConnection_->connect();
986
+ auto pageId = getInspectorInstance().addPage(
987
+ "mock-title",
988
+ "mock-vm",
989
+ localConnections_
990
+ .lazily_make_unique<std::unique_ptr<IRemoteConnection>>());
991
+
992
+ // Connect to the page.
993
+ webSockets_[0]->getDelegate().didReceiveMessage(sformat(
994
+ R"({{
995
+ "event": "connect",
996
+ "payload": {{
997
+ "pageId": {0}
998
+ }}
999
+ }})",
1000
+ toJson(std::to_string(pageId))));
1001
+ ASSERT_TRUE(localConnections_[0]);
1002
+
1003
+ // Send an event from the mocked backend (local) to the frontend (remote)
1004
+ // but don't flush the callback queue yet.
1005
+ localConnections_[0]->getRemoteConnection().onMessage(R"({
1006
+ "method": "FakeDomain.eventTriggered",
1007
+ "params": ["arg1", "arg2"]
1008
+ })");
1009
+
1010
+ EXPECT_CALL(*localConnections_[0], disconnect()).RetiresOnSaturation();
1011
+ getInspectorInstance().removePage(pageId);
1012
+
1013
+ packagerConnection_.reset();
1014
+
1015
+ // Flush the callback queue. This doesn't crash.
1016
+ EXPECT_EQ(asyncExecutor_.run(), 1);
1017
+ }
1018
+
1019
+ TEST_F(
1020
+ InspectorPackagerConnectionTestAsync,
1021
+ TestAttemptSendToStaleRemoteConnection) {
1022
+ // Configure gmock to expect calls in a specific order.
1023
+ InSequence mockCallsMustBeInSequence;
1024
+
1025
+ packagerConnection_->connect();
1026
+ auto pageId = getInspectorInstance().addPage(
1027
+ "mock-title",
1028
+ "mock-vm",
1029
+ localConnections_
1030
+ .lazily_make_unique<std::unique_ptr<IRemoteConnection>>());
1031
+
1032
+ // Connect to the page.
1033
+ webSockets_[0]->getDelegate().didReceiveMessage(sformat(
1034
+ R"({{
1035
+ "event": "connect",
1036
+ "payload": {{
1037
+ "pageId": {0}
1038
+ }}
1039
+ }})",
1040
+ toJson(std::to_string(pageId))));
1041
+ ASSERT_TRUE(localConnections_[0]);
1042
+
1043
+ // Send an event from the mocked backend (local) to the frontend (remote)
1044
+ // but don't flush the callback queue yet.
1045
+ localConnections_[0]->getRemoteConnection().onMessage(R"({
1046
+ "method": "FakeDomain.eventToBeDropped",
1047
+ "params": ["arg1", "arg2"]
1048
+ })");
1049
+
1050
+ // Disconnect from the page.
1051
+ EXPECT_CALL(*localConnections_[0], disconnect()).RetiresOnSaturation();
1052
+ webSockets_[0]->getDelegate().didReceiveMessage(sformat(
1053
+ R"({{
1054
+ "event": "disconnect",
1055
+ "payload": {{
1056
+ "pageId": {0}
1057
+ }}
1058
+ }})",
1059
+ toJson(std::to_string(pageId))));
1060
+ EXPECT_FALSE(localConnections_[0]);
1061
+
1062
+ // Connect to the same page again.
1063
+ webSockets_[0]->getDelegate().didReceiveMessage(sformat(
1064
+ R"({{
1065
+ "event": "connect",
1066
+ "payload": {{
1067
+ "pageId": {0}
1068
+ }}
1069
+ }})",
1070
+ toJson(std::to_string(pageId))));
1071
+
1072
+ EXPECT_TRUE(localConnections_[1]);
1073
+
1074
+ // Send an event from the mocked backend (local) to the frontend (remote) over
1075
+ // the new connection, then flush the callback queue.
1076
+ // Only this event should be sent over the socket.
1077
+ EXPECT_CALL(
1078
+ *webSockets_[0],
1079
+ send(JsonParsed(AllOf(
1080
+ AtJsonPtr("/event", Eq("wrappedEvent")),
1081
+ AtJsonPtr("/payload/pageId", Eq(std::to_string(pageId))),
1082
+ AtJsonPtr(
1083
+ "/payload/wrappedEvent",
1084
+ JsonEq(
1085
+ R"({
1086
+ "method": "FakeDomain.eventToBeDelivered",
1087
+ "params": ["arg1", "arg2"]
1088
+ })"))))))
1089
+ .RetiresOnSaturation();
1090
+ localConnections_[1]->getRemoteConnection().onMessage(R"({
1091
+ "method": "FakeDomain.eventToBeDelivered",
1092
+ "params": ["arg1", "arg2"]
1093
+ })");
1094
+ EXPECT_EQ(asyncExecutor_.run(), 2);
1095
+
1096
+ // Clean up.
1097
+ EXPECT_CALL(*localConnections_[1], disconnect()).RetiresOnSaturation();
1098
+ getInspectorInstance().removePage(pageId);
1099
+ }
1100
+
1101
+ TEST_F(
1102
+ InspectorPackagerConnectionTestAsync,
1103
+ TestAttemptSendToStaleRemoteConnectionWhenRetained) {
1104
+ // Configure gmock to expect calls in a specific order.
1105
+ InSequence mockCallsMustBeInSequence;
1106
+
1107
+ packagerConnection_->connect();
1108
+ auto pageId = getInspectorInstance().addPage(
1109
+ "mock-title",
1110
+ "mock-vm",
1111
+ localConnections_
1112
+ .lazily_make_unique<std::unique_ptr<IRemoteConnection>>());
1113
+
1114
+ // Connect to the page.
1115
+ webSockets_[0]->getDelegate().didReceiveMessage(sformat(
1116
+ R"({{
1117
+ "event": "connect",
1118
+ "payload": {{
1119
+ "pageId": {0}
1120
+ }}
1121
+ }})",
1122
+ toJson(std::to_string(pageId))));
1123
+ ASSERT_TRUE(localConnections_[0]);
1124
+
1125
+ // Send an event from the mocked backend (local) to the frontend (remote)
1126
+ // but don't flush the callback queue yet.
1127
+ localConnections_[0]->getRemoteConnection().onMessage(R"({
1128
+ "method": "FakeDomain.eventToBeDropped",
1129
+ "params": ["arg1", "arg2"]
1130
+ })");
1131
+
1132
+ // Forcibly retain the remote connection beyond localConnections_[0]'s
1133
+ // lifetime.
1134
+ auto retainedRemoteConnection0 =
1135
+ localConnections_[0]->dangerouslyReleaseRemoteConnection();
1136
+
1137
+ // Disconnect from the page.
1138
+ EXPECT_CALL(*localConnections_[0], disconnect()).RetiresOnSaturation();
1139
+ webSockets_[0]->getDelegate().didReceiveMessage(sformat(
1140
+ R"({{
1141
+ "event": "disconnect",
1142
+ "payload": {{
1143
+ "pageId": {0}
1144
+ }}
1145
+ }})",
1146
+ toJson(std::to_string(pageId))));
1147
+ EXPECT_FALSE(localConnections_[0]);
1148
+
1149
+ // Connect to the same page again.
1150
+ webSockets_[0]->getDelegate().didReceiveMessage(sformat(
1151
+ R"({{
1152
+ "event": "connect",
1153
+ "payload": {{
1154
+ "pageId": {0}
1155
+ }}
1156
+ }})",
1157
+ toJson(std::to_string(pageId))));
1158
+
1159
+ EXPECT_TRUE(localConnections_[1]);
1160
+
1161
+ // Remember localConnections_[0]'s remote connection? We can still use it
1162
+ // without crashing, but it will not deliver any messages.
1163
+ retainedRemoteConnection0->onMessage(R"({
1164
+ "method": "FakeDomain.anotherEventToBeDropped",
1165
+ "params": ["arg1", "arg2"]
1166
+ })");
1167
+ retainedRemoteConnection0->onDisconnect();
1168
+
1169
+ // Send events from the mocked backend (local) to the frontend (remote) over
1170
+ // the new connection, then flush the callback queue.
1171
+ // Only these events should be sent over the socket.
1172
+ EXPECT_CALL(
1173
+ *webSockets_[0],
1174
+ send(JsonParsed(AllOf(
1175
+ AtJsonPtr("/event", Eq("wrappedEvent")),
1176
+ AtJsonPtr("/payload/pageId", Eq(std::to_string(pageId))),
1177
+ AtJsonPtr(
1178
+ "/payload/wrappedEvent",
1179
+ JsonEq(
1180
+ R"({
1181
+ "method": "FakeDomain.eventToBeDelivered",
1182
+ "params": ["arg1", "arg2"]
1183
+ })"))))))
1184
+ .RetiresOnSaturation();
1185
+ localConnections_[1]->getRemoteConnection().onMessage(R"({
1186
+ "method": "FakeDomain.eventToBeDelivered",
1187
+ "params": ["arg1", "arg2"]
1188
+ })");
1189
+ EXPECT_CALL(
1190
+ *webSockets_[0],
1191
+ send(JsonParsed(AllOf(
1192
+ AtJsonPtr("/event", Eq("disconnect")),
1193
+ AtJsonPtr("/payload/pageId", Eq(std::to_string(pageId)))))))
1194
+ .RetiresOnSaturation();
1195
+ localConnections_[1]->getRemoteConnection().onDisconnect();
1196
+
1197
+ EXPECT_EQ(asyncExecutor_.run(), 5);
1198
+
1199
+ // Clean up.
1200
+ EXPECT_CALL(*localConnections_[1], disconnect()).RetiresOnSaturation();
1201
+ getInspectorInstance().removePage(pageId);
1202
+ }
1203
+
1204
+ TEST_F(InspectorPackagerConnectionTest, TestRejectedPageConnection) {
1205
+ // Configure gmock to expect calls in a specific order.
1206
+ InSequence mockCallsMustBeInSequence;
1207
+
1208
+ enum {
1209
+ Accept,
1210
+ RejectSilently,
1211
+ RejectWithDisconnect
1212
+ } mockNextConnectionBehavior;
1213
+
1214
+ auto pageId = getInspectorInstance().addPage(
1215
+ "mock-title",
1216
+ "mock-vm",
1217
+ [&mockNextConnectionBehavior,
1218
+ this](auto remoteConnection) -> std::unique_ptr<ILocalConnection> {
1219
+ switch (mockNextConnectionBehavior) {
1220
+ case Accept:
1221
+ return localConnections_.make_unique(std::move(remoteConnection));
1222
+ case RejectSilently:
1223
+ return nullptr;
1224
+ case RejectWithDisconnect:
1225
+ remoteConnection->onDisconnect();
1226
+ return nullptr;
1227
+ }
1228
+ });
1229
+
1230
+ packagerConnection_->connect();
1231
+
1232
+ ASSERT_TRUE(webSockets_[0]);
1233
+
1234
+ // Reject the connection by returning nullptr.
1235
+ mockNextConnectionBehavior = RejectSilently;
1236
+
1237
+ EXPECT_CALL(
1238
+ *webSockets_[0],
1239
+ send(JsonParsed(AllOf(
1240
+ AtJsonPtr("/event", Eq("disconnect")),
1241
+ AtJsonPtr("/payload/pageId", Eq(std::to_string(pageId)))))))
1242
+ .RetiresOnSaturation();
1243
+
1244
+ webSockets_[0]->getDelegate().didReceiveMessage(sformat(
1245
+ R"({{
1246
+ "event": "connect",
1247
+ "payload": {{
1248
+ "pageId": {0}
1249
+ }}
1250
+ }})",
1251
+ toJson(std::to_string(pageId))));
1252
+
1253
+ webSockets_[0]->getDelegate().didReceiveMessage(sformat(
1254
+ R"({{
1255
+ "event": "wrappedEvent",
1256
+ "payload": {{
1257
+ "pageId": {0},
1258
+ "wrappedEvent": {1}
1259
+ }}
1260
+ }})",
1261
+ toJson(std::to_string(pageId)),
1262
+ toJson(R"({
1263
+ "method": "FakeDomain.fakeMethod",
1264
+ "id": 1,
1265
+ "params": ["arg1", "arg2"]
1266
+ })")));
1267
+
1268
+ // Reject the connection by explicitly calling onDisconnect(), then returning
1269
+ // nullptr.
1270
+ mockNextConnectionBehavior = RejectWithDisconnect;
1271
+
1272
+ EXPECT_CALL(
1273
+ *webSockets_[0],
1274
+ send(JsonParsed(AllOf(
1275
+ AtJsonPtr("/event", Eq("disconnect")),
1276
+ AtJsonPtr("/payload/pageId", Eq(std::to_string(pageId)))))))
1277
+ .RetiresOnSaturation();
1278
+
1279
+ webSockets_[0]->getDelegate().didReceiveMessage(sformat(
1280
+ R"({{
1281
+ "event": "connect",
1282
+ "payload": {{
1283
+ "pageId": {0}
1284
+ }}
1285
+ }})",
1286
+ toJson(std::to_string(pageId))));
1287
+
1288
+ webSockets_[0]->getDelegate().didReceiveMessage(sformat(
1289
+ R"({{
1290
+ "event": "wrappedEvent",
1291
+ "payload": {{
1292
+ "pageId": {0},
1293
+ "wrappedEvent": {1}
1294
+ }}
1295
+ }})",
1296
+ toJson(std::to_string(pageId)),
1297
+ toJson(R"({
1298
+ "method": "FakeDomain.fakeMethod",
1299
+ "id": 2,
1300
+ "params": ["arg1", "arg2"]
1301
+ })")));
1302
+
1303
+ // Accept a connection after previously rejecting connections to the same
1304
+ // page.
1305
+ mockNextConnectionBehavior = Accept;
1306
+
1307
+ webSockets_[0]->getDelegate().didReceiveMessage(sformat(
1308
+ R"({{
1309
+ "event": "connect",
1310
+ "payload": {{
1311
+ "pageId": {0}
1312
+ }}
1313
+ }})",
1314
+ toJson(std::to_string(pageId))));
1315
+
1316
+ EXPECT_CALL(
1317
+ *localConnections_[0],
1318
+ sendMessage(JsonParsed(AllOf(
1319
+ AtJsonPtr("/method", Eq("FakeDomain.fakeMethod")),
1320
+ AtJsonPtr("/id", Eq(3)),
1321
+ AtJsonPtr("/params", ElementsAre("arg1", "arg2"))))))
1322
+ .RetiresOnSaturation();
1323
+
1324
+ webSockets_[0]->getDelegate().didReceiveMessage(sformat(
1325
+ R"({{
1326
+ "event": "wrappedEvent",
1327
+ "payload": {{
1328
+ "pageId": {0},
1329
+ "wrappedEvent": {1}
1330
+ }}
1331
+ }})",
1332
+ toJson(std::to_string(pageId)),
1333
+ toJson(R"({
1334
+ "method": "FakeDomain.fakeMethod",
1335
+ "id": 3,
1336
+ "params": ["arg1", "arg2"]
1337
+ })")));
1338
+
1339
+ EXPECT_CALL(*localConnections_[0], disconnect()).RetiresOnSaturation();
1340
+ getInspectorInstance().removePage(pageId);
1341
+ }
1342
+
1343
+ } // namespace facebook::react::jsinspector_modern