react-native-windows 0.68.1 → 0.69.0-preview.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (392) hide show
  1. package/.flowconfig +1 -3
  2. package/Chakra/ChakraHelpers.cpp +0 -1
  3. package/Directory.Build.props +3 -0
  4. package/Directory.Build.targets +1 -1
  5. package/Folly/TEMP_UntilFollyUpdate/dynamic-inl.h +1411 -0
  6. package/Folly/TEMP_UntilFollyUpdate/lang/ToAscii.cpp +336 -0
  7. package/Folly/TEMP_UntilFollyUpdate/lang/ToAscii.h +182 -0
  8. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +7 -0
  9. package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +1 -0
  10. package/Libraries/Alert/Alert.windows.js +2 -2
  11. package/Libraries/Animated/AnimatedImplementation.js +1 -1
  12. package/Libraries/Animated/NativeAnimatedHelper.js +55 -9
  13. package/Libraries/Animated/NativeAnimatedModule.js +1 -0
  14. package/Libraries/Animated/NativeAnimatedTurboModule.js +1 -0
  15. package/Libraries/Animated/animations/TimingAnimation.js +6 -11
  16. package/Libraries/Animated/createAnimatedComponent.js +2 -2
  17. package/Libraries/Animated/nodes/AnimatedColor.js +95 -29
  18. package/Libraries/Animated/nodes/AnimatedInterpolation.js +19 -22
  19. package/Libraries/Animated/nodes/AnimatedNode.js +2 -2
  20. package/Libraries/Animated/nodes/AnimatedValue.js +1 -1
  21. package/Libraries/AppState/AppState.js +1 -1
  22. package/Libraries/Blob/URL.js +7 -1
  23. package/Libraries/Components/Button.js +3 -0
  24. package/Libraries/Components/Button.windows.js +4 -0
  25. package/Libraries/Components/DatePickerAndroid/NativeDatePickerAndroid.js +5 -0
  26. package/Libraries/Components/Pressable/Pressable.js +3 -3
  27. package/Libraries/Components/Pressable/Pressable.windows.js +3 -3
  28. package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +47 -38
  29. package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +15 -7
  30. package/Libraries/Components/ScrollView/ScrollView.js +1 -1
  31. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +16 -3
  32. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +3 -1
  33. package/Libraries/Components/Slider/Slider.js +0 -2
  34. package/Libraries/Components/Slider/SliderNativeComponent.js +0 -1
  35. package/Libraries/Components/StatusBar/StatusBar.js +6 -1
  36. package/Libraries/Components/Switch/Switch.js +11 -1
  37. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +114 -109
  38. package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +17 -9
  39. package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +13 -5
  40. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +10 -0
  41. package/Libraries/Components/TextInput/TextInput.js +1 -8
  42. package/Libraries/Components/TextInput/TextInput.windows.js +4 -9
  43. package/Libraries/Components/TextInput/TextInputState.js +10 -2
  44. package/Libraries/Components/TextInput/TextInputState.windows.js +10 -3
  45. package/Libraries/Components/TextInput/WindowsTextInputNativeComponent.js +1 -1
  46. package/Libraries/Components/Touchable/TouchableBounce.js +1 -0
  47. package/Libraries/Components/Touchable/TouchableHighlight.js +1 -0
  48. package/Libraries/Components/Touchable/TouchableHighlight.windows.js +6 -5
  49. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +1 -0
  50. package/Libraries/Components/Touchable/TouchableOpacity.js +7 -1
  51. package/Libraries/Components/Touchable/TouchableOpacity.windows.js +11 -5
  52. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +2 -0
  53. package/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js +2 -0
  54. package/Libraries/Components/View/ReactNativeViewAttributes.js +1 -0
  55. package/Libraries/Components/View/ReactNativeViewAttributes.windows.js +1 -0
  56. package/Libraries/Components/View/View.windows.js +33 -1
  57. package/Libraries/Components/View/ViewNativeComponent.js +68 -8
  58. package/Libraries/Components/View/ViewPropTypes.js +36 -4
  59. package/Libraries/Components/View/ViewPropTypes.windows.js +36 -4
  60. package/Libraries/Core/Devtools/parseHermesStack.js +1 -1
  61. package/Libraries/Core/ExceptionsManager.js +1 -1
  62. package/Libraries/Core/RawEventEmitter.js +38 -0
  63. package/Libraries/Core/ReactNativeVersion.js +2 -2
  64. package/Libraries/Core/polyfillPromise.js +32 -0
  65. package/Libraries/Core/setUpReactDevTools.js +3 -2
  66. package/Libraries/EventEmitter/NativeEventEmitter.js +3 -3
  67. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +2 -1
  68. package/Libraries/EventEmitter/__mocks__/NativeEventEmitter.js +3 -3
  69. package/Libraries/Events/CustomEvent.js +32 -0
  70. package/Libraries/Events/EventPolyfill.js +239 -0
  71. package/Libraries/Image/Image.android.js +0 -6
  72. package/Libraries/Image/Image.ios.js +0 -6
  73. package/Libraries/Image/Image.windows.js +2 -8
  74. package/Libraries/Image/ImageViewNativeComponent.js +18 -3
  75. package/Libraries/Image/TextInlineImageNativeComponent.js +23 -15
  76. package/Libraries/Inspector/Inspector.js +2 -4
  77. package/Libraries/Interaction/BridgeSpyStallHandler.js +4 -3
  78. package/Libraries/Interaction/InteractionManager.js +1 -12
  79. package/Libraries/Interaction/TaskQueue.js +5 -4
  80. package/Libraries/LayoutAnimation/LayoutAnimation.js +13 -0
  81. package/Libraries/Linking/Linking.js +1 -1
  82. package/Libraries/Lists/FlatList.js +27 -6
  83. package/Libraries/Lists/VirtualizedList.js +71 -55
  84. package/Libraries/Lists/VirtualizedListContext.js +7 -3
  85. package/Libraries/Lists/VirtualizedSectionList.js +2 -2
  86. package/Libraries/Lists/__tests__/{FillRateHelper-test.windows.js → FillRateHelper-test.js} +2 -2
  87. package/Libraries/Lists/__tests__/{FlatList-test.windows.js → FlatList-test.js} +2 -2
  88. package/Libraries/Lists/__tests__/{SectionList-test.windows.js → SectionList-test.js} +14 -14
  89. package/Libraries/Lists/__tests__/{VirtualizeUtils-test.windows.js → VirtualizeUtils-test.js} +3 -3
  90. package/Libraries/Lists/__tests__/{VirtualizedList-test.windows.js → VirtualizedList-test.js} +91 -42
  91. package/Libraries/Lists/__tests__/{VirtualizedSectionList-test.windows.js → VirtualizedSectionList-test.js} +13 -13
  92. package/Libraries/LogBox/Data/LogBoxData.js +2 -2
  93. package/Libraries/LogBox/Data/LogBoxLog.js +1 -1
  94. package/Libraries/LogBox/Data/LogBoxSymbolication.js +1 -1
  95. package/Libraries/LogBox/Data/parseLogBoxLog.js +1 -1
  96. package/Libraries/LogBox/LogBox.js +2 -21
  97. package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +1 -0
  98. package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +2 -1
  99. package/Libraries/NativeComponent/BaseViewConfig.android.js +295 -0
  100. package/Libraries/NativeComponent/BaseViewConfig.ios.js +333 -0
  101. package/Libraries/NativeComponent/BaseViewConfig.windows.js +334 -0
  102. package/Libraries/NativeComponent/NativeComponentRegistry.js +0 -2
  103. package/Libraries/NativeComponent/PlatformBaseViewConfig.js +24 -0
  104. package/Libraries/NativeComponent/StaticViewConfigValidator.js +7 -42
  105. package/Libraries/NativeComponent/ViewConfig.js +4 -4
  106. package/Libraries/NativeComponent/ViewConfigIgnore.js +54 -0
  107. package/Libraries/Network/FormData.js +7 -1
  108. package/Libraries/Pressability/Pressability.js +115 -46
  109. package/Libraries/Pressability/Pressability.windows.js +190 -74
  110. package/Libraries/Pressability/PressabilityDebug.js +5 -9
  111. package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +1 -0
  112. package/Libraries/ReactNative/AppContainer.js +1 -1
  113. package/Libraries/ReactNative/{DummyUIManager.js → BridgelessUIManager.js} +62 -40
  114. package/Libraries/ReactNative/PaperUIManager.windows.js +5 -5
  115. package/Libraries/ReactNative/ReactNativeFeatureFlags.js +39 -0
  116. package/Libraries/ReactNative/UIManager.js +2 -3
  117. package/Libraries/ReactNative/renderApplication.js +4 -0
  118. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +8 -0
  119. package/Libraries/Renderer/implementations/ReactFabric-dev.js +5908 -4906
  120. package/Libraries/Renderer/implementations/ReactFabric-prod.js +2100 -1918
  121. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +2567 -2352
  122. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +5610 -4844
  123. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +1710 -1556
  124. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +1830 -1639
  125. package/Libraries/Renderer/shims/ReactNativeTypes.js +2 -1
  126. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +2 -1
  127. package/Libraries/StyleSheet/EdgeInsetsPropType.js +4 -1
  128. package/Libraries/StyleSheet/StyleSheetTypes.js +59 -66
  129. package/Libraries/StyleSheet/normalizeColor.js +1 -1
  130. package/Libraries/StyleSheet/private/_StyleSheetTypesOverrides.js +15 -0
  131. package/Libraries/StyleSheet/private/_TransformStyle.js +53 -0
  132. package/Libraries/StyleSheet/processTransform.windows.js +272 -0
  133. package/Libraries/Text/Text.js +13 -7
  134. package/Libraries/Text/Text.windows.js +16 -7
  135. package/Libraries/Text/TextNativeComponent.js +2 -0
  136. package/Libraries/Text/TextProps.js +10 -0
  137. package/Libraries/Types/CoreEventTypes.js +13 -1
  138. package/Libraries/Types/CoreEventTypes.windows.js +26 -1
  139. package/Libraries/Utilities/Appearance.js +0 -8
  140. package/Libraries/Utilities/HMRClient.js +1 -1
  141. package/Libraries/Utilities/ReactNativeTestTools.js +1 -0
  142. package/Libraries/Utilities/codegenNativeComponent.js +17 -6
  143. package/Libraries/Utilities/stringifySafe.js +4 -1
  144. package/Libraries/Utilities/verifyComponentAttributeEquivalence.js +3 -3
  145. package/Libraries/WebSocket/WebSocket.js +1 -1
  146. package/Libraries/vendor/emitter/_EmitterSubscription.js +1 -1
  147. package/Libraries/vendor/emitter/_EventEmitter.js +1 -1
  148. package/Libraries/vendor/emitter/_EventSubscription.js +1 -1
  149. package/Microsoft.ReactNative/Base/CoreNativeModules.cpp +1 -4
  150. package/Microsoft.ReactNative/DynamicReader.cpp +3 -3
  151. package/Microsoft.ReactNative/Fabric/ComponentView.h +1 -0
  152. package/Microsoft.ReactNative/Fabric/ComponentViewRegistry.cpp +36 -2
  153. package/Microsoft.ReactNative/Fabric/ComponentViewRegistry.h +1 -0
  154. package/Microsoft.ReactNative/Fabric/DWriteHelpers.cpp +19 -0
  155. package/Microsoft.ReactNative/Fabric/DWriteHelpers.h +13 -0
  156. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +65 -19
  157. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.h +2 -0
  158. package/Microsoft.ReactNative/Fabric/ParagraphComponentView.cpp +36 -10
  159. package/Microsoft.ReactNative/Fabric/ScrollViewComponentView.cpp +2 -0
  160. package/Microsoft.ReactNative/Fabric/SliderComponentView.cpp +107 -0
  161. package/Microsoft.ReactNative/Fabric/SliderComponentView.h +51 -0
  162. package/Microsoft.ReactNative/Fabric/SwitchComponentView.cpp +109 -0
  163. package/Microsoft.ReactNative/Fabric/SwitchComponentView.h +52 -0
  164. package/Microsoft.ReactNative/Fabric/TextInput/WindowsTextInputComponentDescriptor.h +197 -0
  165. package/Microsoft.ReactNative/Fabric/TextInput/WindowsTextInputComponentView.cpp +308 -0
  166. package/Microsoft.ReactNative/Fabric/TextInput/WindowsTextInputComponentView.h +52 -0
  167. package/Microsoft.ReactNative/Fabric/TextInput/WindowsTextInputEventEmitter.cpp +31 -0
  168. package/Microsoft.ReactNative/Fabric/TextInput/WindowsTextInputEventEmitter.h +33 -0
  169. package/Microsoft.ReactNative/Fabric/TextInput/WindowsTextInputProps.cpp +81 -0
  170. package/Microsoft.ReactNative/Fabric/TextInput/WindowsTextInputProps.h +132 -0
  171. package/Microsoft.ReactNative/Fabric/TextInput/WindowsTextInputShadowNode.cpp +193 -0
  172. package/Microsoft.ReactNative/Fabric/TextInput/WindowsTextInputShadowNode.h +85 -0
  173. package/Microsoft.ReactNative/Fabric/TextInput/WindowsTextInputState.cpp +76 -0
  174. package/Microsoft.ReactNative/Fabric/TextInput/WindowsTextInputState.h +99 -0
  175. package/Microsoft.ReactNative/Fabric/ViewComponentView.cpp +35 -3
  176. package/Microsoft.ReactNative/Fabric/ViewComponentView.h +1 -0
  177. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/rncore/EventEmitters.h +5 -0
  178. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/rncore/Props.h +5 -0
  179. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/slider/SliderMeasurementsManager.cpp +46 -0
  180. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/slider/SliderMeasurementsManager.h +30 -0
  181. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Color.cpp +2 -0
  182. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/conversions.h +1 -9
  183. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/platform/cxx/react/renderer/graphics/Color.h +3 -1
  184. package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.cpp +119 -57
  185. package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.h +18 -1
  186. package/Microsoft.ReactNative/IViewManager.idl +3 -3
  187. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj +13 -107
  188. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj.filters +2 -2
  189. package/Microsoft.ReactNative/Modules/AppStateModule.cpp +2 -0
  190. package/Microsoft.ReactNative/Modules/AppStateModule.h +2 -0
  191. package/Microsoft.ReactNative/Modules/CreateModules.cpp +3 -3
  192. package/Microsoft.ReactNative/Modules/NativeUIManager.cpp +7 -5
  193. package/Microsoft.ReactNative/Modules/TimingModule.cpp +2 -2
  194. package/Microsoft.ReactNative/Modules/TimingModule.h +2 -2
  195. package/Microsoft.ReactNative/ReactHost/{ReactContext.cpp → MsoReactContext.cpp} +1 -1
  196. package/Microsoft.ReactNative/ReactHost/{ReactContext.h → MsoReactContext.h} +0 -0
  197. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +15 -2
  198. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.h +1 -1
  199. package/Microsoft.ReactNative/ReactHost/ReactNativeHeaders.h +1 -1
  200. package/Microsoft.ReactNative/ReactInstanceSettings.idl +12 -2
  201. package/Microsoft.ReactNative/ReactPackageBuilder.cpp +1 -1
  202. package/Microsoft.ReactNative/ReactRootView.cpp +2 -1
  203. package/Microsoft.ReactNative/RedBox.cpp +3 -2
  204. package/Microsoft.ReactNative/TurboModulesProvider.cpp +3 -2
  205. package/Microsoft.ReactNative/TurboModulesProvider.h +4 -1
  206. package/Microsoft.ReactNative/Utils/LocalBundleReader.cpp +41 -0
  207. package/Microsoft.ReactNative/Utils/ValueUtils.cpp +3 -2
  208. package/Microsoft.ReactNative/Views/ControlViewManager.cpp +32 -0
  209. package/Microsoft.ReactNative/Views/ControlViewManager.h +11 -0
  210. package/Microsoft.ReactNative/Views/DevMenu.cpp +2 -2
  211. package/Microsoft.ReactNative/Views/FrameworkElementTransferProperties.cpp +13 -2
  212. package/Microsoft.ReactNative/Views/FrameworkElementViewManager.cpp +149 -22
  213. package/Microsoft.ReactNative/Views/Image/ImageViewManager.cpp +1 -1
  214. package/Microsoft.ReactNative/Views/Image/Microsoft.UI.Composition.Effects_Impl.h +5 -11
  215. package/Microsoft.ReactNative/Views/Image/ReactImage.cpp +2 -1
  216. package/Microsoft.ReactNative/Views/SliderViewManager.cpp +12 -4
  217. package/Microsoft.ReactNative/Views/TextInputViewManager.cpp +1 -1
  218. package/Microsoft.ReactNative/Views/TextViewManager.cpp +2 -2
  219. package/Microsoft.ReactNative/Views/TouchEventHandler.cpp +163 -37
  220. package/Microsoft.ReactNative/Views/TouchEventHandler.h +11 -4
  221. package/Microsoft.ReactNative/Views/ViewPanel.cpp +3 -23
  222. package/Microsoft.ReactNative/Views/ViewPanel.h +2 -3
  223. package/Microsoft.ReactNative/Views/ViewViewManager.cpp +21 -0
  224. package/Microsoft.ReactNative/XamlUIService.cpp +1 -1
  225. package/Microsoft.ReactNative/XamlView.h +8 -3
  226. package/Microsoft.ReactNative.Cxx/CppWinRTIncludes.h +3 -5
  227. package/Microsoft.ReactNative.Cxx/DesktopWindowBridge.h +1 -1
  228. package/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.cpp +11 -2
  229. package/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.h +1 -0
  230. package/Microsoft.ReactNative.Cxx/JSI/NodeApiJsiRuntime.cpp +19 -14
  231. package/Microsoft.ReactNative.Cxx/JSI/NodeApiJsiRuntime.h +4 -0
  232. package/Microsoft.ReactNative.Cxx/JSValueReader.h +2 -2
  233. package/Microsoft.ReactNative.Cxx/JSValueWriter.h +5 -5
  234. package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems +5 -1
  235. package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems.filters +2 -3
  236. package/Microsoft.ReactNative.Cxx/NativeModules.h +3 -3
  237. package/Microsoft.ReactNative.Cxx/ReactContext.h +3 -3
  238. package/Microsoft.ReactNative.Cxx/ReactNonAbiValue.h +3 -3
  239. package/Microsoft.ReactNative.Cxx/XamlUtils.h +44 -5
  240. package/Microsoft.ReactNative.Managed/Microsoft.ReactNative.Managed.csproj +0 -6
  241. package/Mso/activeObject/activeObject.h +2 -2
  242. package/Mso/compilerAdapters/cppMacros.h +3 -5
  243. package/Mso/errorCode/errorProvider.h +2 -2
  244. package/Mso/errorCode/maybe.h +4 -4
  245. package/Mso/functional/functor.h +6 -6
  246. package/Mso/functional/functorRef.h +2 -2
  247. package/Mso/future/details/executor.h +2 -2
  248. package/Mso/future/details/futureFuncInl.h +4 -4
  249. package/Mso/future/details/ifuture.h +3 -3
  250. package/Mso/future/details/maybeInvoker.h +6 -6
  251. package/Mso/future/details/promiseGroupInl.h +4 -4
  252. package/Mso/future/details/promiseInl.h +4 -4
  253. package/Mso/future/details/resultTraits.h +4 -4
  254. package/Mso/future/details/whenAllInl.h +1 -1
  255. package/Mso/future/future.h +13 -13
  256. package/Mso/guid/msoGuidDetails.h +1 -1
  257. package/Mso/memoryApi/memoryApi.h +13 -7
  258. package/Mso/motifCpp/gTestAdapter.h +1 -1
  259. package/Mso/motifCpp/testInfo.h +7 -9
  260. package/Mso/object/make.h +8 -8
  261. package/Mso/object/objectRefCount.h +3 -5
  262. package/Mso/object/objectWithWeakRef.h +10 -14
  263. package/Mso/object/queryCast.h +4 -4
  264. package/Mso/object/refCountedObject.h +4 -4
  265. package/Mso/object/unknownObject.h +7 -7
  266. package/Mso/platformAdapters/windowsFirst.h +1 -1
  267. package/Mso/smartPtr/cntPtr.h +8 -8
  268. package/Mso/src/dispatchQueue/threadPoolScheduler_win.cpp +96 -4
  269. package/Mso/src/dispatchQueue/uiScheduler_winrt.cpp +2 -2
  270. package/Mso/src/future/futureImpl.h +1 -1
  271. package/Mso/src/memoryApi/memoryApi.cpp +4 -4
  272. package/PropertySheets/CppAppConsumeCSharpModule.props +3 -0
  273. package/PropertySheets/External/Microsoft.ReactNative.WinAppSDK.CSharpApp.props +26 -0
  274. package/PropertySheets/External/Microsoft.ReactNative.WinAppSDK.Common.props +12 -0
  275. package/PropertySheets/Generated/PackageVersion.g.props +3 -3
  276. package/PropertySheets/JSEngine.props +1 -1
  277. package/PropertySheets/React.Cpp.props +13 -0
  278. package/PropertySheets/WinUI.props +3 -6
  279. package/ReactCommon/ReactCommon.vcxproj +2 -4
  280. package/ReactCommon/ReactCommon.vcxproj.filters +4 -1
  281. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/JSCRuntime.cpp +1480 -0
  282. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/jsi/decorator.h +753 -0
  283. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/jsi/jsi.h +1331 -0
  284. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/jsi/test/testlib.cpp +1431 -0
  285. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/CallbackWrapper.h +103 -0
  286. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModule.h +87 -0
  287. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleUtils.h +61 -0
  288. package/ReactCommon/Yoga.cpp +1 -1
  289. package/Scripts/{Microsoft.ReactNative.ProjectReunion.nuspec → Microsoft.ReactNative.WindowsAppSDK.nuspec} +7 -9
  290. package/Scripts/OfficeReact.Win32.nuspec +1 -3
  291. package/Scripts/Tfs/Layout-MSRN-Headers.ps1 +2 -1
  292. package/Scripts/copyRNLibraries.js +8 -8
  293. package/Scripts/just.js +1 -1
  294. package/Scripts/rnw-dependencies.ps1 +41 -10
  295. package/Scripts/run-desktop-integration-tests.js +6 -6
  296. package/Shared/AbiSafe.h +3 -3
  297. package/Shared/BaseScriptStoreImpl.cpp +1 -1
  298. package/Shared/CppRuntimeOptions.h +50 -0
  299. package/Shared/CreateModules.h +4 -0
  300. package/Shared/DevSupportManager.cpp +34 -33
  301. package/Shared/DevSupportManager.h +1 -2
  302. package/Shared/HermesRuntimeHolder.cpp +23 -14
  303. package/Shared/HermesRuntimeHolder.h +8 -2
  304. package/Shared/IDevSupportManager.h +1 -2
  305. package/Shared/InspectorPackagerConnection.cpp +7 -5
  306. package/Shared/InspectorPackagerConnection.h +2 -2
  307. package/Shared/JSI/ChakraApi.cpp +0 -1
  308. package/Shared/JSI/ChakraRuntime.cpp +1 -2
  309. package/Shared/JSI/NapiJsiV8RuntimeHolder.h +1 -1
  310. package/Shared/JSI/RuntimeHolder.h +2 -0
  311. package/Shared/Modules/HttpModule.cpp +198 -0
  312. package/Shared/Modules/HttpModule.h +53 -0
  313. package/Shared/Modules/WebSocketModule.cpp +5 -1
  314. package/Shared/Modules/WebSocketModule.h +8 -5
  315. package/Shared/Networking/IHttpResource.h +53 -0
  316. package/Shared/{IWebSocketResource.h → Networking/IWebSocketResource.h} +3 -3
  317. package/Shared/Networking/OriginPolicy.h +15 -0
  318. package/Shared/Networking/OriginPolicyHttpFilter.cpp +746 -0
  319. package/Shared/Networking/OriginPolicyHttpFilter.h +112 -0
  320. package/Shared/Networking/WinRTHttpResource.cpp +347 -0
  321. package/Shared/Networking/WinRTHttpResource.h +67 -0
  322. package/Shared/Networking/WinRTTypes.h +30 -0
  323. package/Shared/{WinRTWebSocketResource.cpp → Networking/WinRTWebSocketResource.cpp} +31 -22
  324. package/Shared/{WinRTWebSocketResource.h → Networking/WinRTWebSocketResource.h} +3 -3
  325. package/Shared/OInstance.cpp +37 -11
  326. package/Shared/RuntimeOptions.cpp +93 -15
  327. package/Shared/RuntimeOptions.h +22 -9
  328. package/Shared/Shared.vcxitems +126 -5
  329. package/Shared/Shared.vcxitems.filters +55 -15
  330. package/Shared/Threading/BatchingQueueThread.cpp +1 -1
  331. package/Shared/Utils/WinRTConversions.cpp +22 -0
  332. package/Shared/Utils/WinRTConversions.h +15 -0
  333. package/Shared/tracing/fbsystrace.h +2 -2
  334. package/codegen/NativeActionSheetManagerSpec.g.h +6 -0
  335. package/codegen/NativeAnimatedModuleSpec.g.h +43 -37
  336. package/codegen/NativeAnimatedTurboModuleSpec.g.h +43 -37
  337. package/codegen/NativePushNotificationManagerIOSSpec.g.h +2 -0
  338. package/codegen/react/components/rnwcore/ComponentDescriptors.h +0 -1
  339. package/codegen/react/components/rnwcore/EventEmitters.cpp +133 -0
  340. package/codegen/react/components/rnwcore/EventEmitters.h +0 -18
  341. package/codegen/react/components/rnwcore/Props.cpp +0 -13
  342. package/codegen/react/components/rnwcore/Props.h +0 -16
  343. package/codegen/react/components/rnwcore/ShadowNodes.cpp +0 -1
  344. package/codegen/react/components/rnwcore/ShadowNodes.h +0 -10
  345. package/include/Shared/cdebug.h +9 -9
  346. package/index.js +30 -25
  347. package/index.windows.js +30 -25
  348. package/jest/preprocessor.js +24 -107
  349. package/jest/preprocessor_DO_NOT_USE.js +122 -0
  350. package/metro.config.js +3 -70
  351. package/package.json +29 -28
  352. package/react-native.config.js +40 -6
  353. package/rntypes/index.d.ts +19 -7
  354. package/stubs/glog/logging.h +1 -1
  355. package/template/cpp-app/src/App.h +0 -4
  356. package/template/cs-app/src/App.xaml.cs +0 -5
  357. package/template/cs-app/src/MainPage.xaml.cs +1 -10
  358. package/template/cs-app-WinAppSDK/MyApp/App.xaml +16 -0
  359. package/template/cs-app-WinAppSDK/MyApp/App.xaml.cs +70 -0
  360. package/template/cs-app-WinAppSDK/MyApp/MainWindow.xaml +14 -0
  361. package/template/cs-app-WinAppSDK/MyApp/MainWindow.xaml.cs +38 -0
  362. package/template/cs-app-WinAppSDK/MyApp/Package.appxmanifest +48 -0
  363. package/template/cs-app-WinAppSDK/MyApp/Properties/PublishProfiles/win10-arm64.pubxml +19 -0
  364. package/template/cs-app-WinAppSDK/MyApp/Properties/PublishProfiles/win10-x64.pubxml +19 -0
  365. package/template/cs-app-WinAppSDK/MyApp/Properties/PublishProfiles/win10-x86.pubxml +19 -0
  366. package/template/cs-app-WinAppSDK/MyApp/Properties/launchSettings.json +10 -0
  367. package/template/cs-app-WinAppSDK/MyApp/app.manifest +15 -0
  368. package/template/cs-app-WinAppSDK/proj/ExperimentalFeatures.props +23 -0
  369. package/template/cs-app-WinAppSDK/proj/MyApp.csproj +49 -0
  370. package/template/cs-app-WinAppSDK/proj/MyApp.sln +43 -0
  371. package/template/cs-app-WinAppSDK/proj/NuGet.Config +17 -0
  372. package/template/metro.devMode.config.js +2 -51
  373. package/typings-index.js +5 -1
  374. package/typings-index.js.map +1 -1
  375. package/Libraries/Components/SegmentedControlIOS/RCTSegmentedControlNativeComponent.js +0 -44
  376. package/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.android.js +0 -45
  377. package/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.ios.js +0 -123
  378. package/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.windows.js +0 -45
  379. package/Libraries/Components/View/ReactNativeViewViewConfig.js +0 -360
  380. package/Libraries/Components/View/ReactNativeViewViewConfig.windows.js +0 -390
  381. package/Libraries/Components/View/ReactNativeViewViewConfigAndroid.js +0 -83
  382. package/Libraries/ReactNative/UIManagerInjection.js +0 -15
  383. package/Libraries/Renderer/implementations/ReactFabric-dev.fb.js +0 -24527
  384. package/Libraries/Renderer/implementations/ReactFabric-prod.fb.js +0 -8309
  385. package/Libraries/Renderer/implementations/ReactFabric-profiling.fb.js +0 -8961
  386. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.fb.js +0 -24948
  387. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.fb.js +0 -8400
  388. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.fb.js +0 -9049
  389. package/PropertySheets/CppEnablePackageReferences.props +0 -13
  390. package/Shared/IHttpResource.h +0 -34
  391. package/Shared/cdebug.cpp +0 -6
  392. package/include/Shared/ViewManager.h +0 -34
