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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (704) hide show
  1. package/.flowconfig +11 -10
  2. package/Directory.Build.props +3 -3
  3. package/Folly/Folly.vcxproj +1 -3
  4. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +7 -3
  5. package/Libraries/Alert/RCTAlertManager.android.js +4 -2
  6. package/Libraries/Animated/Animated.d.ts +2 -0
  7. package/Libraries/Animated/AnimatedEvent.js +1 -1
  8. package/Libraries/Animated/AnimatedExports.js.flow +1 -0
  9. package/Libraries/Animated/AnimatedImplementation.js +4 -2
  10. package/Libraries/Animated/AnimatedMock.js +1 -1
  11. package/Libraries/Animated/Easing.js +2 -0
  12. package/Libraries/Animated/NativeAnimatedAllowlist.js +1 -0
  13. package/Libraries/Animated/animations/Animation.js +19 -20
  14. package/Libraries/Animated/animations/TimingAnimation.js +2 -0
  15. package/Libraries/Animated/components/AnimatedScrollView.js +3 -2
  16. package/Libraries/Animated/components/AnimatedSectionList.js +1 -1
  17. package/Libraries/Animated/nodes/AnimatedColor.js +9 -9
  18. package/Libraries/Animated/nodes/AnimatedInterpolation.js +4 -4
  19. package/Libraries/Animated/nodes/AnimatedNode.js +14 -7
  20. package/Libraries/Animated/nodes/AnimatedObject.js +7 -7
  21. package/Libraries/Animated/nodes/AnimatedProps.js +32 -32
  22. package/Libraries/Animated/nodes/AnimatedStyle.js +23 -21
  23. package/Libraries/Animated/nodes/AnimatedTransform.js +6 -6
  24. package/Libraries/Animated/nodes/AnimatedValue.js +18 -26
  25. package/Libraries/AppState/AppState.js +8 -4
  26. package/Libraries/BatchedBridge/BatchedBridge.js +1 -0
  27. package/Libraries/BatchedBridge/MessageQueue.js +5 -0
  28. package/Libraries/BatchedBridge/NativeModules.js +1 -1
  29. package/Libraries/Blob/BlobManager.js +1 -1
  30. package/Libraries/Blob/URLSearchParams.js +2 -0
  31. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +2 -2
  32. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.windows.js +2 -2
  33. package/Libraries/Components/Button.js +1 -1
  34. package/Libraries/Components/Button.windows.js +1 -1
  35. package/Libraries/Components/Flyout/FlyoutNativeComponent.js +2 -2
  36. package/Libraries/Components/Glyph/GlyphNativeComponent.js +1 -1
  37. package/Libraries/Components/Popup/PopupNativeComponent.js +1 -0
  38. package/Libraries/Components/Pressable/Pressable.js +10 -1
  39. package/Libraries/Components/Pressable/Pressable.windows.js +9 -0
  40. package/Libraries/Components/Pressable/useAndroidRippleForView.js +2 -2
  41. package/Libraries/Components/ScrollView/ScrollView.js +13 -4
  42. package/Libraries/Components/ScrollView/ScrollView.windows.js +14 -5
  43. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +1 -1
  44. package/Libraries/Components/StatusBar/StatusBar.js +2 -2
  45. package/Libraries/Components/Switch/Switch.js +1 -1
  46. package/Libraries/Components/Switch/Switch.windows.js +1 -1
  47. package/Libraries/Components/TextInput/TextInput.flow.js +12 -5
  48. package/Libraries/Components/TextInput/TextInput.flow.windows.js +12 -5
  49. package/Libraries/Components/TextInput/TextInput.js +14 -5
  50. package/Libraries/Components/TextInput/TextInput.windows.js +23 -11
  51. package/Libraries/Components/TextInput/TextInputState.js +1 -1
  52. package/Libraries/Components/TextInput/TextInputState.windows.js +1 -1
  53. package/Libraries/Components/Touchable/TouchableBounce.js +1 -1
  54. package/Libraries/Components/Touchable/TouchableHighlight.js +1 -1
  55. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +1 -1
  56. package/Libraries/Components/Touchable/TouchableOpacity.js +1 -1
  57. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +3 -3
  58. package/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js +1 -1
  59. package/Libraries/Components/View/View.js +81 -167
  60. package/Libraries/Components/View/View.windows.js +202 -302
  61. package/Libraries/Core/Devtools/loadBundleFromServer.js +1 -1
  62. package/Libraries/Core/Devtools/loadBundleFromServer.windows.js +1 -1
  63. package/Libraries/Core/ExceptionsManager.js +4 -2
  64. package/Libraries/Core/ReactFiberErrorDialog.js +3 -3
  65. package/Libraries/Core/ReactNativeVersion.js +37 -10
  66. package/Libraries/Core/Timers/JSTimers.js +4 -1
  67. package/Libraries/Core/Timers/NativeTiming.js +1 -0
  68. package/Libraries/Core/Timers/immediateShim.js +2 -1
  69. package/Libraries/Core/Timers/queueMicrotask.js +1 -0
  70. package/Libraries/Core/setUpPerformance.js +3 -4
  71. package/Libraries/Debugging/DebuggingOverlayRegistry.js +5 -3
  72. package/Libraries/Image/AssetSourceResolver.windows.js +2 -2
  73. package/Libraries/Image/Image.android.js +327 -111
  74. package/Libraries/Image/Image.ios.js +6 -1
  75. package/Libraries/Image/Image.windows.js +28 -61
  76. package/Libraries/Image/ImageSourceUtils.js +8 -2
  77. package/Libraries/Image/resolveAssetSource.js +1 -1
  78. package/Libraries/Image/resolveAssetSource.windows.js +1 -1
  79. package/Libraries/Interaction/InteractionManager.js +118 -167
  80. package/Libraries/Interaction/PanResponder.js +7 -52
  81. package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -0
  82. package/Libraries/Lists/FlatList.js +5 -6
  83. package/Libraries/LogBox/Data/LogBoxData.js +5 -2
  84. package/Libraries/LogBox/Data/parseLogBoxLog.js +1 -1
  85. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +1 -1
  86. package/Libraries/Modal/Modal.js +3 -3
  87. package/Libraries/Modal/Modal.windows.js +2 -2
  88. package/Libraries/NativeComponent/NativeComponentRegistry.js +1 -1
  89. package/Libraries/NativeComponent/ViewConfig.js +2 -2
  90. package/Libraries/Network/RCTNetworking.android.js +1 -1
  91. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  92. package/Libraries/Network/RCTNetworking.windows.js +1 -1
  93. package/Libraries/Network/XMLHttpRequest.js +20 -5
  94. package/Libraries/Network/convertRequestBody.js +1 -1
  95. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +10 -9
  96. package/Libraries/Pressability/HoverState.js +2 -0
  97. package/Libraries/Pressability/Pressability.js +1 -1
  98. package/Libraries/Pressability/Pressability.windows.js +5 -5
  99. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +2 -2
  100. package/Libraries/ReactNative/AppRegistryImpl.js +4 -2
  101. package/Libraries/ReactNative/PaperUIManager.windows.js +4 -4
  102. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +2 -0
  103. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +3 -3
  104. package/Libraries/ReactNative/RendererImplementation.js +116 -116
  105. package/Libraries/ReactNative/UIManager.js +3 -3
  106. package/Libraries/ReactNative/renderApplication.js +1 -0
  107. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +1 -1
  108. package/Libraries/Renderer/implementations/ReactFabric-dev.js +38 -35
  109. package/Libraries/Renderer/implementations/ReactFabric-prod.js +51 -22
  110. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +54 -24
  111. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +36 -33
  112. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +5 -5
  113. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +5 -5
  114. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +3 -1
  115. package/Libraries/Share/Share.js +4 -0
  116. package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +2 -2
  117. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +2 -2
  118. package/Libraries/StyleSheet/PlatformColorValueTypes.windows.js +2 -0
  119. package/Libraries/StyleSheet/StyleSheet.d.ts +7 -22
  120. package/Libraries/StyleSheet/StyleSheetExports.js +2 -8
  121. package/Libraries/StyleSheet/StyleSheetExports.js.flow +11 -18
  122. package/Libraries/StyleSheet/flattenStyle.js +2 -2
  123. package/Libraries/StyleSheet/processAspectRatio.js +2 -0
  124. package/Libraries/StyleSheet/processFilter.js +5 -5
  125. package/Libraries/StyleSheet/splitLayoutProps.js +2 -2
  126. package/Libraries/Text/Text.js +534 -234
  127. package/Libraries/Text/Text.windows.js +622 -265
  128. package/Libraries/Text/TextNativeComponent.js +2 -2
  129. package/Libraries/Utilities/Appearance.d.ts +3 -5
  130. package/Libraries/Utilities/Appearance.js +5 -17
  131. package/Libraries/Utilities/HMRClient.js +2 -1
  132. package/Libraries/Utilities/Platform.android.js +3 -3
  133. package/Libraries/Utilities/Platform.d.ts +1 -0
  134. package/Libraries/Utilities/Platform.ios.js +1 -1
  135. package/Libraries/Utilities/Platform.windows.js +3 -3
  136. package/Libraries/Utilities/PlatformTypes.js +1 -1
  137. package/Libraries/Utilities/ReactNativeTestTools.js +12 -0
  138. package/Libraries/Utilities/SceneTracker.js +1 -1
  139. package/Libraries/Utilities/codegenNativeCommands.js +1 -1
  140. package/Libraries/Utilities/codegenNativeComponent.js +1 -1
  141. package/Libraries/Utilities/createPerformanceLogger.js +32 -0
  142. package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +2 -0
  143. package/Libraries/Utilities/differ/pointsDiffer.js +1 -1
  144. package/Libraries/Utilities/useMergeRefs.js +1 -1
  145. package/Libraries/WebSocket/WebSocketInterceptor.js +2 -0
  146. package/Libraries/promiseRejectionTrackingOptions.js +17 -31
  147. package/Libraries/vendor/emitter/EventEmitter.js +1 -1
  148. package/Microsoft.ReactNative/App.xaml +5 -0
  149. package/Microsoft.ReactNative/Base/CxxReactIncludes.h +0 -3
  150. package/Microsoft.ReactNative/ComponentView.idl +2 -0
  151. package/Microsoft.ReactNative/Composition.Input.idl +7 -0
  152. package/Microsoft.ReactNative/CompositionContext.idl +0 -2
  153. package/Microsoft.ReactNative/Fabric/AbiViewProps.cpp +2 -2
  154. package/Microsoft.ReactNative/Fabric/AbiViewProps.h +0 -2
  155. package/Microsoft.ReactNative/Fabric/ComponentView.cpp +18 -0
  156. package/Microsoft.ReactNative/Fabric/ComponentView.h +9 -0
  157. package/Microsoft.ReactNative/Fabric/Composition/Composition.Input.cpp +12 -69
  158. package/Microsoft.ReactNative/Fabric/Composition/Composition.Input.h +16 -15
  159. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.cpp +0 -31
  160. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.h +0 -10
  161. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper_emptyimpl.cpp +0 -4
  162. package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.cpp +75 -6
  163. package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.h +1 -2
  164. package/Microsoft.ReactNative/Fabric/Composition/CompositionHelpers.h +0 -2
  165. package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.cpp +0 -9
  166. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.cpp +0 -10
  167. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.h +0 -4
  168. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +2 -4
  169. package/Microsoft.ReactNative/Fabric/Composition/ContentIslandComponentView.cpp +6 -68
  170. package/Microsoft.ReactNative/Fabric/Composition/ContentIslandComponentView.h +0 -4
  171. package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.cpp +0 -1
  172. package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.h +0 -1
  173. package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.cpp +82 -14
  174. package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.h +11 -4
  175. package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.cpp +8 -0
  176. package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.h +3 -0
  177. package/Microsoft.ReactNative/Fabric/Composition/ReactNativeIsland.cpp +0 -6
  178. package/Microsoft.ReactNative/Fabric/Composition/ReactNativeIsland.h +0 -2
  179. package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.cpp +0 -1
  180. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +61 -32
  181. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.h +3 -0
  182. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.cpp +4 -1
  183. package/Microsoft.ReactNative/Fabric/Composition/Theme.cpp +0 -30
  184. package/Microsoft.ReactNative/Fabric/Composition/Theme.h +1 -3
  185. package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.cpp +8 -4
  186. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +0 -1
  187. package/Microsoft.ReactNative/Fabric/ImageManager.cpp +0 -4
  188. package/Microsoft.ReactNative/Fabric/WindowsComponentDescriptorRegistry.cpp +8 -0
  189. package/Microsoft.ReactNative/Fabric/WindowsComponentDescriptorRegistry.h +3 -0
  190. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/PlatformColorUtils.cpp +0 -11
  191. package/Microsoft.ReactNative/IReactContext.cpp +2 -25
  192. package/Microsoft.ReactNative/IReactContext.h +0 -7
  193. package/Microsoft.ReactNative/IReactContext.idl +4 -29
  194. package/Microsoft.ReactNative/IReactModuleBuilder.cpp +24 -140
  195. package/Microsoft.ReactNative/IReactModuleBuilder.h +0 -11
  196. package/Microsoft.ReactNative/IReactPackageBuilder.idl +1 -16
  197. package/Microsoft.ReactNative/IReactPackageProvider.idl +0 -1
  198. package/Microsoft.ReactNative/IReactViewComponentBuilder.idl +2 -0
  199. package/Microsoft.ReactNative/JsiApi.cpp +4 -3
  200. package/Microsoft.ReactNative/JsiApi.h +2 -3
  201. package/Microsoft.ReactNative/JsiApi.idl +3 -2
  202. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj +5 -214
  203. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj.filters +0 -252
  204. package/Microsoft.ReactNative/Modules/AccessibilityInfoModule.cpp +0 -37
  205. package/Microsoft.ReactNative/Modules/AlertModule.cpp +2 -140
  206. package/Microsoft.ReactNative/Modules/AlertModule.h +0 -2
  207. package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedNodeManager.cpp +5 -10
  208. package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedNodeManager.h +0 -1
  209. package/Microsoft.ReactNative/Modules/Animated/PropsAnimatedNode.cpp +1 -96
  210. package/Microsoft.ReactNative/Modules/Animated/PropsAnimatedNode.h +0 -14
  211. package/Microsoft.ReactNative/Modules/AppStateModule.cpp +0 -53
  212. package/Microsoft.ReactNative/Modules/AppStateModule.h +0 -5
  213. package/Microsoft.ReactNative/Modules/AppThemeModuleUwp.cpp +5 -14
  214. package/Microsoft.ReactNative/Modules/AppThemeModuleUwp.h +0 -2
  215. package/Microsoft.ReactNative/Modules/AppearanceModule.cpp +1 -9
  216. package/Microsoft.ReactNative/Modules/DevSettingsModule.cpp +0 -4
  217. package/Microsoft.ReactNative/Modules/DevSettingsModule.h +0 -2
  218. package/Microsoft.ReactNative/Modules/DeviceInfoModule.cpp +16 -90
  219. package/Microsoft.ReactNative/Modules/I18nManagerModule.cpp +3 -8
  220. package/Microsoft.ReactNative/Modules/ImageViewManagerModule.cpp +33 -43
  221. package/Microsoft.ReactNative/Modules/LinkingManagerModule.cpp +0 -3
  222. package/Microsoft.ReactNative/Modules/LogBoxModule.cpp +30 -102
  223. package/Microsoft.ReactNative/Modules/LogBoxModule.h +0 -7
  224. package/Microsoft.ReactNative/Modules/Timing.cpp +7 -9
  225. package/Microsoft.ReactNative/Pch/pch.h +0 -28
  226. package/Microsoft.ReactNative/ReactCoreInjection.h +0 -1
  227. package/Microsoft.ReactNative/ReactHost/IReactInstance.h +0 -8
  228. package/Microsoft.ReactNative/ReactHost/MsoReactContext.cpp +0 -15
  229. package/Microsoft.ReactNative/ReactHost/MsoReactContext.h +0 -2
  230. package/Microsoft.ReactNative/ReactHost/React.h +0 -44
  231. package/Microsoft.ReactNative/ReactHost/ReactHost.cpp +10 -47
  232. package/Microsoft.ReactNative/ReactHost/ReactHost.h +1 -1
  233. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +30 -586
  234. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.h +2 -37
  235. package/Microsoft.ReactNative/ReactHost/ReactNativeHeaders.h +0 -13
  236. package/Microsoft.ReactNative/ReactHost/React_Win.h +0 -1
  237. package/Microsoft.ReactNative/ReactInstanceSettings.cpp +0 -8
  238. package/Microsoft.ReactNative/ReactInstanceSettings.h +0 -13
  239. package/Microsoft.ReactNative/ReactInstanceSettings.idl +7 -23
  240. package/Microsoft.ReactNative/ReactNativeHost.cpp +10 -35
  241. package/Microsoft.ReactNative/ReactNativeHost.h +0 -1
  242. package/Microsoft.ReactNative/ReactNativeIsland.idl +0 -4
  243. package/Microsoft.ReactNative/ReactPackageBuilder.cpp +9 -36
  244. package/Microsoft.ReactNative/ReactPackageBuilder.h +4 -38
  245. package/Microsoft.ReactNative/RedBox.cpp +9 -362
  246. package/Microsoft.ReactNative/Theme.idl +0 -2
  247. package/Microsoft.ReactNative/Timer.cpp +3 -2
  248. package/Microsoft.ReactNative/Utils/Helpers.cpp +0 -47
  249. package/Microsoft.ReactNative/Utils/Helpers.h +0 -5
  250. package/Microsoft.ReactNative/Utils/KeyboardUtils.cpp +0 -11
  251. package/Microsoft.ReactNative/Utils/ThemeUtils.cpp +0 -4
  252. package/Microsoft.ReactNative/Utils/ThemeUtils.h +1 -5
  253. package/Microsoft.ReactNative/Utils/UwpPreparedScriptStore.h +0 -2
  254. package/Microsoft.ReactNative/Utils/ValueUtils.cpp +0 -245
  255. package/Microsoft.ReactNative/Utils/ValueUtils.h +0 -23
  256. package/Microsoft.ReactNative/ViewProps.idl +0 -2
  257. package/Microsoft.ReactNative/Views/DevMenu.cpp +2 -278
  258. package/Microsoft.ReactNative/Views/DevMenu.h +0 -5
  259. package/Microsoft.ReactNative/XamlApplication.cpp +71 -0
  260. package/Microsoft.ReactNative/XamlApplication.h +47 -0
  261. package/Microsoft.ReactNative/XamlApplication.idl +19 -0
  262. package/Microsoft.ReactNative/XamlUIService.cpp +0 -54
  263. package/Microsoft.ReactNative/XamlUIService.h +0 -12
  264. package/Microsoft.ReactNative/XamlUIService.idl +0 -12
  265. package/Microsoft.ReactNative.Cxx/CppWinRTIncludes.h +0 -19
  266. package/Microsoft.ReactNative.Cxx/DesktopWindowBridge.h +1 -1
  267. package/Microsoft.ReactNative.Cxx/JSI/decorator.h +191 -114
  268. package/Microsoft.ReactNative.Cxx/JSI/instrumentation.h +5 -0
  269. package/Microsoft.ReactNative.Cxx/JSI/jsi-inl.h +37 -0
  270. package/Microsoft.ReactNative.Cxx/JSI/jsi.cpp +68 -0
  271. package/Microsoft.ReactNative.Cxx/JSI/jsi.h +77 -11
  272. package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems +2 -2
  273. package/Microsoft.ReactNative.Cxx/NamespaceRedirect.h +0 -5
  274. package/Microsoft.ReactNative.Cxx/NodeApiJsiRuntime.cpp +93 -1
  275. package/Microsoft.ReactNative.Cxx/ReactCommon/TurboModule.cpp +4 -3
  276. package/Microsoft.ReactNative.Cxx/ReactCommon/TurboModule.h +2 -2
  277. package/Microsoft.ReactNative.Cxx/ReactCommon/TurboModuleUtils.cpp +2 -55
  278. package/Microsoft.ReactNative.Cxx/ReactCommon/TurboModuleUtils.h +4 -8
  279. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Class.h +5 -0
  280. package/Microsoft.ReactNative.Cxx/ReactCommon/react/timing/primitives.h +44 -4
  281. package/Microsoft.ReactNative.Cxx/ReactContext.h +0 -13
  282. package/Microsoft.ReactNative.Cxx/UI.Composition.Effects.h +0 -4
  283. package/Microsoft.ReactNative.Cxx/UI.Composition.h +0 -4
  284. package/Microsoft.ReactNative.Cxx/UI.Input.h +0 -4
  285. package/Microsoft.ReactNative.Cxx/UI.Popups.h +0 -4
  286. package/Microsoft.ReactNative.Cxx/UI.Text.h +0 -4
  287. package/Microsoft.ReactNative.Cxx/XamlUtils.h +0 -33
  288. package/Microsoft.ReactNative.Managed/JSValueReader.cs +0 -4
  289. package/Microsoft.ReactNative.Managed/Microsoft.ReactNative.Managed.csproj +0 -3
  290. package/Microsoft.ReactNative.Managed/ReactContext.cs +0 -5
  291. package/Microsoft.ReactNative.Managed/ReactContextGenerator.cs +0 -4
  292. package/Microsoft.ReactNative.Managed/ReactPackageBuilderExtensions.cs +0 -25
  293. package/Microsoft.ReactNative.Managed/ReactSettingsSnapshot.cs +0 -4
  294. package/Microsoft.ReactNative.Managed/ReflectionReactPackageProvider.cs +1 -2
  295. package/Microsoft.ReactNative.Managed.CodeGen/CodeAnalyzer.cs +0 -10
  296. package/Microsoft.ReactNative.Managed.CodeGen/CodeGenerator.ViewManager.cs +0 -36
  297. package/Microsoft.ReactNative.Managed.CodeGen/CodeGenerator.cs +0 -6
  298. package/Microsoft.ReactNative.Managed.CodeGen/Model/ReactAssembly.cs +0 -2
  299. package/Microsoft.ReactNative.Managed.CodeGen/Model/ReactTypes.cs +0 -2
  300. package/Microsoft.ReactNative.Managed.CodeGen/ReactNativeNames.cs +0 -2
  301. package/Mso/src/dispatchQueue/queueService.cpp +3 -1
  302. package/Mso/src/dispatchQueue/uiScheduler_winrt.cpp +2 -10
  303. package/PropertySheets/Bundle.Common.targets +1 -1
  304. package/PropertySheets/Bundle.props +3 -4
  305. package/PropertySheets/External/Microsoft.ReactNative.Common.props +0 -1
  306. package/PropertySheets/External/Microsoft.ReactNative.Uwp.CSharpApp.targets +1 -1
  307. package/PropertySheets/External/Microsoft.ReactNative.Uwp.CppApp.targets +1 -1
  308. package/PropertySheets/Generated/PackageVersion.g.props +4 -4
  309. package/PropertySheets/JSEngine.props +1 -1
  310. package/PropertySheets/NuGet.LockFile.props +0 -8
  311. package/PropertySheets/OutputMSBuildProperties.targets +0 -1
  312. package/PropertySheets/React.Cpp.props +3 -5
  313. package/PropertySheets/Warnings.props +1 -2
  314. package/PropertySheets/WinUI.props +3 -3
  315. package/README.md +1 -5
  316. package/ReactCommon/ReactCommon.vcxproj +12 -31
  317. package/ReactCommon/ReactCommon.vcxproj.filters +0 -3
  318. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/CxxNativeModule.cpp +3 -2
  319. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/NativeToJsBridge.cpp +5 -2
  320. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/TraceSection.h +20 -4
  321. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/jsi/test/testlib.cpp +113 -1
  322. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.cpp +14 -6
  323. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/Utf8.h +1 -0
  324. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/tracing/RuntimeSamplingProfileTraceEventSerializer.cpp +351 -0
  325. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModule.h +2 -2
  326. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/dom/NativeDOM.cpp +42 -36
  327. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/dom/NativeDOM.h +15 -3
  328. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp +1 -1
  329. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/image/conversions.h +174 -0
  330. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/text/BaseParagraphProps.cpp +174 -0
  331. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/text/BaseParagraphProps.h +69 -0
  332. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/text/ParagraphShadowNode.cpp +1 -0
  333. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/AccessibilityPrimitives.h +26 -3
  334. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/conversions.h +1 -1
  335. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/ShadowNode.cpp +1 -1
  336. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/imagemanager/primitives.h +189 -0
  337. package/ReactCommon/TEMP_UntilReactCommonUpdate/reactperflogger/reactperflogger/ReactPerfettoLogger.cpp +27 -8
  338. package/ReactCommon/cgmanifest.json +1 -1
  339. package/Scripts/Microsoft.ReactNative.nuspec +15 -33
  340. package/Scripts/NuGetRestoreForceEvaluateAllSolutions.ps1 +23 -23
  341. package/Scripts/OfficeReact.Win32.nuspec +0 -3
  342. package/Scripts/creaternwapp.cmd +1 -1
  343. package/Scripts/rnw-dependencies.ps1 +15 -1
  344. package/Shared/DevServerHelper.h +17 -21
  345. package/Shared/DevSettings.h +1 -25
  346. package/Shared/DevSupportManager.cpp +0 -50
  347. package/Shared/DevSupportManager.h +0 -4
  348. package/Shared/Hermes/HermesRuntimeTargetDelegate.cpp +5 -1
  349. package/Shared/HermesRuntimeHolder.cpp +0 -31
  350. package/Shared/HermesRuntimeHolder.h +0 -14
  351. package/Shared/IDevSupportManager.h +0 -6
  352. package/Shared/InstanceManager.cpp +0 -97
  353. package/Shared/InstanceManager.h +0 -53
  354. package/Shared/JSI/ScriptStore.h +1 -1
  355. package/Shared/Logging.cpp +1 -12
  356. package/Shared/Modules/CxxModuleUtilities.cpp +0 -9
  357. package/Shared/Modules/CxxModuleUtilities.h +0 -8
  358. package/Shared/Networking/OriginPolicyHttpFilter.cpp +9 -1
  359. package/Shared/OInstance.cpp +144 -424
  360. package/Shared/OInstance.h +0 -81
  361. package/Shared/Shared.vcxitems +83 -203
  362. package/Shared/Shared.vcxitems.filters +7 -69
  363. package/Shared/Threading/MessageQueueThreadFactory.cpp +0 -6
  364. package/Shared/Threading/MessageQueueThreadFactory.h +0 -4
  365. package/Shared/TurboModuleManager.cpp +0 -4
  366. package/Shared/Utils.cpp +26 -0
  367. package/Shared/Utils.h +3 -0
  368. package/codegen/NativeDOMSpec.g.h +41 -35
  369. package/codegen/NativeIntersectionObserverSpec.g.h +9 -21
  370. package/codegen/NativePerformanceSpec.g.h +53 -35
  371. package/codegen/NativeReactNativeFeatureFlagsSpec.g.h +183 -129
  372. package/codegen/react/components/rnwcore/EventEmitters.cpp +25 -0
  373. package/codegen/react/components/rnwcore/EventEmitters.h +25 -0
  374. package/codegen/react/components/rnwcore/Props.cpp +41 -2
  375. package/codegen/react/components/rnwcore/Props.h +51 -2
  376. package/codegen/react/components/rnwcore/VirtualView.g.h +4 -0
  377. package/codegen/react/components/rnwcore/VirtualViewExperimental.g.h +240 -0
  378. package/codegen/rnwcoreJSI-generated.cpp +534 -467
  379. package/codegen/rnwcoreJSI.h +165 -66
  380. package/fmt/cgmanifest.json +1 -1
  381. package/fmt/fmt.vcxproj +0 -8
  382. package/index.js +14 -2
  383. package/index.windows.js +14 -2
  384. package/jest/local-setup.js +2 -2
  385. package/jest/mock.js +1 -1
  386. package/jest/mockComponent.js +9 -9
  387. package/jest/mockNativeComponent.js +3 -2
  388. package/jest/mocks/Modal.js +1 -1
  389. package/jest/mocks/ScrollView.js +1 -1
  390. package/jest/mocks/ViewNativeComponent.js +1 -1
  391. package/jest/setup.js +23 -12
  392. package/just-task.js +14 -0
  393. package/package.json +31 -31
  394. package/src/private/animated/NativeAnimatedHelper.js +16 -5
  395. package/src/private/animated/createAnimatedPropsHook.js +11 -60
  396. package/src/private/animated/createAnimatedPropsMemoHook.js +8 -54
  397. package/src/private/components/virtualview/VirtualView.js +43 -12
  398. package/src/private/components/virtualview/VirtualViewExperimentalNativeComponent.js +93 -0
  399. package/src/private/components/virtualview/VirtualViewNativeComponent.js +6 -0
  400. package/src/private/devsupport/devmenu/elementinspector/Inspector.js +2 -2
  401. package/src/private/devsupport/devmenu/elementinspector/ReactDevToolsOverlay.js +2 -2
  402. package/src/private/featureflags/ReactNativeFeatureFlags.js +85 -52
  403. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +23 -4
  404. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +15 -6
  405. package/src/private/renderer/errorhandling/ErrorHandlers.js +3 -3
  406. package/src/private/setup/{setUpPerformanceObserver.js → setUpPerformanceModern.js} +43 -18
  407. package/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js +1 -1
  408. package/src/private/specs_DEPRECATED/modules/NativeTiming.js +1 -0
  409. package/src/private/types/HostInstance.js +4 -1
  410. package/src/private/webapis/dom/nodes/ReactNativeDocument.js +22 -2
  411. package/src/private/webapis/dom/nodes/ReactNativeElement.js +1 -1
  412. package/src/private/webapis/dom/nodes/ReadOnlyElement.js +5 -3
  413. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +16 -13
  414. package/src/private/webapis/dom/nodes/internals/NodeInternals.js +45 -22
  415. package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentInstanceHandle.js +1 -1
  416. package/src/private/webapis/dom/nodes/specs/NativeDOM.js +26 -192
  417. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +15 -12
  418. package/src/private/webapis/dom/oldstylecollections/NodeList.js +14 -11
  419. package/src/private/webapis/geometry/DOMRectList.js +2 -2
  420. package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +19 -74
  421. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +0 -4
  422. package/src/private/webapis/mutationobserver/internals/MutationObserverManager.js +1 -1
  423. package/src/private/webapis/performance/EventTiming.js +40 -25
  424. package/src/private/webapis/performance/LongTasks.js +35 -2
  425. package/src/private/webapis/performance/Performance.js +347 -166
  426. package/src/private/webapis/performance/PerformanceEntry.js +40 -23
  427. package/src/private/webapis/performance/PerformanceObserver.js +37 -29
  428. package/src/private/webapis/performance/ReactNativeStartupTiming.js +3 -24
  429. package/src/private/webapis/performance/ResourceTiming.js +29 -18
  430. package/src/private/webapis/performance/UserTiming.js +92 -34
  431. package/src/private/webapis/performance/UserTimingExtensibility.js.flow +38 -0
  432. package/src/private/webapis/performance/internals/RawPerformanceEntry.js +3 -4
  433. package/src/private/webapis/performance/internals/Utilities.js +9 -0
  434. package/src/private/webapis/performance/specs/NativePerformance.js +23 -23
  435. package/src/private/webapis/structuredClone/structuredClone.js +10 -10
  436. package/stubs/double-conversion/README.md +1 -1
  437. package/template/cpp-lib/proj/MyLib.sln +0 -5
  438. package/template/cpp-lib/src/pch.h +0 -5
  439. package/template/cs-lib/proj/MyLib.sln +0 -5
  440. package/template/metro.config.js +1 -0
  441. package/templates/cpp-app/metro.config.js +2 -1
  442. package/templates/cpp-app/windows/MyApp.sln +0 -5
  443. package/templates/cpp-lib/example/metro.config.js +3 -4
  444. package/templates/cpp-lib/windows/MyLib.sln +0 -5
  445. package/Chakra/Chakra.vcxitems +0 -32
  446. package/Chakra/Chakra.vcxitems.filters +0 -54
  447. package/Chakra/ChakraHelpers.cpp +0 -468
  448. package/Chakra/ChakraHelpers.h +0 -146
  449. package/Chakra/ChakraInstanceArgs.h +0 -52
  450. package/Chakra/ChakraPlatform.cpp +0 -42
  451. package/Chakra/ChakraPlatform.h +0 -51
  452. package/Chakra/ChakraTracing.cpp +0 -275
  453. package/Chakra/ChakraTracing.h +0 -11
  454. package/Chakra/ChakraUtils.cpp +0 -190
  455. package/Chakra/ChakraUtils.h +0 -72
  456. package/Chakra/ChakraValue.cpp +0 -257
  457. package/Chakra/ChakraValue.h +0 -308
  458. package/Chakra/Utf8DebugExtensions.cpp +0 -62
  459. package/Chakra/Utf8DebugExtensions.h +0 -29
  460. package/Libraries/Interaction/InteractionManagerStub.js +0 -184
  461. package/Libraries/Interaction/TaskQueue.js +0 -183
  462. package/Libraries/ReactNative/ReactNativeFeatureFlags.js +0 -31
  463. package/Microsoft.ReactNative/ABICxxModule.cpp +0 -51
  464. package/Microsoft.ReactNative/ABICxxModule.h +0 -38
  465. package/Microsoft.ReactNative/ABIViewManager.cpp +0 -263
  466. package/Microsoft.ReactNative/ABIViewManager.h +0 -100
  467. package/Microsoft.ReactNative/Base/CoreUIManagers.cpp +0 -55
  468. package/Microsoft.ReactNative/DevMenuControl.cpp +0 -14
  469. package/Microsoft.ReactNative/DevMenuControl.h +0 -20
  470. package/Microsoft.ReactNative/DevMenuControl.idl +0 -28
  471. package/Microsoft.ReactNative/DevMenuControl.xaml +0 -139
  472. package/Microsoft.ReactNative/GlyphViewManager.cpp +0 -167
  473. package/Microsoft.ReactNative/GlyphViewManager.h +0 -24
  474. package/Microsoft.ReactNative/INativeUIManager.h +0 -75
  475. package/Microsoft.ReactNative/IViewManager.idl +0 -120
  476. package/Microsoft.ReactNative/IViewManagerCore.idl +0 -45
  477. package/Microsoft.ReactNative/LayoutService.cpp +0 -51
  478. package/Microsoft.ReactNative/LayoutService.h +0 -32
  479. package/Microsoft.ReactNative/LayoutService.idl +0 -41
  480. package/Microsoft.ReactNative/Modules/NativeUIManager.cpp +0 -1187
  481. package/Microsoft.ReactNative/Modules/NativeUIManager.h +0 -128
  482. package/Microsoft.ReactNative/Modules/PaperUIManagerModule.cpp +0 -891
  483. package/Microsoft.ReactNative/Modules/PaperUIManagerModule.h +0 -185
  484. package/Microsoft.ReactNative/NativeModulesProvider.cpp +0 -49
  485. package/Microsoft.ReactNative/NativeModulesProvider.h +0 -25
  486. package/Microsoft.ReactNative/ReactApplication.cpp +0 -276
  487. package/Microsoft.ReactNative/ReactApplication.h +0 -156
  488. package/Microsoft.ReactNative/ReactApplication.idl +0 -48
  489. package/Microsoft.ReactNative/ReactHost/ViewManagerProvider.h +0 -19
  490. package/Microsoft.ReactNative/ReactPointerEventArgs.cpp +0 -55
  491. package/Microsoft.ReactNative/ReactPointerEventArgs.h +0 -32
  492. package/Microsoft.ReactNative/ReactPointerEventArgs.idl +0 -79
  493. package/Microsoft.ReactNative/ReactRootView.cpp +0 -592
  494. package/Microsoft.ReactNative/ReactRootView.h +0 -127
  495. package/Microsoft.ReactNative/ReactRootView.idl +0 -40
  496. package/Microsoft.ReactNative/TestHook.cpp +0 -99
  497. package/Microsoft.ReactNative/TestHook.h +0 -15
  498. package/Microsoft.ReactNative/Utils/AccessibilityUtils.cpp +0 -36
  499. package/Microsoft.ReactNative/Utils/AccessibilityUtils.h +0 -15
  500. package/Microsoft.ReactNative/Utils/BatchingEventEmitter.cpp +0 -171
  501. package/Microsoft.ReactNative/Utils/BatchingEventEmitter.h +0 -72
  502. package/Microsoft.ReactNative/Utils/PropertyHandlerUtils.h +0 -87
  503. package/Microsoft.ReactNative/Utils/PropertyUtils.h +0 -568
  504. package/Microsoft.ReactNative/Utils/ResourceBrushUtils.cpp +0 -182
  505. package/Microsoft.ReactNative/Utils/ResourceBrushUtils.h +0 -58
  506. package/Microsoft.ReactNative/Utils/ShadowNodeTypeUtils.h +0 -26
  507. package/Microsoft.ReactNative/Utils/XamlIslandUtils.cpp +0 -93
  508. package/Microsoft.ReactNative/Utils/XamlIslandUtils.h +0 -48
  509. package/Microsoft.ReactNative/ViewManagersProvider.cpp +0 -39
  510. package/Microsoft.ReactNative/ViewManagersProvider.h +0 -27
  511. package/Microsoft.ReactNative/Views/ActivityIndicatorViewManager.cpp +0 -62
  512. package/Microsoft.ReactNative/Views/ActivityIndicatorViewManager.h +0 -29
  513. package/Microsoft.ReactNative/Views/ConfigureBundlerDlg.cpp +0 -186
  514. package/Microsoft.ReactNative/Views/ConfigureBundlerDlg.h +0 -11
  515. package/Microsoft.ReactNative/Views/ControlViewManager.cpp +0 -143
  516. package/Microsoft.ReactNative/Views/ControlViewManager.h +0 -38
  517. package/Microsoft.ReactNative/Views/DebuggingOverlayViewManager.cpp +0 -53
  518. package/Microsoft.ReactNative/Views/DebuggingOverlayViewManager.h +0 -30
  519. package/Microsoft.ReactNative/Views/DynamicAutomationPeer.cpp +0 -586
  520. package/Microsoft.ReactNative/Views/DynamicAutomationPeer.h +0 -104
  521. package/Microsoft.ReactNative/Views/DynamicAutomationProperties.cpp +0 -330
  522. package/Microsoft.ReactNative/Views/DynamicAutomationProperties.h +0 -111
  523. package/Microsoft.ReactNative/Views/DynamicValueProvider.cpp +0 -59
  524. package/Microsoft.ReactNative/Views/DynamicValueProvider.h +0 -32
  525. package/Microsoft.ReactNative/Views/ExpressionAnimationStore.cpp +0 -61
  526. package/Microsoft.ReactNative/Views/ExpressionAnimationStore.h +0 -26
  527. package/Microsoft.ReactNative/Views/FlyoutViewManager.cpp +0 -559
  528. package/Microsoft.ReactNative/Views/FlyoutViewManager.h +0 -34
  529. package/Microsoft.ReactNative/Views/FrameworkElementTransferProperties.cpp +0 -126
  530. package/Microsoft.ReactNative/Views/FrameworkElementTransferProperties.h +0 -23
  531. package/Microsoft.ReactNative/Views/FrameworkElementViewManager.cpp +0 -957
  532. package/Microsoft.ReactNative/Views/FrameworkElementViewManager.h +0 -41
  533. package/Microsoft.ReactNative/Views/IXamlRootView.h +0 -17
  534. package/Microsoft.ReactNative/Views/Image/ImageViewManager.cpp +0 -245
  535. package/Microsoft.ReactNative/Views/Image/ImageViewManager.h +0 -45
  536. package/Microsoft.ReactNative/Views/Image/ReactImage.cpp +0 -469
  537. package/Microsoft.ReactNative/Views/Image/ReactImage.h +0 -80
  538. package/Microsoft.ReactNative/Views/Image/ReactImageBrush.cpp +0 -247
  539. package/Microsoft.ReactNative/Views/Image/ReactImageBrush.h +0 -67
  540. package/Microsoft.ReactNative/Views/KeyboardEventHandler.cpp +0 -261
  541. package/Microsoft.ReactNative/Views/KeyboardEventHandler.h +0 -132
  542. package/Microsoft.ReactNative/Views/PaperShadowNode.cpp +0 -18
  543. package/Microsoft.ReactNative/Views/PaperShadowNode.h +0 -38
  544. package/Microsoft.ReactNative/Views/PopupViewManager.cpp +0 -349
  545. package/Microsoft.ReactNative/Views/PopupViewManager.h +0 -36
  546. package/Microsoft.ReactNative/Views/RawTextViewManager.cpp +0 -69
  547. package/Microsoft.ReactNative/Views/RawTextViewManager.h +0 -46
  548. package/Microsoft.ReactNative/Views/ReactViewInstance.cpp +0 -43
  549. package/Microsoft.ReactNative/Views/ReactViewInstance.h +0 -53
  550. package/Microsoft.ReactNative/Views/RefreshControlManager.cpp +0 -116
  551. package/Microsoft.ReactNative/Views/RefreshControlManager.h +0 -28
  552. package/Microsoft.ReactNative/Views/RootViewManager.cpp +0 -65
  553. package/Microsoft.ReactNative/Views/RootViewManager.h +0 -36
  554. package/Microsoft.ReactNative/Views/SIPEventHandler.cpp +0 -117
  555. package/Microsoft.ReactNative/Views/SIPEventHandler.h +0 -45
  556. package/Microsoft.ReactNative/Views/ScrollContentViewManager.cpp +0 -16
  557. package/Microsoft.ReactNative/Views/ScrollContentViewManager.h +0 -19
  558. package/Microsoft.ReactNative/Views/ScrollViewManager.cpp +0 -540
  559. package/Microsoft.ReactNative/Views/ScrollViewManager.h +0 -42
  560. package/Microsoft.ReactNative/Views/ShadowNodeBase.cpp +0 -228
  561. package/Microsoft.ReactNative/Views/ShadowNodeBase.h +0 -169
  562. package/Microsoft.ReactNative/Views/ShadowNodeRegistry.cpp +0 -68
  563. package/Microsoft.ReactNative/Views/ShadowNodeRegistry.h +0 -40
  564. package/Microsoft.ReactNative/Views/SliderViewManager.cpp +0 -97
  565. package/Microsoft.ReactNative/Views/SliderViewManager.h +0 -32
  566. package/Microsoft.ReactNative/Views/SwitchViewManager.cpp +0 -227
  567. package/Microsoft.ReactNative/Views/SwitchViewManager.h +0 -31
  568. package/Microsoft.ReactNative/Views/Text/TextHighlighterVisitor.cpp +0 -52
  569. package/Microsoft.ReactNative/Views/Text/TextHighlighterVisitor.h +0 -37
  570. package/Microsoft.ReactNative/Views/Text/TextHitTestUtils.cpp +0 -348
  571. package/Microsoft.ReactNative/Views/Text/TextHitTestUtils.h +0 -13
  572. package/Microsoft.ReactNative/Views/Text/TextHitTestVisitor.cpp +0 -76
  573. package/Microsoft.ReactNative/Views/Text/TextHitTestVisitor.h +0 -32
  574. package/Microsoft.ReactNative/Views/Text/TextParentVisitor.cpp +0 -12
  575. package/Microsoft.ReactNative/Views/Text/TextParentVisitor.h +0 -19
  576. package/Microsoft.ReactNative/Views/Text/TextPropertyChangedParentVisitor.cpp +0 -75
  577. package/Microsoft.ReactNative/Views/Text/TextPropertyChangedParentVisitor.h +0 -43
  578. package/Microsoft.ReactNative/Views/Text/TextTransformParentVisitor.cpp +0 -21
  579. package/Microsoft.ReactNative/Views/Text/TextTransformParentVisitor.h +0 -23
  580. package/Microsoft.ReactNative/Views/Text/TextTransformVisitor.cpp +0 -70
  581. package/Microsoft.ReactNative/Views/Text/TextTransformVisitor.h +0 -34
  582. package/Microsoft.ReactNative/Views/Text/TextVisitor.cpp +0 -56
  583. package/Microsoft.ReactNative/Views/Text/TextVisitor.h +0 -34
  584. package/Microsoft.ReactNative/Views/Text/TextVisitorScope.h +0 -35
  585. package/Microsoft.ReactNative/Views/Text/TextVisitors.h +0 -47
  586. package/Microsoft.ReactNative/Views/TextInputViewManager.cpp +0 -1003
  587. package/Microsoft.ReactNative/Views/TextInputViewManager.h +0 -33
  588. package/Microsoft.ReactNative/Views/TextViewManager.cpp +0 -414
  589. package/Microsoft.ReactNative/Views/TextViewManager.h +0 -47
  590. package/Microsoft.ReactNative/Views/TouchEventHandler.cpp +0 -608
  591. package/Microsoft.ReactNative/Views/TouchEventHandler.h +0 -116
  592. package/Microsoft.ReactNative/Views/UnimplementedViewManager.cpp +0 -79
  593. package/Microsoft.ReactNative/Views/UnimplementedViewManager.h +0 -27
  594. package/Microsoft.ReactNative/Views/ViewControl.cpp +0 -43
  595. package/Microsoft.ReactNative/Views/ViewControl.h +0 -32
  596. package/Microsoft.ReactNative/Views/ViewManager.h +0 -33
  597. package/Microsoft.ReactNative/Views/ViewManagerBase.cpp +0 -487
  598. package/Microsoft.ReactNative/Views/ViewManagerBase.h +0 -121
  599. package/Microsoft.ReactNative/Views/ViewPanel.cpp +0 -164
  600. package/Microsoft.ReactNative/Views/ViewPanel.h +0 -82
  601. package/Microsoft.ReactNative/Views/ViewViewManager.cpp +0 -507
  602. package/Microsoft.ReactNative/Views/ViewViewManager.h +0 -52
  603. package/Microsoft.ReactNative/Views/VirtualTextViewManager.cpp +0 -143
  604. package/Microsoft.ReactNative/Views/VirtualTextViewManager.h +0 -57
  605. package/Microsoft.ReactNative/Views/XamlFeatures.cpp +0 -11
  606. package/Microsoft.ReactNative/Views/XamlFeatures.h +0 -11
  607. package/Microsoft.ReactNative/Views/cppwinrt/AccessibilityAction.idl +0 -12
  608. package/Microsoft.ReactNative/Views/cppwinrt/DynamicAutomationPeer.idl +0 -231
  609. package/Microsoft.ReactNative/Views/cppwinrt/ViewPanel.idl +0 -48
  610. package/Microsoft.ReactNative/XamlHelper.cpp +0 -78
  611. package/Microsoft.ReactNative/XamlHelper.h +0 -54
  612. package/Microsoft.ReactNative/XamlHelper.idl +0 -30
  613. package/Microsoft.ReactNative/XamlLoadState.cpp +0 -217
  614. package/Microsoft.ReactNative/XamlLoadState.h +0 -44
  615. package/Microsoft.ReactNative/XamlView.cpp +0 -59
  616. package/Microsoft.ReactNative/XamlView.h +0 -58
  617. package/Microsoft.ReactNative/getLayoutProps.ps1 +0 -5
  618. package/Microsoft.ReactNative.Cxx/UI.Xaml.Automation.Peers.h +0 -10
  619. package/Microsoft.ReactNative.Cxx/UI.Xaml.Automation.h +0 -10
  620. package/Microsoft.ReactNative.Cxx/UI.Xaml.Controls.Primitives.h +0 -10
  621. package/Microsoft.ReactNative.Cxx/UI.Xaml.Controls.h +0 -13
  622. package/Microsoft.ReactNative.Cxx/UI.Xaml.Documents.h +0 -10
  623. package/Microsoft.ReactNative.Cxx/UI.Xaml.Hosting.DesktopWindowXamlSource.h +0 -11
  624. package/Microsoft.ReactNative.Cxx/UI.Xaml.Hosting.h +0 -10
  625. package/Microsoft.ReactNative.Cxx/UI.Xaml.Input.h +0 -10
  626. package/Microsoft.ReactNative.Cxx/UI.Xaml.Markup.h +0 -10
  627. package/Microsoft.ReactNative.Cxx/UI.Xaml.Media.Imaging.h +0 -10
  628. package/Microsoft.ReactNative.Cxx/UI.Xaml.Media.Media3D.h +0 -10
  629. package/Microsoft.ReactNative.Cxx/UI.Xaml.Media.h +0 -10
  630. package/Microsoft.ReactNative.Cxx/UI.Xaml.Navigation.h +0 -10
  631. package/Microsoft.ReactNative.Cxx/UI.Xaml.Shapes.h +0 -10
  632. package/Microsoft.ReactNative.Managed/AttributedViewManager.cs +0 -527
  633. package/Microsoft.ReactNative.Managed/ViewManagerAttributes.cs +0 -91
  634. package/Microsoft.ReactNative.Managed/ViewManagerEvent.cs +0 -13
  635. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/AccessibilityProps.cpp +0 -344
  636. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/DynamicEventPayload.cpp +0 -42
  637. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/YGEnums.h +0 -146
  638. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/algorithm/CalculateLayout.cpp +0 -2435
  639. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/enums/ExperimentalFeature.h +0 -40
  640. package/Shared/BatchingMessageQueueThread.h +0 -20
  641. package/Shared/ChakraRuntimeHolder.cpp +0 -62
  642. package/Shared/ChakraRuntimeHolder.h +0 -46
  643. package/Shared/CreateInstance.h +0 -25
  644. package/Shared/Executors/WebSocketJSExecutor.cpp +0 -294
  645. package/Shared/Executors/WebSocketJSExecutor.h +0 -123
  646. package/Shared/Executors/WebSocketJSExecutorFactory.cpp +0 -25
  647. package/Shared/Hermes/HermesSamplingProfiler.cpp +0 -114
  648. package/Shared/Hermes/HermesSamplingProfiler.h +0 -26
  649. package/Shared/JSI/ChakraApi.cpp +0 -436
  650. package/Shared/JSI/ChakraApi.h +0 -474
  651. package/Shared/JSI/ChakraJsiRuntime_edgemode.cpp +0 -100
  652. package/Shared/JSI/ChakraRuntime.cpp +0 -1132
  653. package/Shared/JSI/ChakraRuntime.h +0 -512
  654. package/Shared/JSI/ChakraRuntimeArgs.h +0 -45
  655. package/Shared/JSI/ChakraRuntimeFactory.h +0 -15
  656. package/Shared/JSI/JSExecutorFactoryDelegate.h +0 -12
  657. package/Shared/JSI/JSExecutorFactorySettings.cpp +0 -30
  658. package/Shared/JSI/JSExecutorFactorySettings.h +0 -21
  659. package/Shared/NativeModuleProvider.h +0 -40
  660. package/Shared/SystemChakraRuntime.h +0 -38
  661. package/Shared/Threading/BatchingQueueThread.cpp +0 -128
  662. package/Shared/Threading/BatchingQueueThread.h +0 -59
  663. package/Shared/WebSocketJSExecutorFactory.h +0 -27
  664. package/fmt/TEMP_UntilFmtUpdate/core.h +0 -2925
  665. package/template/cpp-app/proj/MyApp.sln +0 -166
  666. package/template/cpp-app/proj/MyApp.vcxproj +0 -176
  667. package/template/cpp-app/proj/MyApp.vcxproj.filters +0 -62
  668. package/template/cpp-app/src/App.cpp +0 -93
  669. package/template/cpp-app/src/App.h +0 -21
  670. package/template/cpp-app/src/App.idl +0 -3
  671. package/template/cpp-app/src/AutolinkedNativeModules.g.cpp +0 -13
  672. package/template/cpp-app/src/AutolinkedNativeModules.g.h +0 -10
  673. package/template/cpp-app/src/MainPage.cpp +0 -20
  674. package/template/cpp-app/src/MainPage.h +0 -19
  675. package/template/cpp-app/src/MainPage.idl +0 -10
  676. package/template/cpp-app/src/PropertySheet.props +0 -16
  677. package/template/cpp-app/src/ReactPackageProvider.cpp +0 -15
  678. package/template/cpp-app/src/ReactPackageProvider.h +0 -13
  679. package/template/cpp-app/src/pch.cpp +0 -1
  680. package/template/cpp-app/src/pch.h +0 -24
  681. package/template/cs-app/proj/MyApp.csproj +0 -162
  682. package/template/cs-app/proj/MyApp.sln +0 -191
  683. package/template/cs-app/src/App.xaml.cs +0 -62
  684. package/template/cs-app/src/AutolinkedNativeModules.g.cs +0 -13
  685. package/template/cs-app/src/MainPage.xaml.cs +0 -34
  686. package/template/cs-app/src/Properties/AssemblyInfo.cs +0 -29
  687. package/template/cs-app/src/Properties/Default.rd.xml +0 -32
  688. package/template/cs-app/src/ReactPackageProvider.cs +0 -17
  689. package/template/shared-app/assets/LockScreenLogo.scale-200.png +0 -0
  690. package/template/shared-app/assets/SplashScreen.scale-200.png +0 -0
  691. package/template/shared-app/assets/Square150x150Logo.scale-200.png +0 -0
  692. package/template/shared-app/assets/Square44x44Logo.scale-200.png +0 -0
  693. package/template/shared-app/assets/Square44x44Logo.targetsize-24_altform-unplated.png +0 -0
  694. package/template/shared-app/assets/StoreLogo.png +0 -0
  695. package/template/shared-app/assets/Wide310x150Logo.scale-200.png +0 -0
  696. package/template/shared-app/proj/ExperimentalFeatures.props +0 -32
  697. package/template/shared-app/proj/NuGet_Config +0 -19
  698. package/template/shared-app/src/App.xaml +0 -10
  699. package/template/shared-app/src/AutolinkedNativeModules.g.props +0 -6
  700. package/template/shared-app/src/AutolinkedNativeModules.g.targets +0 -6
  701. package/template/shared-app/src/MainPage.xaml +0 -21
  702. package/template/shared-app/src/Package.appxmanifest +0 -50
  703. package/templates/old/uwp-cpp-app/template.config.js +0 -15
  704. package/templates/old/uwp-cs-app/template.config.js +0 -15
