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
@@ -70,7 +70,7 @@ struct IFuture : IUnknown {
70
70
  virtual void AddContinuation(Mso::CntPtr<IFuture> &&continuation) noexcept = 0;
71
71
 
72
72
  _Success_(
73
- return ) virtual bool TryStartSetValue(_Out_ ByteArrayView &valueBuffer, bool crashIfFailed = false) noexcept = 0;
73
+ return) virtual bool TryStartSetValue(_Out_ ByteArrayView &valueBuffer, bool crashIfFailed = false) noexcept = 0;
74
74
  virtual void Post() noexcept = 0;
75
75
  virtual void StartAwaiting() noexcept = 0;
76
76
  virtual bool TrySetSuccess(bool crashIfFailed = false) noexcept = 0;
@@ -81,7 +81,7 @@ struct IFuture : IUnknown {
81
81
  virtual bool IsFailed() const noexcept = 0;
82
82
 
83
83
  template <class T, class... TArgs>
84
- void SetValue(TArgs &&... args) noexcept {
84
+ void SetValue(TArgs &&...args) noexcept {
85
85
  ByteArrayView valueBuffer;
86
86
  (void)TryStartSetValue(/*ref*/ valueBuffer, /*crashIfFailed:*/ true);
87
87
  ::new (valueBuffer.VoidDataChecked(sizeof(T))) T(std::forward<TArgs>(args)...);
@@ -89,7 +89,7 @@ struct IFuture : IUnknown {
89
89
  }
90
90
 
91
91
  template <class T, class... TArgs>
92
- bool TrySetValue(TArgs &&... args) noexcept {
92
+ bool TrySetValue(TArgs &&...args) noexcept {
93
93
  ByteArrayView valueBuffer;
94
94
  if (TryStartSetValue(/*ref*/ valueBuffer)) {
95
95
  ::new (valueBuffer.VoidDataChecked(sizeof(T))) T(std::forward<TArgs>(args)...);
@@ -15,7 +15,7 @@ namespace Mso::Futures {
15
15
  template <class TResult, bool isNoExcept>
16
16
  struct MaybeInvoker {
17
17
  template <class TCallback, class... TArgs>
18
- static auto Invoke(TCallback &&callback, TArgs &&... args) noexcept {
18
+ static auto Invoke(TCallback &&callback, TArgs &&...args) noexcept {
19
19
  OACR_WARNING_SUPPRESS(UNNECESSARY_TRY_CATCH, "Here we only execute lambdas that have no noexcept");
20
20
  try {
21
21
  return Mso::Maybe<TResult>(callback(std::forward<TArgs>(args)...));
@@ -29,7 +29,7 @@ struct MaybeInvoker {
29
29
  template <class TResult>
30
30
  struct MaybeInvoker<TResult, /*isNoExcept:*/ true> {
31
31
  template <class TCallback, class... TArgs>
32
- static auto Invoke(TCallback &&callback, TArgs &&... args) noexcept {
32
+ static auto Invoke(TCallback &&callback, TArgs &&...args) noexcept {
33
33
  return Mso::Maybe<TResult>(callback(std::forward<TArgs>(args)...));
34
34
  }
35
35
  };
@@ -38,7 +38,7 @@ struct MaybeInvoker<TResult, /*isNoExcept:*/ true> {
38
38
  template <>
39
39
  struct MaybeInvoker<void, /*isNoExcept:*/ false> {
40
40
  template <class TCallback, class... TArgs>
41
- static auto Invoke(TCallback &&callback, TArgs &&... args) noexcept {
41
+ static auto Invoke(TCallback &&callback, TArgs &&...args) noexcept {
42
42
  OACR_WARNING_SUPPRESS(UNNECESSARY_TRY_CATCH, "Here we only execute lambdas that have no noexcept");
43
43
  try {
44
44
  callback(std::forward<TArgs>(args)...);
@@ -53,7 +53,7 @@ struct MaybeInvoker<void, /*isNoExcept:*/ false> {
53
53
  template <>
54
54
  struct MaybeInvoker<void, /*isNoExcept:*/ true> {
55
55
  template <class TCallback, class... TArgs>
56
- static auto Invoke(TCallback &&callback, TArgs &&... args) noexcept {
56
+ static auto Invoke(TCallback &&callback, TArgs &&...args) noexcept {
57
57
  callback(std::forward<TArgs>(args)...);
58
58
  return Mso::Maybe<void>();
59
59
  }
@@ -63,7 +63,7 @@ struct MaybeInvoker<void, /*isNoExcept:*/ true> {
63
63
  template <class T>
64
64
  struct MaybeInvoker<Mso::Maybe<T>, /*isNoExcept:*/ false> {
65
65
  template <class TCallback, class... TArgs>
66
- static auto Invoke(TCallback &&callback, TArgs &&... args) noexcept {
66
+ static auto Invoke(TCallback &&callback, TArgs &&...args) noexcept {
67
67
  OACR_WARNING_SUPPRESS(UNNECESSARY_TRY_CATCH, "Here we only execute lambdas that have no noexcept");
68
68
  try {
69
69
  return callback(std::forward<TArgs>(args)...);
@@ -77,7 +77,7 @@ struct MaybeInvoker<Mso::Maybe<T>, /*isNoExcept:*/ false> {
77
77
  template <class T>
78
78
  struct MaybeInvoker<Mso::Maybe<T>, /*isNoExcept:*/ true> {
79
79
  template <class TCallback, class... TArgs>
80
- static auto Invoke(TCallback &&callback, TArgs &&... args) noexcept {
80
+ static auto Invoke(TCallback &&callback, TArgs &&...args) noexcept {
81
81
  return callback(std::forward<TArgs>(args)...);
82
82
  }
83
83
  };
@@ -103,28 +103,28 @@ inline bool PromiseGroup<T>::TrySetValue(T &&value) const noexcept {
103
103
 
104
104
  template <class T>
105
105
  template <class... TArgs>
106
- inline void PromiseGroup<T>::EmplaceValue(TArgs &&... args) const noexcept {
106
+ inline void PromiseGroup<T>::EmplaceValue(TArgs &&...args) const noexcept {
107
107
  VerifyElseCrashSzTag(!m_state.IsEmpty(), "State is empty.", 0x0150d40b /* tag_bunql */);
108
108
  m_state->SetValue<T>(std::forward<TArgs>(args)...);
109
109
  }
110
110
 
111
111
  template <class T>
112
112
  template <class TArg, class... TArgs>
113
- inline void PromiseGroup<T>::EmplaceValue(std::initializer_list<TArg> init, TArgs &&... args) const noexcept {
113
+ inline void PromiseGroup<T>::EmplaceValue(std::initializer_list<TArg> init, TArgs &&...args) const noexcept {
114
114
  VerifyElseCrashSzTag(!m_state.IsEmpty(), "State is empty.", 0x0150d40c /* tag_bunqm */);
115
115
  m_state->SetValue<T>(init, std::forward<TArgs>(args)...);
116
116
  }
117
117
 
118
118
  template <class T>
119
119
  template <class... TArgs>
120
- inline bool PromiseGroup<T>::TryEmplaceValue(TArgs &&... args) const noexcept {
120
+ inline bool PromiseGroup<T>::TryEmplaceValue(TArgs &&...args) const noexcept {
121
121
  VerifyElseCrashSzTag(!m_state.IsEmpty(), "State is empty.", 0x0150d40d /* tag_bunqn */);
122
122
  return m_state->TrySetValue<T>(std::forward<TArgs>(args)...);
123
123
  }
124
124
 
125
125
  template <class T>
126
126
  template <class TArg, class... TArgs>
127
- inline bool PromiseGroup<T>::TryEmplaceValue(std::initializer_list<TArg> init, TArgs &&... args) const noexcept {
127
+ inline bool PromiseGroup<T>::TryEmplaceValue(std::initializer_list<TArg> init, TArgs &&...args) const noexcept {
128
128
  VerifyElseCrashSzTag(!m_state.IsEmpty(), "State is empty.", 0x0150d40e /* tag_bunqo */);
129
129
  return m_state->TrySetValue<T>(init, std::forward<TArgs>(args)...);
130
130
  }
@@ -132,28 +132,28 @@ inline bool Promise<T>::TrySetValue(Mso::Maybe<T> &&value) const noexcept {
132
132
 
133
133
  template <class T>
134
134
  template <class... TArgs>
135
- inline void Promise<T>::EmplaceValue(TArgs &&... args) const noexcept {
135
+ inline void Promise<T>::EmplaceValue(TArgs &&...args) const noexcept {
136
136
  VerifyElseCrashSzTag(!m_state.IsEmpty(), "State is empty.", 0x012ca405 /* tag_blkqf */);
137
137
  this->m_state->template SetValue<T>(std::forward<TArgs>(args)...);
138
138
  }
139
139
 
140
140
  template <class T>
141
141
  template <class TArg, class... TArgs>
142
- inline void Promise<T>::EmplaceValue(std::initializer_list<TArg> init, TArgs &&... args) const noexcept {
142
+ inline void Promise<T>::EmplaceValue(std::initializer_list<TArg> init, TArgs &&...args) const noexcept {
143
143
  VerifyElseCrashSzTag(!m_state.IsEmpty(), "State is empty.", 0x016056ce /* tag_byf1o */);
144
144
  m_state->SetValue<T>(init, std::forward<TArgs>(args)...);
145
145
  }
146
146
 
147
147
  template <class T>
148
148
  template <class... TArgs>
149
- inline bool Promise<T>::TryEmplaceValue(TArgs &&... args) const noexcept {
149
+ inline bool Promise<T>::TryEmplaceValue(TArgs &&...args) const noexcept {
150
150
  VerifyElseCrashSzTag(!m_state.IsEmpty(), "State is empty.", 0x012ca406 /* tag_blkqg */);
151
151
  return m_state->TrySetValue<T>(std::forward<TArgs>(args)...);
152
152
  }
153
153
 
154
154
  template <class T>
155
155
  template <class TArg, class... TArgs>
156
- inline bool Promise<T>::TryEmplaceValue(std::initializer_list<TArg> init, TArgs &&... args) const noexcept {
156
+ inline bool Promise<T>::TryEmplaceValue(std::initializer_list<TArg> init, TArgs &&...args) const noexcept {
157
157
  VerifyElseCrashSzTag(!m_state.IsEmpty(), "State is empty.", 0x016056cf /* tag_byf1p */);
158
158
  return m_state->TrySetValue<T>(init, std::forward<TArgs>(args)...);
159
159
  }
@@ -75,8 +75,8 @@ template <class TFutureValue, class TExecutor, class TCallback>
75
75
  struct GetResultTraits<TFutureValue, TExecutor, TCallback, CallbackArgKind::Maybe> {
76
76
  using Type = ResultTraits<
77
77
  TFutureValue,
78
- decltype(
79
- std::declval<TExecutor>().Invoke(std::declval<TCallback>(), std::declval<Mso::Maybe<TFutureValue> &&>()))>;
78
+ decltype(std::declval<TExecutor>()
79
+ .Invoke(std::declval<TCallback>(), std::declval<Mso::Maybe<TFutureValue> &&>()))>;
80
80
  static_assert(
81
81
  noexcept(
82
82
  std::declval<TExecutor>().Invoke(std::declval<TCallback>(), std::declval<Mso::Maybe<TFutureValue> &&>())),
@@ -87,8 +87,8 @@ template <class TFutureValue, class TExecutor, class TCallback>
87
87
  struct GetResultTraits<TFutureValue, TExecutor, TCallback, CallbackArgKind::MaybeRef> {
88
88
  using Type = ResultTraits<
89
89
  TFutureValue,
90
- decltype(
91
- std::declval<TExecutor>().Invoke(std::declval<TCallback>(), std::declval<Mso::Maybe<TFutureValue> &>()))>;
90
+ decltype(std::declval<TExecutor>()
91
+ .Invoke(std::declval<TCallback>(), std::declval<Mso::Maybe<TFutureValue> &>()))>;
92
92
  static_assert(
93
93
  noexcept(std::declval<TExecutor>().Invoke(std::declval<TCallback>(), std::declval<Mso::Maybe<TFutureValue> &>())),
94
94
  "Executor's Invoke method must not throw");
@@ -289,7 +289,7 @@ inline Future<void> WhenAll(Future<void> (&futures)[size]) noexcept {
289
289
  }
290
290
 
291
291
  template <class T0, class... Ts>
292
- Future<std::tuple<T0, Ts...>> WhenAll(const Future<T0> &future0, const Future<Ts> &... futures) noexcept {
292
+ Future<std::tuple<T0, Ts...>> WhenAll(const Future<T0> &future0, const Future<Ts> &...futures) noexcept {
293
293
  using ResultType = std::tuple<T0, Ts...>;
294
294
  using TaskType = Mso::Futures::WhenAllFutureTask<void>;
295
295
  const size_t taskSize = TaskType::GetTaskSize(1 + sizeof...(Ts));
@@ -86,11 +86,11 @@ Future<void> MakeCompletedFuture() noexcept;
86
86
 
87
87
  //! Create an instance of completed Mso::Future<T> from a value created in-place.
88
88
  template <class T, class... TArgs>
89
- Future<T> MakeCompletedFutureEmplaced(TArgs &&... args) noexcept;
89
+ Future<T> MakeCompletedFutureEmplaced(TArgs &&...args) noexcept;
90
90
 
91
91
  //! Create an instance of completed Mso::Future<T> from a value created in-place.
92
92
  template <class T, class U, class... TArgs>
93
- Future<T> MakeCompletedFutureEmplaced(std::initializer_list<U> il, TArgs &&... args) noexcept;
93
+ Future<T> MakeCompletedFutureEmplaced(std::initializer_list<U> il, TArgs &&...args) noexcept;
94
94
 
95
95
  //! Create an instance of succeeded Mso::Future<T> from a provided value.
96
96
  template <class T>
@@ -101,11 +101,11 @@ Future<void> MakeSucceededFuture() noexcept;
101
101
 
102
102
  //! Create an instance of completed Mso::Future<T> from a value created in-place.
103
103
  template <class T, class... TArgs>
104
- Future<T> MakeSucceededFutureEmplaced(TArgs &&... args) noexcept;
104
+ Future<T> MakeSucceededFutureEmplaced(TArgs &&...args) noexcept;
105
105
 
106
106
  //! Create an instance of completed Mso::Future<T> from a value created in-place.
107
107
  template <class T, class U, class... TArgs>
108
- Future<T> MakeSucceededFutureEmplaced(std::initializer_list<U> il, TArgs &&... args) noexcept;
108
+ Future<T> MakeSucceededFutureEmplaced(std::initializer_list<U> il, TArgs &&...args) noexcept;
109
109
 
110
110
  //! Create an instance of Mso::Future<T> with error code.
111
111
  template <class T>
@@ -169,7 +169,7 @@ LIBLET_PUBLICAPI Future<void> WhenAll(const std::vector<Future<void>> &futures)
169
169
  //! Each future may have its own return type.
170
170
  //! Returns Future<std::tuple<Ts...>>.
171
171
  template <class T0, class... Ts>
172
- Future<std::tuple<T0, Ts...>> WhenAll(const Future<T0> &future0, const Future<Ts> &... futures) noexcept;
172
+ Future<std::tuple<T0, Ts...>> WhenAll(const Future<T0> &future0, const Future<Ts> &...futures) noexcept;
173
173
 
174
174
  //=============================================================================
175
175
  // Mso::WhenAny overloads.
@@ -315,19 +315,19 @@ struct Promise {
315
315
 
316
316
  /// Sets the value in-place and completes the Promise. It can be called only once. Otherwise it crashes the app.
317
317
  template <class... TArgs>
318
- void EmplaceValue(TArgs &&... args) const noexcept;
318
+ void EmplaceValue(TArgs &&...args) const noexcept;
319
319
 
320
320
  /// Sets the value in-place and completes the PromiseGroup. It can be called only once. Otherwise it VECs.
321
321
  template <class TArg, class... TArgs>
322
- void EmplaceValue(std::initializer_list<TArg> init, TArgs &&... args) const noexcept;
322
+ void EmplaceValue(std::initializer_list<TArg> init, TArgs &&...args) const noexcept;
323
323
 
324
324
  /// Tries to set the value in-place if Promise is not completed or abandoned yet. Returns true on success.
325
325
  template <class... TArgs>
326
- bool TryEmplaceValue(TArgs &&... args) const noexcept;
326
+ bool TryEmplaceValue(TArgs &&...args) const noexcept;
327
327
 
328
328
  /// Tries to set the value in-place if PromiseGroup is not completed or abandoned yet. Returns true on success.
329
329
  template <class TArg, class... TArgs>
330
- bool TryEmplaceValue(std::initializer_list<TArg> init, TArgs &&... args) const noexcept;
330
+ bool TryEmplaceValue(std::initializer_list<TArg> init, TArgs &&...args) const noexcept;
331
331
 
332
332
  /// Tries to set Promise to Failed state with a CancellationError. Returns true if cancel succeeded.
333
333
  bool TryCancel() const noexcept;
@@ -809,19 +809,19 @@ struct PromiseGroup {
809
809
 
810
810
  /// Sets the value in-place and completes the PromiseGroup. It can be called only once. Otherwise it VECs.
811
811
  template <class... TArgs>
812
- void EmplaceValue(TArgs &&... args) const noexcept;
812
+ void EmplaceValue(TArgs &&...args) const noexcept;
813
813
 
814
814
  /// Sets the value in-place and completes the PromiseGroup. It can be called only once. Otherwise it VECs.
815
815
  template <class TArg, class... TArgs>
816
- void EmplaceValue(std::initializer_list<TArg> init, TArgs &&... args) const noexcept;
816
+ void EmplaceValue(std::initializer_list<TArg> init, TArgs &&...args) const noexcept;
817
817
 
818
818
  /// Tries to set the value in-place if PromiseGroup is not completed or abandoned yet. Returns true on success.
819
819
  template <class... TArgs>
820
- bool TryEmplaceValue(TArgs &&... args) const noexcept;
820
+ bool TryEmplaceValue(TArgs &&...args) const noexcept;
821
821
 
822
822
  /// Tries to set the value in-place if PromiseGroup is not completed or abandoned yet. Returns true on success.
823
823
  template <class TArg, class... TArgs>
824
- bool TryEmplaceValue(std::initializer_list<TArg> init, TArgs &&... args) const noexcept;
824
+ bool TryEmplaceValue(std::initializer_list<TArg> init, TArgs &&...args) const noexcept;
825
825
 
826
826
  /// Tries to set Promise to Failed state with the provided error code. It crashes app if error code cannot be set.
827
827
  void SetError(const ErrorCode &errorCode) const noexcept;
@@ -16,7 +16,7 @@ See the msoGuid.h for the usage guidelines.
16
16
  #endif
17
17
 
18
18
  // Clang compiler must target C++11 or up to support MSO*GUIDs because we rely on constexpr.
19
- //#if (__cplusplus >= 201103L) && !defined(MSO_GUID_DISABLED)
19
+ // #if (__cplusplus >= 201103L) && !defined(MSO_GUID_DISABLED)
20
20
 
21
21
  #include "compilerAdapters/compilerFeatures.h"
22
22
  #if MS_TARGET_POSIX
@@ -30,7 +30,7 @@ namespace Details {
30
30
  template <typename T>
31
31
  struct Emplacer {
32
32
  template <typename... Args>
33
- static void Place(_Inout_updates_bytes_all_(sizeof(T)) void *mem, Args &&... args) noexcept {
33
+ static void Place(_Inout_updates_bytes_all_(sizeof(T)) void *mem, Args &&...args) noexcept {
34
34
  new (mem) T(std::forward<Args>(args)...);
35
35
  }
36
36
  };
@@ -38,7 +38,7 @@ struct Emplacer {
38
38
  template <typename T, size_t N>
39
39
  struct Emplacer<T[N]> {
40
40
  template <typename... Args>
41
- static void Place(void *mem, Args &&... args) {
41
+ static void Place(void *mem, Args &&...args) {
42
42
  new (mem) T[N]{std::forward<Args>(args)...};
43
43
  }
44
44
  };
@@ -116,14 +116,18 @@ Disambiguator used to ensure a throwing new
116
116
  new (Mso::Memory::throwNew) Zoo();
117
117
  */
118
118
  OACR_WARNING_SUPPRESS(SPECIFY_SELECTANY, "Not needed for marker type")
119
- static const struct throwNew_t { throwNew_t() noexcept = default; } throwNew;
119
+ static const struct throwNew_t {
120
+ throwNew_t() noexcept = default;
121
+ } throwNew;
120
122
 
121
123
  /**
122
124
  Disambiguator used to ensure a crashing new
123
125
  new (Mso::Memory::failFast) Zoo();
124
126
  */
125
127
  OACR_WARNING_SUPPRESS(SPECIFY_SELECTANY, "Not needed for marker type")
126
- static const struct failFast_t { failFast_t() noexcept = default; } failFast;
128
+ static const struct failFast_t {
129
+ failFast_t() noexcept = default;
130
+ } failFast;
127
131
 
128
132
  /**
129
133
  Construct a object of type `T` stored at `mem`.
@@ -131,7 +135,7 @@ Construct a object of type `T` stored at `mem`.
131
135
  Arguments are forwarded to constructor of `T`.
132
136
  */
133
137
  template <typename T, typename... Args>
134
- static void Place(__inout_bcount(sizeof(T)) void *mem, Args &&... args) {
138
+ static void Place(__inout_bcount(sizeof(T)) void *mem, Args &&...args) {
135
139
  Details::Emplacer<T>::Place(mem, std::forward<Args>(args)...);
136
140
  }
137
141
 
@@ -187,7 +191,9 @@ namespace NoThrow {
187
191
  new (Mso::Memory::NoThrow::MarkingLeak) Zoo();
188
192
  */
189
193
  OACR_WARNING_SUPPRESS(SPECIFY_SELECTANY, "Not needed for marker type")
190
- static const struct MarkingLeak_t { MarkingLeak_t() noexcept = default; } MarkingLeak;
194
+ static const struct MarkingLeak_t {
195
+ MarkingLeak_t() noexcept = default;
196
+ } MarkingLeak;
191
197
 
192
198
  } // namespace NoThrow
193
199
  } // namespace Memory
@@ -205,7 +211,7 @@ Allocates object T by passing args to its constructor.
205
211
  */
206
212
  template <typename T, typename... TArgs>
207
213
  OACR_WARNING_SUPPRESS(NULL_ON_NON_POINTER, "false positive")
208
- _Ret_notnull_ T *New(TArgs &&... t) {
214
+ _Ret_notnull_ T *New(TArgs &&...t) {
209
215
  Debug(Mso::Memory::AutoShutdownLeakScope scope);
210
216
  T *pT = new (std::nothrow) T(std::forward<TArgs>(t)...);
211
217
  if (pT == nullptr)
@@ -32,7 +32,7 @@ struct GTestFixture : ::testing::Test {
32
32
  std::unique_ptr<TestClass> m_test;
33
33
  };
34
34
 
35
- template <int &... ExplicitParameterBarrier, typename Factory>
35
+ template <int &...ExplicitParameterBarrier, typename Factory>
36
36
  inline auto RegisterTest(
37
37
  const char *test_suite_name,
38
38
  const char *test_name,
@@ -31,15 +31,13 @@
31
31
  \
32
32
  struct className : Mso::UnitTests::Internal::TestClassBase<className, TestClassInfo_##className>
33
33
 
34
- #define TEST_METHOD(methodName) \
35
- struct TestMethodInfo_##methodName final \
36
- : Mso::UnitTests::Internal::TestMethodInfoReg<TestMethodInfo_##methodName> { \
37
- TestMethodInfo_##methodName() : TestMethodInfoRegType{TestClassInfoType::Instance, #methodName, __LINE__} {} \
38
- \
39
- void Invoke(Mso::UnitTests::TestClass &test) const override { \
40
- static_cast<TestClassType &>(test).methodName(); \
41
- } \
42
- }; \
34
+ #define TEST_METHOD(methodName) \
35
+ struct TestMethodInfo_##methodName final \
36
+ : Mso::UnitTests::Internal::TestMethodInfoReg<TestMethodInfo_##methodName> { \
37
+ TestMethodInfo_##methodName() : TestMethodInfoRegType{TestClassInfoType::Instance, #methodName, __LINE__} {} \
38
+ \
39
+ void Invoke(Mso::UnitTests::TestClass &test) const override { static_cast<TestClassType &>(test).methodName(); } \
40
+ }; \
43
41
  virtual void methodName()
44
42
 
45
43
  #define TESTMETHOD_REQUIRES_SEH(methodName) TEST_METHOD(methodName)
package/Mso/object/make.h CHANGED
@@ -23,7 +23,7 @@ namespace Mso {
23
23
  // ValidateObject throws, or when some of the lambda's are inlined...
24
24
 
25
25
  template <typename T, typename TResult = T, typename... TArgs>
26
- inline Mso::CntPtr<TResult> Make(TArgs &&... args) noexcept(T::MakePolicy::IsNoExcept) {
26
+ inline Mso::CntPtr<TResult> Make(TArgs &&...args) noexcept(T::MakePolicy::IsNoExcept) {
27
27
  typename T::RefCountPolicy::template MemoryGuard<T> memoryGuard = {};
28
28
  T::RefCountPolicy::AllocateMemory(memoryGuard);
29
29
  VerifyAllocElseCrashTag(memoryGuard.ObjMemory, 0x01117748 /* tag_bex3i */);
@@ -47,7 +47,7 @@ inline Mso::CntPtr<TResult> Make(TArgs &&... args) noexcept(T::MakePolicy::IsNoE
47
47
  Method MakeAlloc is noexcept depending on the Make policy IsNoExcept value.
48
48
  */
49
49
  template <typename T, typename TResult = T, typename TAllocArg, typename... TArgs>
50
- inline Mso::CntPtr<TResult> MakeAlloc(TAllocArg &&allocArg, TArgs &&... args) noexcept(T::MakePolicy::IsNoExcept) {
50
+ inline Mso::CntPtr<TResult> MakeAlloc(TAllocArg &&allocArg, TArgs &&...args) noexcept(T::MakePolicy::IsNoExcept) {
51
51
  typename T::RefCountPolicy::template MemoryGuard<T> memoryGuard = {};
52
52
  T::RefCountPolicy::AllocateMemory(memoryGuard, std::forward<TAllocArg>(allocArg));
53
53
  VerifyAllocElseCrashTag(memoryGuard.ObjMemory, 0x01117749 /* tag_bex3j */);
@@ -70,7 +70,7 @@ inline Mso::CntPtr<TResult> MakeAlloc(TAllocArg &&allocArg, TArgs &&... args) no
70
70
  Method MakeElseNull is noexcept depending on the Make policy IsNoExcept value.
71
71
  */
72
72
  template <typename T, typename TResult = T, typename... TArgs>
73
- inline Mso::CntPtr<TResult> MakeElseNull(TArgs &&... args) noexcept(T::MakePolicy::IsNoExcept) {
73
+ inline Mso::CntPtr<TResult> MakeElseNull(TArgs &&...args) noexcept(T::MakePolicy::IsNoExcept) {
74
74
  Mso::CntPtr<TResult> result; // Hopefully we can benefit from NRVO
75
75
 
76
76
  typename T::RefCountPolicy::template MemoryGuard<T> memoryGuard = {};
@@ -98,7 +98,7 @@ inline Mso::CntPtr<TResult> MakeElseNull(TArgs &&... args) noexcept(T::MakePolic
98
98
  Method MakeAllocElseNull is noexcept depending on the Make policy IsNoExcept value.
99
99
  */
100
100
  template <typename T, typename TResult = T, typename TAllocArg, typename... TArgs>
101
- inline Mso::CntPtr<TResult> MakeAllocElseNull(TAllocArg &&allocArg, TArgs &&... args) noexcept(
101
+ inline Mso::CntPtr<TResult> MakeAllocElseNull(TAllocArg &&allocArg, TArgs &&...args) noexcept(
102
102
  T::MakePolicy::IsNoExcept) {
103
103
  Mso::CntPtr<TResult> result; // Hopefully we can benefit from NRVO
104
104
 
@@ -125,7 +125,7 @@ struct ThrowCtor {
125
125
  static const bool IsNoExcept = false;
126
126
 
127
127
  template <typename T, typename TMemoryGuard, typename... TArgs>
128
- static void Make(TMemoryGuard &memoryGuard, TArgs &&... args) {
128
+ static void Make(TMemoryGuard &memoryGuard, TArgs &&...args) {
129
129
  OACR_POSSIBLE_THROW;
130
130
  memoryGuard.Obj = ::new (memoryGuard.ObjMemory) T(std::forward<TArgs>(args)...);
131
131
  memoryGuard.ObjMemory = nullptr; // Memory is now controlled by the object. Set to null to avoid memory destruction.
@@ -139,7 +139,7 @@ struct NoThrowCtor {
139
139
  static const bool IsNoExcept = true;
140
140
 
141
141
  template <typename T, typename TMemoryGuard, typename... TArgs>
142
- static void Make(TMemoryGuard &memoryGuard, TArgs &&... args) noexcept {
142
+ static void Make(TMemoryGuard &memoryGuard, TArgs &&...args) noexcept {
143
143
  memoryGuard.Obj = ::new (memoryGuard.ObjMemory) T(std::forward<TArgs>(args)...);
144
144
  memoryGuard.ObjMemory = nullptr; // Memory is now controlled by the object. Set to null to avoid memory destruction.
145
145
  }
@@ -152,7 +152,7 @@ struct ThrowCtorAndInitializeThis {
152
152
  static const bool IsNoExcept = false;
153
153
 
154
154
  template <typename T, typename TMemoryGuard, typename... TArgs>
155
- static void Make(TMemoryGuard &memoryGuard, TArgs &&... args) {
155
+ static void Make(TMemoryGuard &memoryGuard, TArgs &&...args) {
156
156
  OACR_POSSIBLE_THROW;
157
157
  memoryGuard.Obj = ::new (memoryGuard.ObjMemory) T();
158
158
  memoryGuard.ObjMemory = nullptr; // Memory is now controlled by the object. Set to null to avoid memory destruction.
@@ -167,7 +167,7 @@ struct NoThrowCtorAndInitializeThis {
167
167
  static const bool IsNoExcept = true;
168
168
 
169
169
  template <typename T, typename TMemoryGuard, typename... TArgs>
170
- static void Make(TMemoryGuard &memoryGuard, TArgs &&... args) noexcept {
170
+ static void Make(TMemoryGuard &memoryGuard, TArgs &&...args) noexcept {
171
171
  memoryGuard.Obj = ::new (memoryGuard.ObjMemory) T();
172
172
  memoryGuard.ObjMemory = nullptr; // Memory is now controlled by the object. Set to null to avoid memory destruction.
173
173
  memoryGuard.Obj->InitializeThis(std::forward<TArgs>(args)...);
@@ -18,9 +18,7 @@
18
18
 
19
19
  #define MSO_OBJECT_SIMPLEREFCOUNT(TObject) \
20
20
  public: \
21
- bool IsUniqueRef() const noexcept { \
22
- return m_refCount.load(std::memory_order_acquire) == 1; \
23
- } \
21
+ bool IsUniqueRef() const noexcept { return m_refCount.load(std::memory_order_acquire) == 1; } \
24
22
  Debug(uint32_t RefCount() const noexcept { return m_refCount.load(std::memory_order_acquire); }) \
25
23
  \
26
24
  template <typename UseMsoMakeInsteadOfOperatorNew> \
@@ -169,7 +167,7 @@ class RefCountedWrapper : public RefCountedWrapperBase, public T {
169
167
  using MakePolicy = Mso::MakePolicy::ThrowCtor;
170
168
 
171
169
  template <typename... U>
172
- RefCountedWrapper(U &&... args) noexcept : T(std::forward<U>(args)...) {}
170
+ RefCountedWrapper(U &&...args) noexcept : T(std::forward<U>(args)...) {}
173
171
  };
174
172
 
175
173
  /**
@@ -193,7 +191,7 @@ template <typename T>
193
191
  using RefCountedPtr = Mso::CntPtr<RefCountedWrapper<T>>;
194
192
 
195
193
  template <typename T, typename... U>
196
- RefCountedPtr<T> Make_RefCounted(U &&... args) noexcept {
194
+ RefCountedPtr<T> Make_RefCounted(U &&...args) noexcept {
197
195
  return Mso::Make<RefCountedWrapper<T>>(std::forward<U>(args)...);
198
196
  }
199
197
 
@@ -65,18 +65,14 @@
65
65
  // CntPtr and get a pointer to the ObjectWeakRef using the base ObjectWithWeakRef class.
66
66
  //
67
67
 
68
- #define MSO_OBJECT_WEAKREFCOUNT(TObject) \
69
- public: \
70
- Mso::ObjectWeakRef &GetWeakRef() const noexcept { \
71
- return *Mso::Details::GetWeakRef(this); \
72
- } \
73
- bool IsUniqueRef() const noexcept { \
74
- return GetWeakRef().IsUniqueRef(); \
75
- } \
76
- Debug(uint32_t RefCount() const noexcept { return GetWeakRef().RefCount(); }) \
77
- \
78
- template <typename UseMsoMakeInsteadOfOperatorNew> \
79
- void *operator new(size_t, UseMsoMakeInsteadOfOperatorNew * = nullptr); \
68
+ #define MSO_OBJECT_WEAKREFCOUNT(TObject) \
69
+ public: \
70
+ Mso::ObjectWeakRef &GetWeakRef() const noexcept { return *Mso::Details::GetWeakRef(this); } \
71
+ bool IsUniqueRef() const noexcept { return GetWeakRef().IsUniqueRef(); } \
72
+ Debug(uint32_t RefCount() const noexcept { return GetWeakRef().RefCount(); }) \
73
+ \
74
+ template <typename UseMsoMakeInsteadOfOperatorNew> \
75
+ void *operator new(size_t, UseMsoMakeInsteadOfOperatorNew * = nullptr); \
80
76
  MSO_NO_COPY_CTOR_AND_ASSIGNMENT(TObject)
81
77
 
82
78
  namespace Mso {
@@ -315,7 +311,7 @@ template <
315
311
  typename TResult = T,
316
312
  typename TContainer = ObjectWeakRefContainer<T, ObjectWeakRef>,
317
313
  typename... TArgs>
318
- inline Mso::CntPtr<TResult> MakeWeakRefObject(TArgs &&... args) noexcept(T::MakePolicy::IsNoExcept) {
314
+ inline Mso::CntPtr<TResult> MakeWeakRefObject(TArgs &&...args) noexcept(T::MakePolicy::IsNoExcept) {
319
315
  typename T::RefCountPolicy::template MemoryGuard<T, TContainer> memoryGuard = {};
320
316
  T::RefCountPolicy::AllocateMemory(memoryGuard);
321
317
  VerifyAllocElseCrashTag(memoryGuard.ObjMemory, 0x0111774a /* tag_bex3k */);
@@ -344,7 +340,7 @@ template <
344
340
  typename TContainer = ObjectWeakRefContainer<T, ObjectWeakRef>,
345
341
  typename TAllocArg,
346
342
  typename... TArgs>
347
- inline Mso::CntPtr<TResult> MakeAllocWeakRefObject(TAllocArg &&allocArg, TArgs &&... args) noexcept(
343
+ inline Mso::CntPtr<TResult> MakeAllocWeakRefObject(TAllocArg &&allocArg, TArgs &&...args) noexcept(
348
344
  T::MakePolicy::IsNoExcept) {
349
345
  typename T::RefCountPolicy::template MemoryGuard<T, TContainer> memoryGuard = {};
350
346
  T::RefCountPolicy::AllocateMemory(memoryGuard, std::forward<TAllocArg>(allocArg));
@@ -159,7 +159,7 @@ class DECLSPEC_NOVTABLE QueryCastChain : public T {
159
159
 
160
160
  protected:
161
161
  template <typename... TArgs>
162
- QueryCastChain(TArgs &&... args) noexcept : T(std::forward<TArgs>(args)...) {}
162
+ QueryCastChain(TArgs &&...args) noexcept : T(std::forward<TArgs>(args)...) {}
163
163
 
164
164
  private:
165
165
  // Recursively calls itself while we have two or more base types.
@@ -205,7 +205,7 @@ class DECLSPEC_NOVTABLE QueryCastGuid : public T {
205
205
 
206
206
  protected:
207
207
  template <typename... TArgs>
208
- QueryCastGuid(TArgs &&... args) noexcept : T(std::forward<TArgs>(args)...) {}
208
+ QueryCastGuid(TArgs &&...args) noexcept : T(std::forward<TArgs>(args)...) {}
209
209
  };
210
210
 
211
211
  /// Implements the QueryCast that does not do any query cast for a type.
@@ -221,7 +221,7 @@ class DECLSPEC_NOVTABLE QueryCastHidden : public T {
221
221
 
222
222
  protected:
223
223
  template <typename... TArgs>
224
- QueryCastHidden(TArgs &&... args) noexcept : T(std::forward<TArgs>(args)...) {}
224
+ QueryCastHidden(TArgs &&...args) noexcept : T(std::forward<TArgs>(args)...) {}
225
225
  };
226
226
 
227
227
  /// Delegates the QueryCast implementation to the list of the base types.
@@ -235,7 +235,7 @@ class DECLSPEC_NOVTABLE QueryCastList : public TBase0, public TBases... {
235
235
 
236
236
  protected:
237
237
  template <typename... TArgs>
238
- QueryCastList(TArgs &&... args) noexcept : TBase0(std::forward<TArgs>(args)...) {}
238
+ QueryCastList(TArgs &&...args) noexcept : TBase0(std::forward<TArgs>(args)...) {}
239
239
 
240
240
  public:
241
241
  void *QueryCast(const GUID &riid) noexcept {
@@ -313,7 +313,7 @@ class RefCountedObject : public TBaseType0, public TBaseTypes... {
313
313
 
314
314
  protected:
315
315
  template <typename... TArgs>
316
- RefCountedObject(TArgs &&... args) noexcept : TBaseType0(std::forward<TArgs>(args)...) {}
316
+ RefCountedObject(TArgs &&...args) noexcept : TBaseType0(std::forward<TArgs>(args)...) {}
317
317
 
318
318
  virtual ~RefCountedObject() = default;
319
319
 
@@ -351,7 +351,7 @@ class RefCountedObject<Mso::SimpleRefCountPolicy<TDeleter, TAllocator>, TBaseTyp
351
351
 
352
352
  protected:
353
353
  template <typename... TArgs>
354
- RefCountedObject(TArgs &&... args) noexcept : TBaseType0(std::forward<TArgs>(args)...) {}
354
+ RefCountedObject(TArgs &&...args) noexcept : TBaseType0(std::forward<TArgs>(args)...) {}
355
355
 
356
356
  virtual ~RefCountedObject() = default;
357
357
 
@@ -382,7 +382,7 @@ class RefCountedObject<Mso::WeakRefCountPolicy<TDeleter, TAllocator>, TBaseType0
382
382
 
383
383
  protected:
384
384
  template <typename... TArgs>
385
- RefCountedObject(TArgs &&... args) noexcept : TBaseType0(std::forward<TArgs>(args)...) {}
385
+ RefCountedObject(TArgs &&...args) noexcept : TBaseType0(std::forward<TArgs>(args)...) {}
386
386
 
387
387
  virtual ~RefCountedObject() = default;
388
388
  };
@@ -396,7 +396,7 @@ class RefCountedObject<Mso::RefCountStrategy::NoRefCount, TBaseType0, TBaseTypes
396
396
  MSO_OBJECT_NOREFCOUNT(RefCountedObject);
397
397
 
398
398
  template <typename... TArgs>
399
- RefCountedObject(TArgs &&... args) noexcept : TBaseType0(std::forward<TArgs>(args)...) {}
399
+ RefCountedObject(TArgs &&...args) noexcept : TBaseType0(std::forward<TArgs>(args)...) {}
400
400
 
401
401
  void AddRef() const noexcept override {}
402
402
  void Release() const noexcept override {}