@@ -394,7 +394,7 @@ class DECLSPEC_NOVTABLE UnknownObject : public Mso::QueryCastList<TBaseType0, TB
394
394
 
395
395
  protected:
396
396
  template <typename... TArgs>
397
- UnknownObject(TArgs &&... args) noexcept : Super(std::forward<TArgs>(args)...) {}
397
+ UnknownObject(TArgs &&...args) noexcept : Super(std::forward<TArgs>(args)...) {}
398
398
 
399
399
  virtual ~UnknownObject() noexcept = default;
400
400
 
@@ -442,7 +442,7 @@ class DECLSPEC_NOVTABLE UnknownObject<Mso::SimpleRefCountPolicy<TDeleter, TAlloc
442
442
 
443
443
  protected:
444
444
  template <typename... TArgs>
445
- UnknownObject(TArgs &&... args) noexcept : Super(std::forward<TArgs>(args)...) {}
445
+ UnknownObject(TArgs &&...args) noexcept : Super(std::forward<TArgs>(args)...) {}
446
446
 
447
447
  virtual ~UnknownObject() noexcept = default;
448
448
 
@@ -489,7 +489,7 @@ class DECLSPEC_NOVTABLE UnknownObject<Mso::RefCountStrategy::SimpleNoQuery, TBas
489
489
 