@@ -1,40 +0,0 @@
1
- /*
2
- * Copyright (c) Meta Platforms, Inc. and affiliates.
3
- *
4
- * This source code is licensed under the MIT license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- */
7
-
8
- // @generated by enums.py
9
- // clang-format off
10
- #pragma once
11
-
12
- #include <cstdint>
13
- #include <yoga/YGEnums.h>
14
- #include <yoga/enums/YogaEnums.h>
15
-
16
- namespace facebook::yoga {
17
-
18
- enum class ExperimentalFeature : uint8_t {
19
- WebFlexBasis = YGExperimentalFeatureWebFlexBasis,
20
- CallMeasureCallbackOnAllNodes = YGExperimentalFeatureCallMeasureCallbackOnAllNodes, // Used just for NetUI - Keep at end of list
21
- };
22
-
23
- template <>
24
- constexpr int32_t ordinalCount<ExperimentalFeature>() {
25
- return 2; // This should be +1 from core due to CallMeasureCallbackOnAllNodes
26
- }
27
-
28
- constexpr ExperimentalFeature scopedEnum(YGExperimentalFeature unscoped) {
29
- return static_cast<ExperimentalFeature>(unscoped);
30
- }
31
-
32
- constexpr YGExperimentalFeature unscopedEnum(ExperimentalFeature scoped) {
33
- return static_cast<YGExperimentalFeature>(scoped);
34
- }
35
-
36
- inline const char* toString(ExperimentalFeature e) {
37
- return YGExperimentalFeatureToString(unscopedEnum(e));
38
- }
39
-
40
- } // namespace facebook::yoga
@@ -1,20 +0,0 @@
1
- // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT License.
3
-
4
- #pragma once
5
-
6
- #include <cxxreact/MessageQueueThread.h>
7
-
8
- namespace facebook {
9
- namespace react {
10
-
11
- class Instance;
12
-
13
- class BatchingMessageQueueThread : public MessageQueueThread {
14
- public:
15
- virtual void onBatchComplete() = 0;
16
- virtual void decoratedNativeCallInvokerReady(std::weak_ptr<facebook::react::Instance> wkInstance) noexcept = 0;
17
- };
18
-
19
- } // namespace react
20
- } // namespace facebook
@@ -1,62 +0,0 @@
1
- // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT License.
3
-
4
- #include "pch.h"
5
-
6
- #include "ChakraRuntimeHolder.h"
7
-
8
- #include <JSI/ChakraRuntimeFactory.h>
9
-
10
- namespace Microsoft::JSI {
11
-
12
- facebook::react::JSIEngineOverride ChakraRuntimeHolder::getRuntimeType() noexcept {
13
- return facebook::react::JSIEngineOverride::Chakra;
14
- }
15
-
16
- std::shared_ptr<facebook::jsi::Runtime> ChakraRuntimeHolder::getRuntime() noexcept {
17
- std::call_once(once_flag_, [this]() { initRuntime(); });
18
-
19
- if (!runtime_)
20
- std::terminate();
21
-
22
- // ChakraRuntime is not thread safe as of now.
23
- if (own_thread_id_ != std::this_thread::get_id())
24
- std::terminate();
25
-
26
- return runtime_;
27
- }
28
-
29
- void ChakraRuntimeHolder::initRuntime() noexcept {
30
- runtime_ = Microsoft::JSI::makeChakraRuntime(std::move(args_));
31
- own_thread_id_ = std::this_thread::get_id();
32
- }
33
-
34
- Logger ChakraRuntimeHolder::ChakraRuntimeLoggerFromReactLogger(
35
- facebook::react::NativeLoggingHook loggingCallback) noexcept {
36
- return [loggingCallback = std::move(loggingCallback)](const char *message, LogLevel logLevel) -> void {
37
- loggingCallback(static_cast<facebook::react::RCTLogLevel>(logLevel), message);
38
- };
39
- }
40
-
41
- ChakraRuntimeArgs ChakraRuntimeHolder::RuntimeArgsFromDevSettings(
42
- std::shared_ptr<facebook::react::DevSettings> devSettings) noexcept {
43
- ChakraRuntimeArgs runtimeArgs;
44
-
45
- runtimeArgs.debuggerBreakOnNextLine = devSettings->debuggerBreakOnNextLine;
46
- runtimeArgs.debuggerPort = devSettings->debuggerPort;
47
- runtimeArgs.debuggerRuntimeName = devSettings->debuggerRuntimeName;
48
-
49
- runtimeArgs.enableDebugging = devSettings->useDirectDebugger;
50
-
51
- if (devSettings->loggingCallback) {
52
- runtimeArgs.loggingCallback = ChakraRuntimeLoggerFromReactLogger(devSettings->loggingCallback);
53
- }
54
-
55
- runtimeArgs.enableNativePerformanceNow = devSettings->enableNativePerformanceNow;
56
-
57
- runtimeArgs.enableJITCompilation = devSettings->useJITCompilation;
58
-
59
- return runtimeArgs;
60
- }
61
-
62
- } // namespace Microsoft::JSI
@@ -1,46 +0,0 @@
1
- // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT License.
3
-
4
- #pragma once
5
-
6
- #include <DevSettings.h>
7
-
8
- #include <JSI/ChakraRuntimeArgs.h>
9
- #include <JSI/RuntimeHolder.h>
10
-
11
- #include <Logging.h>
12
-
13
- namespace Microsoft::JSI {
14
-
15
- class ChakraRuntimeHolder final : public Microsoft::JSI::RuntimeHolderLazyInit {
16
- public:
17
- std::shared_ptr<facebook::jsi::Runtime> getRuntime() noexcept override;
18
- facebook::react::JSIEngineOverride getRuntimeType() noexcept override;
19
-
20
- ChakraRuntimeHolder(
21
- std::shared_ptr<facebook::react::DevSettings> devSettings,
22
- std::shared_ptr<facebook::react::MessageQueueThread> jsQueue,
23
- std::unique_ptr<facebook::jsi::ScriptStore> &&scriptStore,
24
- std::unique_ptr<facebook::jsi::PreparedScriptStore> &&preparedScriptStore) noexcept
25
- : args_(RuntimeArgsFromDevSettings(devSettings)) {
26
- args_.jsQueue = std::move(jsQueue);
27
- args_.scriptStore = std::move(scriptStore);
28
- args_.preparedScriptStore = std::move(preparedScriptStore);
29
- }
30
-
31
- private:
32
- Microsoft::JSI::ChakraRuntimeArgs RuntimeArgsFromDevSettings(
33
- std::shared_ptr<facebook::react::DevSettings> devSettings) noexcept;
34
- Microsoft::JSI::Logger ChakraRuntimeLoggerFromReactLogger(
35
- facebook::react::NativeLoggingHook loggingCallback) noexcept;
36
-
37
- void initRuntime() noexcept;
38
-
39
- Microsoft::JSI::ChakraRuntimeArgs args_;
40
- std::shared_ptr<facebook::jsi::Runtime> runtime_;
41
-
42
- std::once_flag once_flag_;
43
- std::thread::id own_thread_id_;
44
- };
45
-
46
- } // namespace Microsoft::JSI
@@ -1,25 +0,0 @@
1
- // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT License.
3
-
4
- #pragma once
5
-
6
- #include <InstanceManager.h>
7
- #include <winrt/Microsoft.ReactNative.h>
8
-
9
- namespace facebook::react {
10
-
11
- std::shared_ptr<InstanceWrapper> CreateReactInstance(
12
- std::shared_ptr<Instance> &&instance,
13
- std::string &&jsBundleRelativePath,
14
- std::vector<
15
- std::tuple<std::string, facebook::xplat::module::CxxModule::Provider, std::shared_ptr<MessageQueueThread>>>
16
- &&cxxModules,
17
- std::shared_ptr<TurboModuleRegistry> turboModuleRegistry,
18
- std::shared_ptr<facebook::react::LongLivedObjectCollection> longLivedObjectCollection,
19
- const winrt::Microsoft::ReactNative::IReactPropertyBag &propertyBag,
20
- std::unique_ptr<InstanceCallback> &&callback,
21
- std::shared_ptr<MessageQueueThread> jsQueue,
22
- std::shared_ptr<MessageQueueThread> nativeQueue,
23
- std::shared_ptr<DevSettings> devSettings) noexcept;
24
-
25
- } // namespace facebook::react
@@ -1,294 +0,0 @@
1
- // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT License.
3
-
4
- #include "pch.h"
5
-
6
- #include <Utils/CppWinrtLessExceptions.h>
7
- #include <cxxreact/JSBigString.h>
8
- #include <cxxreact/RAMBundleRegistry.h>
9
- #include "WebSocketJSExecutor.h"
10
-
11
- #include <folly/dynamic.h>
12
- #include <folly/json.h>
13
-
14
- #include "Unicode.h"
15
- #include "Utilities.h"
16
-
17
- #include <winrt/Windows.Foundation.h>
18
- #include <winrt/Windows.Storage.Streams.h>
19
-
20
- // Hx/OFFICEDEV: Ignore warnings
21
- #pragma warning(push)
22
- #pragma warning(disable : 4100 4101 4290 4456)
23
-
24
- #if _MSC_VER <= 1913
25
- // VC 19 (2015-2017.6) cannot optimize co_await/cppwinrt usage
26
- #pragma optimize("", off)
27
- #endif
28
-
29
- namespace Microsoft::ReactNative {
30
-
31
- WebSocketJSExecutor::WebSocketJSExecutor(
32
- std::shared_ptr<facebook::react::ExecutorDelegate> delegate,
33
- std::shared_ptr<facebook::react::MessageQueueThread> messageQueueThread)
34
- : m_delegate(delegate),
35
- m_messageQueueThread(messageQueueThread),
36
- m_socket(),
37
- m_socketDataWriter(m_socket.OutputStream()) {
38
- m_msgReceived = m_socket.MessageReceived(winrt::auto_revoke, [this](auto &&, auto &&args) {
39
- try {
40
- if (auto reader = args.GetDataReader()) {
41
- if (args.MessageType() == winrt::Windows::Networking::Sockets::SocketMessageType::Utf8) {
42
- reader.UnicodeEncoding(winrt::Windows::Storage::Streams::UnicodeEncoding::Utf8);
43
- uint32_t len = reader.UnconsumedBufferLength();
44
- std::vector<uint8_t> data(len);
45
- reader.ReadBytes(data);
46
-
47
- std::string str(Microsoft::Common::Utilities::CheckedReinterpretCast<char *>(data.data()), data.size());
48
- OnMessageReceived(str);
49
- } else {
50
- OnHitError("Unexpected MessageType from MessageWebSocket.");
51
- }
52
- } else {
53
- OnHitError("Lost connection to remote JS debugger.");
54
- }
55
- } catch (winrt::hresult_error const &e) {
56
- auto hr = e.code();
57
- if (hr == WININET_E_CONNECTION_ABORTED || hr == WININET_E_CONNECTION_RESET) {
58
- OnHitError("Lost connection to remote JS debugger.");
59
- } else {
60
- OnHitError(Microsoft::Common::Unicode::Utf16ToUtf8(e.message().c_str(), e.message().size()));
61
- }
62
- } catch (std::exception &e) {
63
- OnHitError(e.what());
64
- }
65
- });
66
-
67
- auto weakThis = weak_from_this();
68
- m_closed = m_socket.Closed(winrt::auto_revoke, [weakThis](auto &&, auto &&args) {
69
- if (auto _this = weakThis.lock()) {
70
- _this->SetState(State::Disconnected);
71
- }
72
- });
73
- }
74
-
75
- WebSocketJSExecutor::~WebSocketJSExecutor() {
76
- m_closed.revoke();
77
- m_msgReceived.revoke();
78
- }
79
-
80
- void WebSocketJSExecutor::initializeRuntime() {
81
- // No init needed before loading a bundle
82
- }
83
-
84
- void WebSocketJSExecutor::loadBundle(
85
- std::unique_ptr<const facebook::react::JSBigString> script,
86
- std::string sourceURL) {
87
- int requestId = ++m_requestId;
88
-
89
- if (!IsRunning()) {
90
- OnHitError("Executor instance not connected to a WebSocket endpoint.");
91
- return;
92
- }
93
-
94
- try {
95
- folly::dynamic request = folly::dynamic::object("id", requestId)("method", "executeApplicationScript")(
96
- "url", script->c_str())("inject", m_injectedObjects);
97
- std::string str = folly::toJson(request);
98
- std::string strReturn = SendMessageAsync(requestId, str).get();
99
- } catch (const std::exception &e) {
100
- OnHitError(e.what());
101
- }
102
- }
103
-
104
- void WebSocketJSExecutor::setBundleRegistry(std::unique_ptr<facebook::react::RAMBundleRegistry> bundleRegistry) {}
105
-
106
- void WebSocketJSExecutor::registerBundle(uint32_t bundleId, const std::string &bundlePath) {
107
- // NYI
108
- std::terminate();
109
- }
110
-
111
- void WebSocketJSExecutor::callFunction(
112
- const std::string &moduleId,
113
- const std::string &methodId,
114
- const folly::dynamic &arguments) {
115
- folly::dynamic jarray = folly::dynamic::array(moduleId, methodId, arguments);
116
- auto calls = Call("callFunctionReturnFlushedQueue", jarray);
117
- if (m_delegate && !IsInError())
118
- m_delegate->callNativeModules(*this, folly::parseJson(std::move(calls)), true);
119
- }
120
-
121
- void WebSocketJSExecutor::invokeCallback(const double callbackId, const folly::dynamic &arguments) {
122
- folly::dynamic jarray = folly::dynamic::array(callbackId, arguments);
123
- auto calls = Call("invokeCallbackAndReturnFlushedQueue", jarray);
124
- if (m_delegate && !IsInError())
125
- m_delegate->callNativeModules(*this, folly::parseJson(std::move(calls)), true);
126
- }
127
-
128
- void WebSocketJSExecutor::setGlobalVariable(
129
- std::string propName,
130
- std::unique_ptr<const facebook::react::JSBigString> jsonValue) {
131
- m_injectedObjects[propName] = std::string(jsonValue->c_str());
132
- }
133
-
134
- void *WebSocketJSExecutor::getJavaScriptContext() {
135
- return nullptr;
136
- }
137
-
138
- std::string WebSocketJSExecutor::getDescription() {
139
- return "WebSocketJSExecutor";
140
- }
141
-
142
- #ifdef WITH_JSC_MEMORY_PRESSURE
143
- void WebSocketJSExecutor::handleMemoryPressure(int pressureLevel) {}
144
- #endif
145
-
146
- void WebSocketJSExecutor::destroy() {
147
- if (State::Connected == m_state || State::Running == m_state)
148
- m_socket.Close();
149
-
150
- SetState(State::Disposed);
151
- }
152
-
153
- std::string WebSocketJSExecutor::Call(const std::string &methodName, folly::dynamic &arguments) {
154
- int requestId = ++m_requestId;
155
-
156
- if (!IsRunning()) {
157
- OnHitError("Executor instance not connected to a WebSocket endpoint.");
158
- return std::string();
159
- }
160
-
161
- try {
162
- folly::dynamic request =
163
- folly::dynamic::object("id", requestId)("method", methodName)("arguments", std::move(arguments));
164
- std::string str = folly::toJson(request);
165
- std::string strReturn = SendMessageAsync(requestId, str).get();
166
- return strReturn;
167
- } catch (const std::exception &e) {
168
- OnHitError(e.what());
169
- return std::string();
170
- }
171
- }
172
-
173
- void WebSocketJSExecutor::OnHitError(std::string message) {
174
- if (m_errorCallback != nullptr)
175
- m_errorCallback(message);
176
- SetState(State::Error);
177
- }
178
-
179
- void WebSocketJSExecutor::OnWaitingForDebugger() {
180
- SetState(State::Waiting);
181
- PollPrepareJavaScriptRuntime();
182
- if (m_waitingForDebuggerCallback != nullptr)
183
- m_waitingForDebuggerCallback();
184
- }
185
-
186
- void WebSocketJSExecutor::OnDebuggerAttach() {
187
- SetState(State::Running);
188
- if (m_debuggerAttachCallback != nullptr)
189
- m_debuggerAttachCallback();
190
- }
191
-
192
- winrt::Windows::Foundation::IAsyncAction WebSocketJSExecutor::ConnectAsync(
193
- const std::string &webSocketServerUrl,
194
- const std::function<void(std::string)> &errorCallback,
195
- const std::function<void()> &waitingForDebuggerCallback,
196
- const std::function<void()> &debuggerAttachCallback) {
197
- m_errorCallback = errorCallback;
198
- m_debuggerAttachCallback = debuggerAttachCallback;
199
- m_waitingForDebuggerCallback = waitingForDebuggerCallback;
200
-
201
- winrt::Windows::Foundation::Uri uri(Microsoft::Common::Unicode::Utf8ToUtf16(webSocketServerUrl));
202
-
203
- auto async = m_socket.ConnectAsync(uri);
204
- co_await lessthrow_await_adapter<winrt::Windows::Foundation::IAsyncAction>{async};
205
- auto result = async.ErrorCode();
206
-
207
- if (result >= 0) {
208
- SetState(State::Connected);
209
-
210
- if (PrepareJavaScriptRuntime(250)) {
211
- SetState(State::Running);
212
- } else {
213
- m_state = State::Waiting;
214
- OnWaitingForDebugger();
215
- }
216
- } else {
217
- OnHitError(winrt::to_string(winrt::hresult_error(result, winrt::hresult_error::from_abi).message()));
218
- }
219
- }
220
-
221
- bool WebSocketJSExecutor::PrepareJavaScriptRuntime(int milliseconds) {
222
- auto timeout = std::chrono::milliseconds(milliseconds);
223
-
224
- int requestId = ++m_requestId;
225
-
226
- folly::dynamic request = folly::dynamic::object("id", requestId)("method", "prepareJSRuntime");
227
- std::string str = folly::toJson(request);
228
-
229
- return SendMessageAsync(requestId, std::move(str)).wait_for(timeout) == std::future_status::ready;
230
- }
231
-
232
- void WebSocketJSExecutor::PollPrepareJavaScriptRuntime() {
233
- m_messageQueueThread->runOnQueue([this]() {
234
- for (uint32_t retries = 50; retries > 0; --retries) {
235
- if (PrepareJavaScriptRuntime(750)) {
236
- OnDebuggerAttach();
237
- return;
238
- }
239
- }
240
-
241
- OnHitError("Prepare JS runtime timed out, Executor instance is not connected to a WebSocket endpoint.");
242
- });
243
- }
244
-
245
- std::future<std::string> WebSocketJSExecutor::SendMessageAsync(int requestId, const std::string &message) {
246
- std::lock_guard<std::mutex> lock(m_lockPromises);
247
- auto it = m_promises.emplace(requestId, std::promise<std::string>()).first;
248
- auto future = it->second.get_future();
249
-
250
- if (!IsDisposed()) {
251
- m_socket.Control().MessageType(winrt::Windows::Networking::Sockets::SocketMessageType::Utf8);
252
-
253
- winrt::array_view<const uint8_t> arr(
254
- Microsoft::Common::Utilities::CheckedReinterpretCast<const uint8_t *>(message.c_str()),
255
- Microsoft::Common::Utilities::CheckedReinterpretCast<const uint8_t *>(message.c_str()) + message.length());
256
- m_socketDataWriter.WriteBytes(arr);
257
- m_socketDataWriter.StoreAsync();
258
- } else {
259
- // Disposed, immediately return empty
260
- auto promise(std::move(it->second));
261
- m_promises.erase(it);
262
-
263
- promise.set_value("");
264
- }
265
-
266
- return future;
267
- }
268
-
269
- void WebSocketJSExecutor::OnMessageReceived(const std::string &msg) {
270
- folly::dynamic parsed = folly::parseJson(msg);
271
- auto it_parsed = parsed.find("replyID");
272
- if (it_parsed != parsed.items().end()) {
273
- int replyId = static_cast<int>(it_parsed->second.asInt());
274
-
275
- std::lock_guard<std::mutex> lock(m_lockPromises);
276
- auto it_promise = m_promises.find(replyId);
277
- if (it_promise != m_promises.end()) {
278
- auto promise(std::move(it_promise->second));
279
- m_promises.erase(it_promise);
280
-
281
- it_parsed = parsed.find("result");
282
- if (it_parsed != parsed.items().end() && it_parsed->second.isString()) {
283
- std::string result = it_parsed->second.asString();
284
- promise.set_value(result);
285
- } else {
286
- promise.set_value("");
287
- }
288
- }
289
- }
290
- }
291
-
292
- } // namespace Microsoft::ReactNative
293
-
294
- #pragma warning(pop)
@@ -1,123 +0,0 @@
1
- // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT License.
3
-
4
- #pragma once
5
-
6
- #include <DevServerHelper.h>
7
- #include <cxxreact/JSExecutor.h>
8
- #include <cxxreact/JSModulesUnbundle.h>
9
- #include <cxxreact/MessageQueueThread.h>
10
-
11
- #include <WebSocketJSExecutorFactory.h>
12
-
13
- #include <memory>
14
- #include <unordered_map>
15
-
16
- #include <winrt/Windows.Networking.Sockets.h>
17
- #include <future>
18
-
19
- namespace facebook {
20
- namespace react {
21
- class RAMBundleRegistry;
22
- }
23
- } // namespace facebook
24
-
25
- namespace Microsoft::ReactNative {
26
-
27
- class MessageQueueThread;
28
-
29
- class WebSocketJSExecutor : public facebook::react::JSExecutor,
30
- public std::enable_shared_from_this<WebSocketJSExecutor> {
31
- public:
32
- WebSocketJSExecutor(
33
- std::shared_ptr<facebook::react::ExecutorDelegate> delegate,
34
- std::shared_ptr<facebook::react::MessageQueueThread> messageQueueThread);
35
- ~WebSocketJSExecutor() override;
36
-
37
- virtual void initializeRuntime() override;
38
- virtual void loadBundle(std::unique_ptr<const facebook::react::JSBigString> script, std::string sourceURL) override;
39
- virtual void setBundleRegistry(std::unique_ptr<facebook::react::RAMBundleRegistry> bundleRegistry) override;
40
- virtual void registerBundle(uint32_t bundleId, const std::string &bundlePath) override;
41
- virtual void callFunction(const std::string &moduleId, const std::string &methodId, const folly::dynamic &arguments)
42
- override;
43
- virtual void invokeCallback(const double callbackId, const folly::dynamic &arguments) override;
44
- virtual void setGlobalVariable(std::string propName, std::unique_ptr<const facebook::react::JSBigString> jsonValue)
45
- override;
46
- virtual void *getJavaScriptContext() override;
47
- virtual std::string getDescription() override;
48
- #ifdef WITH_JSC_MEMORY_PRESSURE
49
- virtual void handleMemoryPressure(int pressureLevel) override;
50
- #endif
51
- virtual void destroy() override;
52
-
53
- winrt::Windows::Foundation::IAsyncAction ConnectAsync(
54
- const std::string &webSocketServerUrl,
55
- const std::function<void(std::string)> &errorCallback,
56
- const std::function<void()> &debuggerAttach,
57
- const std::function<void()> &waitingForDebuggerCallback);
58
-
59
- private:
60
- enum class State {
61
- Disconnected,
62
- Connected, // Websocket is connected, still need to prepare the runtime.
63
- Waiting, // Waiting for debugger to connect
64
- Running, // Runtime is running.
65
- Disposed, // Executor has been shutdown.
66
- Error
67
- };
68
-
69
- private:
70
- bool PrepareJavaScriptRuntime(int milliseconds);
71
- void PollPrepareJavaScriptRuntime();
72
- std::string Call(const std::string &methodName, folly::dynamic &arguments);
73
- std::future<std::string> SendMessageAsync(int requestId, const std::string &message);
74
- void OnMessageReceived(const std::string &msg);
75
-
76
- void SetState(State state) noexcept {
77
- m_state = state;
78
- }
79
- bool IsConnected() const noexcept {
80
- return m_state == State::Connected;
81
- }
82
- bool IsRunning() const noexcept {
83
- return m_state == State::Running;
84
- }
85
- bool IsWaiting() const noexcept {
86
- return m_state == State::Waiting;
87
- }
88
- bool IsInError() const noexcept {
89
- return m_state == State::Error;
90
- }
91
- bool IsDisposed() const noexcept {
92
- return m_state == State::Disposed;
93
- }
94
- void OnHitError(std::string message);
95
- void OnWaitingForDebugger();
96
- void OnDebuggerAttach();
97
-
98
- const int ConnectTimeoutMilliseconds = 5000;
99
- const int ConnectRetryCount = 3;
100
-
101
- std::shared_ptr<facebook::react::ExecutorDelegate> m_delegate;
102
- std::shared_ptr<facebook::react::MessageQueueThread> m_messageQueueThread;
103
-
104
- // WebSocket
105
- winrt::Windows::Networking::Sockets::MessageWebSocket m_socket;
106
- winrt::Windows::Storage::Streams::DataWriter m_socketDataWriter;
107
- winrt::Windows::Networking::Sockets::MessageWebSocket::MessageReceived_revoker m_msgReceived;
108
- winrt::Windows::Networking::Sockets::MessageWebSocket::Closed_revoker m_closed;
109
-
110
- folly::dynamic m_injectedObjects = folly::dynamic::object;
111
-
112
- std::mutex m_lockPromises;
113
- std::unordered_map<int, std::promise<std::string>> m_promises;
114
-
115
- State m_state = State::Disconnected;
116
- std::function<void(std::string)> m_errorCallback;
117
- std::function<void()> m_debuggerAttachCallback;
118
- std::function<void()> m_waitingForDebuggerCallback;
119
-
120
- std::atomic<LONG> m_requestId{0};
121
- };
122
-
123
- } // namespace Microsoft::ReactNative
@@ -1,25 +0,0 @@
1
- // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT License.
3
-
4
- #include "pch.h"
5
-
6
- #include "WebSocketJSExecutor.h"
7
-
8
- namespace facebook {
9
- namespace react {
10
-
11
- WebSocketJSExecutorFactory::WebSocketJSExecutorFactory(facebook::react::JSECreator &&jseCreator)
12
- : m_jseCreator(std::move(jseCreator)) {}
13
-
14
- std::unique_ptr<facebook::react::JSExecutor> WebSocketJSExecutorFactory::createJSExecutor(
15
- std::shared_ptr<facebook::react::ExecutorDelegate> delegate,
16
- std::shared_ptr<facebook::react::MessageQueueThread> jsQueue) {
17
- if (m_jseCreator)
18
- return m_jseCreator(delegate, jsQueue);
19
- else
20
- return std::unique_ptr<facebook::react::JSExecutor>(
21
- new ::Microsoft::ReactNative::WebSocketJSExecutor(delegate, jsQueue));
22
- }
23
-
24
- } // namespace react
25
- } // namespace facebook