490
490
  protected:
491
491
  template <typename... TArgs>
492
- UnknownObject(TArgs &&... args) noexcept : TBaseType0(std::forward<TArgs>(args)...) {}
492
+ UnknownObject(TArgs &&...args) noexcept : TBaseType0(std::forward<TArgs>(args)...) {}
493
493
 
494
494
  virtual ~UnknownObject() noexcept = default;
495
495
 
@@ -536,7 +536,7 @@ class UnknownObject<Mso::WeakRefCountPolicy<TDeleter, TAllocator>, TBaseType0, T
536
536
 
537
537
  protected:
538
538
  template <typename... TArgs>
539
- UnknownObject(TArgs &&... args) noexcept : Super(std::forward<TArgs>(args)...) {}
539
+ UnknownObject(TArgs &&...args) noexcept : Super(std::forward<TArgs>(args)...) {}
540
540
 
541
541
  virtual ~UnknownObject() noexcept = default;
542
542
  };
@@ -552,7 +552,7 @@ class DECLSPEC_NOVTABLE UnknownObject<Mso::RefCountStrategy::NoRefCount, TBaseTy
552
552
  MSO_OBJECT_NOREFCOUNT(UnknownObject);
553
553
 
554
554
  template <typename... TArgs>
555
- UnknownObject(TArgs &&... args) noexcept : Super(std::forward<TArgs>(args)...) {}
555
+ UnknownObject(TArgs &&...args) noexcept : Super(std::forward<TArgs>(args)...) {}
556
556
 
557
557
  _Success_(return == S_OK) STDMETHOD(QueryInterface)(const GUID &riid, _Outptr_ void **ppvObject) noexcept override {
558
558
  return ::Mso::Details::QueryInterfaceHelper<UnknownObject>::QueryInterface(this, riid, ppvObject);
@@ -582,7 +582,7 @@ class DECLSPEC_NOVTABLE UnknownObject<Mso::RefCountStrategy::NoRefCountNoQuery,
582
582
  MSO_OBJECT_NOREFCOUNT(UnknownObject);
583
583
 
584
584
  template <typename... TArgs>
585
- UnknownObject(TArgs &&... args) noexcept : Super(std::forward<TArgs>(args)...) {}
585
+ UnknownObject(TArgs &&...args) noexcept : Super(std::forward<TArgs>(args)...) {}
586
586
 
587
587
  _Success_(return == S_OK)
588
588
  STDMETHOD(QueryInterface)(const GUID & /*riid*/, _Outptr_ void ** /*ppvObject*/) noexcept override {
@@ -613,7 +613,7 @@ class AgileUnknownObject : public UnknownObject<TBaseTypes...> {
613
613
  MSO_NO_COPY_CTOR_AND_ASSIGNMENT(AgileUnknownObject);
614
614
 
615
615
  template <typename... TArgs>
616
- AgileUnknownObject(TArgs &&... args) noexcept : Super(std::forward<TArgs>(args)...) {}
616
+ AgileUnknownObject(TArgs &&...args) noexcept : Super(std::forward<TArgs>(args)...) {}
617
617
 
618
618
  _Success_(return == S_OK) STDMETHOD(QueryInterface)(const GUID &riid, _Outptr_ void **ppvObject) noexcept override {
619
619
  HRESULT hr = Super::QueryInterface(riid, ppvObject);
@@ -14,7 +14,7 @@ typedef unsigned long DWORD;
14
14
  #define NOMINMAX
15
15
  #endif
16
16
 
17
- //#include <winsock2.h>
17
+ // #include <winsock2.h>
18
18
  #include <windows.h>
19
19
 
20
20
  #endif // defined(MS_TARGET_POSIX)
@@ -155,12 +155,12 @@ struct CntPtrRef {
155
155
 
156
156
  operator CntPtr<T> *() const noexcept;
157
157
  operator void *() const noexcept;
158
- operator T * *() const noexcept;
159
- operator void * *() const noexcept;
160
- operator const void * *() const noexcept;
158
+ operator T **() const noexcept;
159
+ operator void **() const noexcept;
160
+ operator const void **() const noexcept;
161
161
 
162
162
  template <typename TBase, EnableIfIsBaseOf<TBase, T> = 0>
163
- explicit operator TBase * *() const noexcept;
163
+ explicit operator TBase **() const noexcept;
164
164
 
165
165
  T *&operator*() noexcept;
166
166
  T **ClearAndGetAddressOf() noexcept;
@@ -508,23 +508,23 @@ inline CntPtrRef<T>::operator void *() const noexcept {
508
508
  }
509
509
 
510
510
  template <typename T>
511
- inline CntPtrRef<T>::operator T * *() const noexcept {
511
+ inline CntPtrRef<T>::operator T **() const noexcept {
512
512
  return const_cast<CntPtrRef *>(this)->m_pCntPtr->GetAddressOf();
513
513
  }
514
514
 
515
515
  template <typename T>
516
- inline CntPtrRef<T>::operator void * *() const noexcept {
516
+ inline CntPtrRef<T>::operator void **() const noexcept {
517
517
  return reinterpret_cast<void **>(const_cast<CntPtrRef *>(this)->m_pCntPtr->GetAddressOf());
518
518
  }
519
519
 
520
520
  template <typename T>
521
- inline CntPtrRef<T>::operator const void * *() const noexcept {
521
+ inline CntPtrRef<T>::operator const void **() const noexcept {
522
522
  return (const void **)(const_cast<CntPtrRef *>(this)->m_pCntPtr->GetAddressOf());
523
523
  }
524
524
 
525
525
  template <typename T>
526
526
  template <typename TBase, EnableIfIsBaseOf<TBase, T>>
527
- inline CntPtrRef<T>::operator TBase * *() const noexcept {
527
+ inline CntPtrRef<T>::operator TBase **() const noexcept {
528
528
  return (TBase **)const_cast<CntPtrRef *>(this)->m_pCntPtr->GetAddressOf();
529
529
  }
530
530
 
@@ -1,6 +1,7 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
2
  // Licensed under the MIT license.
3
3
 
4
+ #include <utility>
4
5
  #include "dispatchQueue/dispatchQueue.h"
5
6
  #include "queueService.h"
6
7
 
@@ -29,6 +30,13 @@ struct ThreadPoolSchedulerWin : Mso::UnknownObject<IDispatchQueueScheduler> {
29
30
  void Shutdown() noexcept override;
30
31
  void AwaitTermination() noexcept override;
31
32
 
33
+ public: // Used by test APIs
34
+ static void EnableThreadPoolWorkTracking(bool enable) noexcept;
35
+ static void WaitForThreadPoolWorkCompletion() noexcept;
36
+
37
+ private: // Used by test APIs
38
+ static void TrackThreadPoolWork(const std::shared_ptr<TP_WORK> &work) noexcept;
39
+
32
40
  private:
33
41
  struct ThreadAccessGuard {
34
42
  ThreadAccessGuard(ThreadPoolSchedulerWin *scheduler) noexcept;
@@ -42,12 +50,29 @@ struct ThreadPoolSchedulerWin : Mso::UnknownObject<IDispatchQueueScheduler> {
42
50
  };
43
51
 
44
52
  private:
45
- std::unique_ptr<TP_WORK, ThreadPoolWorkDeleter> m_threadPoolWork;
53
+ std::shared_ptr<TP_WORK> m_threadPoolWork;
46
54
  Mso::WeakPtr<IDispatchQueueService> m_queue;
47
55
  const uint32_t m_maxThreads{1};
48
56
  std::atomic<uint32_t> m_usedThreads{0};
49
57
 
50
58
  constexpr static uint32_t MaxConcurrentThreads{64};
59
+
60
+ private:
61
+ static std::mutex s_threadPoolWorkMutex;
62
+ static bool s_enableThreadPoolWorkTracking;
63
+ static std::vector<std::shared_ptr<TP_WORK>> s_trackedThreadPoolWork;
64
+ };
65
+
66
+ // Track the ThreadPoolSchedulerWin instance used by current thread.
67
+ // We use it to avoid a deadlock on queue shutdown.
68
+ struct ThreadPoolSchedulerWinContext {
69
+ ThreadPoolSchedulerWinContext(ThreadPoolSchedulerWin *scheduler) noexcept;
70
+ ~ThreadPoolSchedulerWinContext() noexcept;
71
+ static ThreadPoolSchedulerWin *CurrentScheduler() noexcept;
72
+
73
+ private:
74
+ static thread_local ThreadPoolSchedulerWin *tls_scheduler;
75
+ ThreadPoolSchedulerWin *m_prevScheduler{nullptr};
51
76
  };
52
77
 
53
78
  //=============================================================================
@@ -64,9 +89,15 @@ void ThreadPoolWorkDeleter::operator()(TP_WORK *tpWork) noexcept {
64
89
  // ThreadPoolSchedulerWin implementation
65
90
  //=============================================================================
66
91
 
92
+ std::mutex ThreadPoolSchedulerWin::s_threadPoolWorkMutex;
93
+ bool ThreadPoolSchedulerWin::s_enableThreadPoolWorkTracking{false};
94
+ std::vector<std::shared_ptr<TP_WORK>> ThreadPoolSchedulerWin::s_trackedThreadPoolWork;
95
+
67
96
  ThreadPoolSchedulerWin::ThreadPoolSchedulerWin(uint32_t maxThreads) noexcept
68
- : m_threadPoolWork{::CreateThreadpoolWork(WorkCallback, this, nullptr)},
69
- m_maxThreads{maxThreads == 0 ? MaxConcurrentThreads : maxThreads} {}
97
+ : m_threadPoolWork{::CreateThreadpoolWork(WorkCallback, this, nullptr), ThreadPoolWorkDeleter{}},
98
+ m_maxThreads{maxThreads == 0 ? MaxConcurrentThreads : maxThreads} {
99
+ TrackThreadPoolWork(m_threadPoolWork);
100
+ }
70
101
 
71
102
  ThreadPoolSchedulerWin::~ThreadPoolSchedulerWin() noexcept {
72
103
  AwaitTermination();
@@ -78,6 +109,7 @@ ThreadPoolSchedulerWin::~ThreadPoolSchedulerWin() noexcept {
78
109
  _Inout_ PTP_WORK /*work*/) {
79
110
  // The ThreadPoolSchedulerWin is alive here because m_threadPoolWork must be completed before it is destroyed.
80
111
  ThreadPoolSchedulerWin *self = static_cast<ThreadPoolSchedulerWin *>(context);
112
+ ThreadPoolSchedulerWinContext schedulerContext(self);
81
113
 
82
114
  if (auto queue = self->m_queue.GetStrongPtr()) {
83
115
  auto endTime = std::chrono::steady_clock::now() + 100ms;
@@ -129,7 +161,38 @@ void ThreadPoolSchedulerWin::Shutdown() noexcept {
129
161
  }
130
162
 
131
163
  void ThreadPoolSchedulerWin::AwaitTermination() noexcept {
132
- ::WaitForThreadpoolWorkCallbacks(m_threadPoolWork.get(), false);
164
+ // Avoid deadlock when the dispatch queue and ThreadPoolSchedulerWin are released from inside of a task.
165
+ if (ThreadPoolSchedulerWinContext::CurrentScheduler() != this) {
166
+ ::WaitForThreadpoolWorkCallbacks(m_threadPoolWork.get(), false);
167
+ }
168
+ }
169
+
170
+ void ThreadPoolSchedulerWin::EnableThreadPoolWorkTracking(bool enable) noexcept {
171
+ std::vector<std::shared_ptr<TP_WORK>> tpWorkToStopTracking;
172
+ {
173
+ std::scoped_lock lock{s_threadPoolWorkMutex};
174
+ s_enableThreadPoolWorkTracking = enable;
175
+ // Reset all previously tracked work
176
+ tpWorkToStopTracking = std::move(s_trackedThreadPoolWork);
177
+ }
178
+ }
179
+
180
+ void ThreadPoolSchedulerWin::WaitForThreadPoolWorkCompletion() noexcept {
181
+ std::vector<std::shared_ptr<TP_WORK>> tpWorkToTrack;
182
+ {
183
+ std::scoped_lock lock{s_threadPoolWorkMutex};
184
+ tpWorkToTrack = std::move(s_trackedThreadPoolWork);
185
+ }
186
+ for (std::shared_ptr<TP_WORK> &tpWork : tpWorkToTrack) {
187
+ ::WaitForThreadpoolWorkCallbacks(tpWork.get(), false);
188
+ }
189
+ }
190
+
191
+ void ThreadPoolSchedulerWin::TrackThreadPoolWork(const std::shared_ptr<TP_WORK> &tpWork) noexcept {
192
+ std::scoped_lock lock{s_threadPoolWorkMutex};
193
+ if (s_enableThreadPoolWorkTracking) {
194
+ s_trackedThreadPoolWork.push_back(tpWork);
195
+ }
133
196
  }
134
197
 
135
198
  //=============================================================================
@@ -151,6 +214,23 @@ ThreadPoolSchedulerWin::ThreadAccessGuard::~ThreadAccessGuard() noexcept {
151
214
  return tls_scheduler == scheduler;
152
215
  }
153
216
 
217
+ //=============================================================================
218
+ // ThreadPoolSchedulerWinContext implementation
219
+ //=============================================================================
220
+
221
+ thread_local ThreadPoolSchedulerWin *ThreadPoolSchedulerWinContext::tls_scheduler{nullptr};
222
+
223
+ ThreadPoolSchedulerWinContext::ThreadPoolSchedulerWinContext(ThreadPoolSchedulerWin *scheduler) noexcept
224
+ : m_prevScheduler(std::exchange(tls_scheduler, scheduler)) {}
225
+
226
+ ThreadPoolSchedulerWinContext::~ThreadPoolSchedulerWinContext() noexcept {
227
+ std::exchange(tls_scheduler, m_prevScheduler);
228
+ }
229
+
230
+ ThreadPoolSchedulerWin *ThreadPoolSchedulerWinContext::CurrentScheduler() noexcept {
231
+ return tls_scheduler;
232
+ }
233
+
154
234
  //=============================================================================
155
235
  // DispatchQueueStatic::MakeThreadPoolScheduler implementation
156
236
  //=============================================================================
@@ -160,4 +240,16 @@ ThreadPoolSchedulerWin::ThreadAccessGuard::~ThreadAccessGuard() noexcept {
160
240
  return Mso::Make<ThreadPoolSchedulerWin, IDispatchQueueScheduler>(maxThreads);
161
241
  }
162
242
 
243
+ //=============================================================================
244
+ // Test specific functions
245
+ //=============================================================================
246
+
247
+ void Test_ThreadPoolSchedulerWin_EnableThreadPoolWorkTracking(bool enable) noexcept {
248
+ ThreadPoolSchedulerWin::EnableThreadPoolWorkTracking(enable);
249
+ }
250
+
251
+ void Test_ThreadPoolSchedulerWin_WaitForThreadPoolWorkCompletion() noexcept {
252
+ ThreadPoolSchedulerWin::WaitForThreadPoolWorkCompletion();
253
+ }
254
+
163
255
  } // namespace Mso
@@ -13,8 +13,8 @@ using namespace Windows::Foundation;
13
13
  #include "winrt/Windows.System.h"
14
14
  using namespace Windows::System;
15
15
  #else
16
- #include "winrt/Microsoft.System.h"
17
- using namespace Microsoft::System;
16
+ #include "winrt/Microsoft.UI.Dispatching.h"
17
+ using namespace Microsoft::UI::Dispatching;
18
18
  #endif
19
19
 
20
20
  namespace Mso {
@@ -226,7 +226,7 @@ class FutureImpl final : public Mso::QueryCastList<Mso::QueryCastDerived<FutureI
226
226
  void AddContinuation(Mso::CntPtr<IFuture> &&continuation) noexcept override;
227
227
 
228
228
  _Success_(
229
- return ) bool TryStartSetValue(_Out_ ByteArrayView &valueBuffer, bool crashIfFailed = false) noexcept override;
229
+ return) bool TryStartSetValue(_Out_ ByteArrayView &valueBuffer, bool crashIfFailed = false) noexcept override;
230
230
  void Post() noexcept override;
231
231
  void StartAwaiting() noexcept override;
232
232
  bool TrySetSuccess(bool crashIfFailed = false) noexcept override;
@@ -50,11 +50,11 @@ _Use_decl_annotations_ void Free(void *pv) noexcept {
50
50
  ::free(pv);
51
51
  }
52
52
 
53
- //#ifdef DEBUG
54
- // void RegisterCallback(Mso::LibletAPI::ILibletMemoryMarking&) noexcept {}
53
+ // #ifdef DEBUG
54
+ // void RegisterCallback(Mso::LibletAPI::ILibletMemoryMarking&) noexcept {}
55
55
  //
56
- // void UnregisterCallback(Mso::LibletAPI::ILibletMemoryMarking&) noexcept {}
57
- //#endif
56
+ // void UnregisterCallback(Mso::LibletAPI::ILibletMemoryMarking&) noexcept {}
57
+ // #endif
58
58
 
59
59
  } // namespace Memory
60
60
  } // namespace Mso
@@ -18,12 +18,14 @@
18
18
  <DotNetNativeVersion Condition="Exists('$(MSBuildProgramFiles32)\Microsoft SDKs\UWPNuGetPackages\Microsoft.Net.Native.Compiler\2.2.8-rel-28605-00\build\Microsoft.Net.Native.Compiler.props')">2.2.8-rel-28605-00</DotNetNativeVersion>
19
19
  <DotNetNativeVersion Condition="Exists('$(MSBuildProgramFiles32)\Microsoft SDKs\UWPNuGetPackages\Microsoft.Net.Native.Compiler\2.2.9-rel-29512-01\build\Microsoft.Net.Native.Compiler.props')">2.2.9-rel-29512-01</DotNetNativeVersion>
20
20
  <DotNetNativeVersion Condition="Exists('$(MSBuildProgramFiles32)\Microsoft SDKs\UWPNuGetPackages\Microsoft.Net.Native.Compiler\2.2.10-rel-29722-00\build\Microsoft.Net.Native.Compiler.props')">2.2.10-rel-29722-00</DotNetNativeVersion>
21
+ <DotNetNativeVersion Condition="Exists('$(MSBuildProgramFiles32)\Microsoft SDKs\UWPNuGetPackages\Microsoft.Net.Native.Compiler\2.2.11-rel-30601-02\build\Microsoft.Net.Native.Compiler.props')">2.2.11-rel-30601-02</DotNetNativeVersion>
21
22
 
22
23
  <DotNetNativeRuntimeVersion>DOTNET_NATIVE_RUNTIME_VERSION_NOT_SET</DotNetNativeRuntimeVersion>
23
24
  <DotNetNativeRuntimeVersion Condition="Exists('$(MSBuildProgramFiles32)\Microsoft SDKs\UWPNuGetPackages\runtime.win10-x86.Microsoft.Net.Native.SharedLibrary\2.2.7-rel-27913-00\build\runtime.win10-x86.Microsoft.Net.Native.SharedLibrary.props')">2.2.7-rel-27913-00</DotNetNativeRuntimeVersion>
24
25
  <DotNetNativeRuntimeVersion Condition="Exists('$(MSBuildProgramFiles32)\Microsoft SDKs\UWPNuGetPackages\runtime.win10-x86.Microsoft.Net.Native.SharedLibrary\2.2.7-rel-28605-00\build\runtime.win10-x86.Microsoft.Net.Native.SharedLibrary.props')">2.2.7-rel-28605-00</DotNetNativeRuntimeVersion>
25
26
  <DotNetNativeRuntimeVersion Condition="Exists('$(MSBuildProgramFiles32)\Microsoft SDKs\UWPNuGetPackages\runtime.win10-x86.Microsoft.Net.Native.SharedLibrary\2.2.8-rel-29512-01\build\runtime.win10-x86.Microsoft.Net.Native.SharedLibrary.props')">2.2.8-rel-29512-01</DotNetNativeRuntimeVersion>
26
27
  <DotNetNativeRuntimeVersion Condition="Exists('$(MSBuildProgramFiles32)\Microsoft SDKs\UWPNuGetPackages\runtime.win10-x86.Microsoft.Net.Native.SharedLibrary\2.2.8-rel-29722-00\build\runtime.win10-x86.Microsoft.Net.Native.SharedLibrary.props')">2.2.8-rel-29722-00</DotNetNativeRuntimeVersion>
28
+ <DotNetNativeRuntimeVersion Condition="Exists('$(MSBuildProgramFiles32)\Microsoft SDKs\UWPNuGetPackages\runtime.win10-x86.Microsoft.Net.Native.SharedLibrary\2.2.8-rel-30601-02\build\runtime.win10-x86.Microsoft.Net.Native.SharedLibrary.props')">2.2.8-rel-30601-02</DotNetNativeRuntimeVersion>
27
29
 
28
30
  <!-- The name 'DotNetNativeVersion' is critical for restoring the right .NET framework libraries -->
29
31
  <UWPCoreRuntimeSdkVersion>UWP_CORE_RUNTIME_SDK_VERSION_NOT_SET</UWPCoreRuntimeSdkVersion>
@@ -31,6 +33,7 @@
31
33
  <UWPCoreRuntimeSdkVersion Condition="Exists('$(MSBuildProgramFiles32)\Microsoft SDKs\UWPNuGetPackages\Microsoft.Net.UWPCoreRuntimeSdk\2.2.10\build\Microsoft.Net.UWPCoreRuntimeSdk.props')">2.2.10</UWPCoreRuntimeSdkVersion>
32
34
  <UWPCoreRuntimeSdkVersion Condition="Exists('$(MSBuildProgramFiles32)\Microsoft SDKs\UWPNuGetPackages\Microsoft.Net.UWPCoreRuntimeSdk\2.2.11\build\Microsoft.Net.UWPCoreRuntimeSdk.props')">2.2.11</UWPCoreRuntimeSdkVersion>
33
35
  <UWPCoreRuntimeSdkVersion Condition="Exists('$(MSBuildProgramFiles32)\Microsoft SDKs\UWPNuGetPackages\Microsoft.Net.UWPCoreRuntimeSdk\2.2.12\build\Microsoft.Net.UWPCoreRuntimeSdk.props')">2.2.12</UWPCoreRuntimeSdkVersion>
36
+ <UWPCoreRuntimeSdkVersion Condition="Exists('$(MSBuildProgramFiles32)\Microsoft SDKs\UWPNuGetPackages\Microsoft.Net.UWPCoreRuntimeSdk\2.2.13\build\Microsoft.Net.UWPCoreRuntimeSdk.props')">2.2.13</UWPCoreRuntimeSdkVersion>
34
37
  <!-- End Custom .NET Native properties -->
35
38
  </PropertyGroup>
36
39
 
@@ -0,0 +1,26 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!--
3
+ Copyright (c) Microsoft Corporation.
4
+ Licensed under the MIT License.
5
+
6
+ This file will be consumed by ALL WinAppSDK C# app projects (both inside
7
+ and outside of this repo) that build on top of Microsoft.ReactNative.
8
+ Do not make any changes here unless it applies to ALL such projects.
9
+ -->
10
+ <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11
+ <!-- Keeping this at the top of the imports ensures we can use the autolinking
12
+ process to set properties without having to edit the project file -->
13
+ <Import Project="$(ProjectDir)\AutolinkedNativeModules.g.props"
14
+ Condition="Exists('$(ProjectDir)\AutolinkedNativeModules.g.props')" />
15
+
16
+ <PropertyGroup>
17
+ <!--https://github.com/microsoft/react-native-windows/pull/9177#discussion_r827643823-->
18
+ <UseDocString>false</UseDocString>
19
+ <ReactNativeCodeGenEnabled Condition="'$(ReactNativeCodeGenEnabled)' == ''">true</ReactNativeCodeGenEnabled>
20
+ </PropertyGroup>
21
+
22
+ <Import Project="$(MSBuildThisFileDirectory)Microsoft.ReactNative.WinAppSDK.Common.props" />
23
+ <Import Project="$(ReactNativeWindowsDir)\PropertySheets\Appx.props" />
24
+ <Import Project="$(ReactNativeWindowsDir)\PropertySheets\Autolink.props" />
25
+ <Import Project="$(ReactNativeWindowsDir)\PropertySheets\WinUI.props" />
26
+ </Project>
@@ -0,0 +1,12 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!--
3
+ Copyright (c) Microsoft Corporation. All rights reserved.
4
+ Licensed under the MIT License.
5
+
6
+ This file will be consumed by ALL WinAppSDK app and module projects (both inside
7
+ and outside of this repo) that build on top of Microsoft.ReactNative.
8
+ Do not make any changes here unless it applies to ALL such projects.
9
+ -->
10
+ <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11
+ <Import Project="$(MSBuildThisFileDirectory)Microsoft.ReactNative.Common.props" />
12
+ </Project>
@@ -10,10 +10,10 @@
10
10
  -->
11
11
  <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12
12
  <PropertyGroup>
13
- <ReactNativeWindowsVersion>0.68.1</ReactNativeWindowsVersion>
13
+ <ReactNativeWindowsVersion>0.69.0-preview.1</ReactNativeWindowsVersion>
14
14
  <ReactNativeWindowsMajor>0</ReactNativeWindowsMajor>
15
- <ReactNativeWindowsMinor>68</ReactNativeWindowsMinor>
16
- <ReactNativeWindowsPatch>1</ReactNativeWindowsPatch>
15
+ <ReactNativeWindowsMinor>69</ReactNativeWindowsMinor>
16
+ <ReactNativeWindowsPatch>0</ReactNativeWindowsPatch>
17
17
  <ReactNativeWindowsCanary>false</ReactNativeWindowsCanary>
18
18
  </PropertyGroup>
19
19
  </Project>
@@ -18,7 +18,7 @@
18
18
  <EnableDevServerHBCBundles Condition="'$(EnableDevServerHBCBundles)' == ''">false</EnableDevServerHBCBundles>
19
19
 
20
20
  <UseV8 Condition="'$(UseV8)' == ''">false</UseV8>
21
- <V8Version Condition="'$(V8Version)' == ''">0.65.5</V8Version>
21
+ <V8Version Condition="'$(V8Version)' == ''">0.65.11</V8Version>
22
22
  <V8PackageName>ReactNative.V8Jsi.Windows</V8PackageName>
23
23
  <V8PackageName Condition="'$(V8AppPlatform)' != 'win32'">$(V8PackageName).UWP</V8PackageName>
24
24
  <V8Package>$(NuGetPackageRoot)\$(V8PackageName).$(V8Version)</V8Package>
@@ -19,6 +19,18 @@
19
19
 
20
20
  <PropertyGroup Label="NuGet">
21
21
  <ResolveNuGetPackages>false</ResolveNuGetPackages>
22
+
23
+ <!-- https://github.com/NuGet/Home/issues/10511#issuecomment-778400668 -->
24
+ <AssetTargetFallback>$(AssetTargetFallback);native</AssetTargetFallback>
25
+
26
+ <!--
27
+ Avoid Visual Studio error message:
28
+ "The project '$(MSBuildProjectName)' ran into a problem during the last operation: The value of the
29
+ 'TargetFrameworkMoniker' and 'NuGetTargetMoniker' properties in the '$(Configuration)|$(Platform)' configuration are both
30
+ empty. This configuration will not contribute to NuGet restore, which may result in restore and build errors. You may
31
+ need to reload the solution after fixing the problem."
32
+ -->
33
+ <TargetFrameworkMoniker>native,Version=v0.0</TargetFrameworkMoniker>
22
34
  </PropertyGroup>
23
35
 
24
36
  <PropertyGroup Label="Desktop">
@@ -130,6 +142,7 @@
130
142
  $(ReactNativeDir)\ReactCommon\jsiexecutor;
131
143
  $(ReactNativeDir)\ReactCommon\react\nativemodule\core;
132
144
  $(ReactNativeDir)\ReactCommon\react\nativemodule\samples;
145
+ $(ReactNativeDir)\ReactCommon\react\bridging;
133
146
  $(ReactNativeDir)\ReactCommon\reactperflogger;
134
147
  $(ReactNativeDir)\ReactCommon\runtimeexecutor;
135
148
  %(AdditionalIncludeDirectories);
@@ -2,7 +2,7 @@
2
2
  <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3
3
  <PropertyGroup Label="WinUI3 versioning">
4
4
  <!-- This value is also used by the CLI, see /packages/@react-native-windows/generate-windows -->
5
- <WinUI3Version Condition="'$(WinUI3Version)'==''">3.0.0-preview4.210210.4</WinUI3Version>
5
+ <WinUI3Version Condition="'$(WinUI3Version)'==''">1.0.0</WinUI3Version>
6
6
  </PropertyGroup>
7
7
 
8
8
  <PropertyGroup Label="WinUI2x versioning">
@@ -11,8 +11,9 @@
11
11
  </PropertyGroup>
12
12
 
13
13
  <PropertyGroup Condition="'$(UseWinUI3)'=='true'">
14
- <WinUIPackageName>Microsoft.WinUI</WinUIPackageName>
14
+ <WinUIPackageName>Microsoft.WindowsAppSDK</WinUIPackageName>
15
15
  <WinUIPackageVersion>$(WinUI3Version)</WinUIPackageVersion>
16
+ <WinUIPackageProps/>
16
17
 
17
18
  <!-- Enlighten C# code about WinUI3 -->
18
19
  <DefineConstants Condition="'$(UseWinUI3)'=='true'">USE_WINUI3;$(DefineConstants)</DefineConstants>
@@ -30,14 +31,10 @@
30
31
  <!-- Enlighten C++ code about WinUI3 -->
31
32
  <ClCompile>
32
33
  <PreprocessorDefinitions>USE_WINUI3;%(PreprocessorDefinitions)</PreprocessorDefinitions>
33
- <!-- Preview 3 will need experimental types due to IXP -->
34
- <PreprocessorDefinitions Condition="'$(UseExperimentalIXP)'=='true'">WINUI3_PREVIEW3;ENABLE_WINRT_EXPERIMENTAL_TYPES=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
35
34
  </ClCompile>
36
35
  <!-- Enlighten IDL interfaces about WinUI3 -->
37
36
  <Midl>
38
37
  <PreprocessorDefinitions>USE_WINUI3;%(PreprocessorDefinitions)</PreprocessorDefinitions>
39
- <!-- Preview 3 will need experimental types due to IXP -->
40
- <PreprocessorDefinitions>ENABLE_WINRT_EXPERIMENTAL_TYPES=1;DISABLE_MIDL_VERSION_CHECKS=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
41
38
  </Midl>
42
39
  </ItemDefinitionGroup>
43
40
 
@@ -83,9 +83,6 @@
83
83
  </Link>
84
84
  </ItemDefinitionGroup>
85
85
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
86
- <ImportGroup Label="ExtensionTargets">
87
- <Import Project="$(SolutionDir)packages\boost.1.76.0.0\build\boost.targets" Condition="Exists('$(SolutionDir)packages\boost.1.76.0.0\build\boost.targets')" />
88
- </ImportGroup>
89
86
  <ItemGroup>
90
87
  <ClInclude Include="$(ReactNativeDir)\ReactCommon\jsi\jsi\instrumentation.h" />
91
88
  <ClInclude Include="$(ReactNativeDir)\ReactCommon\jsi\jsi\jsi-inl.h" />
@@ -173,11 +170,12 @@
173
170
  </ClCompile>
174
171
  <ClInclude Include="$(ReactNativeDir)\ReactCommon\callinvoker\ReactCommon\CallInvoker.h" />
175
172
  <ClInclude Include="$(ReactNativeDir)\ReactCommon\react\nativemodule\core\ReactCommon\LongLivedObject.h" />
173
+ <ClInclude Include="$(ReactNativeDir)\ReactCommon\react\brdiging\CallbackWrapper.h" />
176
174
  <ClInclude Include="$(ReactNativeDir)\ReactCommon\react\nativemodule\core\ReactCommon\TurboCxxModule.h" />
177
175
  <ClInclude Include="$(ReactNativeDir)\ReactCommon\react\nativemodule\core\ReactCommon\TurboModule.h" />
178
176
  <ClInclude Include="$(ReactNativeDir)\ReactCommon\react\nativemodule\core\ReactCommon\TurboModuleBinding.h" />
179
177
  <ClInclude Include="$(ReactNativeDir)\ReactCommon\react\nativemodule\core\ReactCommon\TurboModuleUtils.h" />
180
- <ClCompile Include="$(ReactNativeDir)\ReactCommon\react\nativemodule\core\ReactCommon\LongLivedObject.cpp" />
178
+ <ClCompile Include="$(ReactNativeDir)\ReactCommon\react\bridging\LongLivedObject.cpp" />
181
179
  <ClCompile Include="$(ReactNativeDir)\ReactCommon\react\nativemodule\core\ReactCommon\TurboCxxModule.cpp" />
182
180
  <ClCompile Include="$(ReactNativeDir)\ReactCommon\react\nativemodule\core\ReactCommon\TurboModule.cpp"/>
183
181
  <ClCompile Include="$(ReactNativeDir)\ReactCommon\react\nativemodule\core\ReactCommon\TurboModuleBinding.cpp" />
@@ -138,7 +138,7 @@
138
138
  <ClCompile Include="$(ReactNativeDir)\ReactCommon\react\nativemodule\core\ReactCommon\TurboModuleUtils.cpp">
139
139
  <Filter>turbomodule\core</Filter>
140
140
  </ClCompile>
141
- <ClCompile Include="$(ReactNativeDir)\ReactCommon\react\nativemodule\core\ReactCommon\LongLivedObject.cpp">
141
+ <ClCompile Include="$(ReactNativeDir)\ReactCommon\react\bridging\LongLivedObject.cpp">
142
142
  <Filter>turbomodule\core</Filter>
143
143
  </ClCompile>
144
144
  <ClCompile Include="$(ReactNativeDir)\ReactCommon\react\nativemodule\core\ReactCommon\TurboCxxModule.cpp">
@@ -279,6 +279,9 @@
279
279
  <ClInclude Include="$(ReactNativeDir)\ReactCommon\react\nativemodule\core\ReactCommon\TurboModuleBinding.h">
280
280
  <Filter>turbomodule\core</Filter>
281
281
  </ClInclude>
282
+ <ClInclude Include="$(ReactNativeDir)\ReactCommon\react\bridging\CallbackWrapper.h">
283
+ <Filter>turbomodule\core</Filter>
284
+ </ClInclude>
282
285
  <ClInclude Include="$(ReactNativeDir)\ReactCommon\react\nativemodule\core\ReactCommon\TurboModuleUtils.h">
283
286
  <Filter>turbomodule\core</Filter>
284
287
  </ClInclude>