diff --git a/change/react-native-windows-85407e5a-8b6f-41fe-b146-e73c385e9b34.json b/change/react-native-windows-85407e5a-8b6f-41fe-b146-e73c385e9b34.json new file mode 100644 index 00000000000..8416a933042 --- /dev/null +++ b/change/react-native-windows-85407e5a-8b6f-41fe-b146-e73c385e9b34.json @@ -0,0 +1,7 @@ +{ + "type": "prerelease", + "comment": "RNIsland UIA fragment root should report parents fragment root", + "packageName": "react-native-windows", + "email": "30809111+acoates-ms@users.noreply.github.com", + "dependentChangeType": "patch" +} diff --git a/change/react-native-windows-db1edeae-cd39-4b02-9676-e41d36724426.json b/change/react-native-windows-db1edeae-cd39-4b02-9676-e41d36724426.json new file mode 100644 index 00000000000..4f047d4bba5 --- /dev/null +++ b/change/react-native-windows-db1edeae-cd39-4b02-9676-e41d36724426.json @@ -0,0 +1,7 @@ +{ + "type": "prerelease", + "comment": "Fix crash running on server 2016", + "packageName": "react-native-windows", + "email": "30809111+acoates-ms@users.noreply.github.com", + "dependentChangeType": "patch" +} \ No newline at end of file diff --git a/vnext/Desktop.ABITests/packages.lock.json b/vnext/Desktop.ABITests/packages.lock.json index 6041b76741f..fc0154d560a 100644 --- a/vnext/Desktop.ABITests/packages.lock.json +++ b/vnext/Desktop.ABITests/packages.lock.json @@ -10,8 +10,8 @@ }, "Microsoft.Web.WebView2": { "type": "Direct", - "requested": "[1.0.2651.64, )", - "resolved": "1.0.2651.64", + "requested": "[1.0.2792.45, )", + "resolved": "1.0.2792.45", "contentHash": "f5sc/vcAoTCTEW7Nqzp4galAuTRguZViw8ksn+Nx2uskEBPm0/ubzy6gVjvXS/P96jLS89C8T9I0hPc417xpNg==" }, "Microsoft.Windows.CppWinRT": { @@ -56,10 +56,10 @@ }, "Microsoft.WindowsAppSDK": { "type": "Transitive", - "resolved": "1.6.240923002", - "contentHash": "7PfOz2scXU+AAM/GYge+f6s7k3DVI+R1P8MNPZQr56GOPCGw+csvcg3S5KZg47z/o04kNvWH3GKtWT1ML9tpZw==", + "resolved": "1.7.250109001-experimental2", + "contentHash": "leUsCOh27uNnygO/AtohKnnvyZ+j0vaOh4oWlmiv3zs4HuCe46O04+25GennjmmwgESvahWp+RLTGMTJgdQd0Q==", "dependencies": { - "Microsoft.Web.WebView2": "1.0.2651.64", + "Microsoft.Web.WebView2": "1.0.2792.45", "Microsoft.Windows.SDK.BuildTools": "10.0.22621.756" } }, @@ -98,8 +98,8 @@ "FollyWin32": "[1.0.0, )", "Microsoft.JavaScript.Hermes": "[0.1.23, )", "Microsoft.SourceLink.GitHub": "[1.1.1, )", - "Microsoft.Web.WebView2": "[1.0.2651.64, )", - "Microsoft.WindowsAppSDK": "[1.6.240923002, )", + "Microsoft.Web.WebView2": "[1.0.2792.45, )", + "Microsoft.WindowsAppSDK": "[1.7.250109001-experimental2, )", "ReactCommon": "[1.0.0, )", "ReactNative.V8Jsi.Windows": "[0.71.8, )", "boost": "[1.83.0, )" @@ -126,16 +126,16 @@ "native,Version=v0.0/win": { "Microsoft.Web.WebView2": { "type": "Direct", - "requested": "[1.0.2651.64, )", - "resolved": "1.0.2651.64", + "requested": "[1.0.2792.45, )", + "resolved": "1.0.2792.45", "contentHash": "f5sc/vcAoTCTEW7Nqzp4galAuTRguZViw8ksn+Nx2uskEBPm0/ubzy6gVjvXS/P96jLS89C8T9I0hPc417xpNg==" }, "Microsoft.WindowsAppSDK": { "type": "Transitive", - "resolved": "1.6.240923002", - "contentHash": "7PfOz2scXU+AAM/GYge+f6s7k3DVI+R1P8MNPZQr56GOPCGw+csvcg3S5KZg47z/o04kNvWH3GKtWT1ML9tpZw==", + "resolved": "1.7.250109001-experimental2", + "contentHash": "leUsCOh27uNnygO/AtohKnnvyZ+j0vaOh4oWlmiv3zs4HuCe46O04+25GennjmmwgESvahWp+RLTGMTJgdQd0Q==", "dependencies": { - "Microsoft.Web.WebView2": "1.0.2651.64", + "Microsoft.Web.WebView2": "1.0.2792.45", "Microsoft.Windows.SDK.BuildTools": "10.0.22621.756" } } @@ -143,16 +143,16 @@ "native,Version=v0.0/win-arm64": { "Microsoft.Web.WebView2": { "type": "Direct", - "requested": "[1.0.2651.64, )", - "resolved": "1.0.2651.64", + "requested": "[1.0.2792.45, )", + "resolved": "1.0.2792.45", "contentHash": "f5sc/vcAoTCTEW7Nqzp4galAuTRguZViw8ksn+Nx2uskEBPm0/ubzy6gVjvXS/P96jLS89C8T9I0hPc417xpNg==" }, "Microsoft.WindowsAppSDK": { "type": "Transitive", - "resolved": "1.6.240923002", - "contentHash": "7PfOz2scXU+AAM/GYge+f6s7k3DVI+R1P8MNPZQr56GOPCGw+csvcg3S5KZg47z/o04kNvWH3GKtWT1ML9tpZw==", + "resolved": "1.7.250109001-experimental2", + "contentHash": "leUsCOh27uNnygO/AtohKnnvyZ+j0vaOh4oWlmiv3zs4HuCe46O04+25GennjmmwgESvahWp+RLTGMTJgdQd0Q==", "dependencies": { - "Microsoft.Web.WebView2": "1.0.2651.64", + "Microsoft.Web.WebView2": "1.0.2792.45", "Microsoft.Windows.SDK.BuildTools": "10.0.22621.756" } } @@ -160,16 +160,16 @@ "native,Version=v0.0/win-x64": { "Microsoft.Web.WebView2": { "type": "Direct", - "requested": "[1.0.2651.64, )", - "resolved": "1.0.2651.64", + "requested": "[1.0.2792.45, )", + "resolved": "1.0.2792.45", "contentHash": "f5sc/vcAoTCTEW7Nqzp4galAuTRguZViw8ksn+Nx2uskEBPm0/ubzy6gVjvXS/P96jLS89C8T9I0hPc417xpNg==" }, "Microsoft.WindowsAppSDK": { "type": "Transitive", - "resolved": "1.6.240923002", - "contentHash": "7PfOz2scXU+AAM/GYge+f6s7k3DVI+R1P8MNPZQr56GOPCGw+csvcg3S5KZg47z/o04kNvWH3GKtWT1ML9tpZw==", + "resolved": "1.7.250109001-experimental2", + "contentHash": "leUsCOh27uNnygO/AtohKnnvyZ+j0vaOh4oWlmiv3zs4HuCe46O04+25GennjmmwgESvahWp+RLTGMTJgdQd0Q==", "dependencies": { - "Microsoft.Web.WebView2": "1.0.2651.64", + "Microsoft.Web.WebView2": "1.0.2792.45", "Microsoft.Windows.SDK.BuildTools": "10.0.22621.756" } } @@ -177,16 +177,16 @@ "native,Version=v0.0/win-x86": { "Microsoft.Web.WebView2": { "type": "Direct", - "requested": "[1.0.2651.64, )", - "resolved": "1.0.2651.64", + "requested": "[1.0.2792.45, )", + "resolved": "1.0.2792.45", "contentHash": "f5sc/vcAoTCTEW7Nqzp4galAuTRguZViw8ksn+Nx2uskEBPm0/ubzy6gVjvXS/P96jLS89C8T9I0hPc417xpNg==" }, "Microsoft.WindowsAppSDK": { "type": "Transitive", - "resolved": "1.6.240923002", - "contentHash": "7PfOz2scXU+AAM/GYge+f6s7k3DVI+R1P8MNPZQr56GOPCGw+csvcg3S5KZg47z/o04kNvWH3GKtWT1ML9tpZw==", + "resolved": "1.7.250109001-experimental2", + "contentHash": "leUsCOh27uNnygO/AtohKnnvyZ+j0vaOh4oWlmiv3zs4HuCe46O04+25GennjmmwgESvahWp+RLTGMTJgdQd0Q==", "dependencies": { - "Microsoft.Web.WebView2": "1.0.2651.64", + "Microsoft.Web.WebView2": "1.0.2792.45", "Microsoft.Windows.SDK.BuildTools": "10.0.22621.756" } } diff --git a/vnext/Desktop.DLL/packages.lock.json b/vnext/Desktop.DLL/packages.lock.json index e98298f0655..4d2461f3012 100644 --- a/vnext/Desktop.DLL/packages.lock.json +++ b/vnext/Desktop.DLL/packages.lock.json @@ -42,7 +42,7 @@ }, "Microsoft.Web.WebView2": { "type": "Transitive", - "resolved": "1.0.2651.64", + "resolved": "1.0.2792.45", "contentHash": "f5sc/vcAoTCTEW7Nqzp4galAuTRguZViw8ksn+Nx2uskEBPm0/ubzy6gVjvXS/P96jLS89C8T9I0hPc417xpNg==" }, "Microsoft.Windows.SDK.BuildTools": { @@ -52,10 +52,10 @@ }, "Microsoft.WindowsAppSDK": { "type": "Transitive", - "resolved": "1.6.240923002", - "contentHash": "7PfOz2scXU+AAM/GYge+f6s7k3DVI+R1P8MNPZQr56GOPCGw+csvcg3S5KZg47z/o04kNvWH3GKtWT1ML9tpZw==", + "resolved": "1.7.250109001-experimental2", + "contentHash": "leUsCOh27uNnygO/AtohKnnvyZ+j0vaOh4oWlmiv3zs4HuCe46O04+25GennjmmwgESvahWp+RLTGMTJgdQd0Q==", "dependencies": { - "Microsoft.Web.WebView2": "1.0.2651.64", + "Microsoft.Web.WebView2": "1.0.2792.45", "Microsoft.Windows.SDK.BuildTools": "10.0.22621.756" } }, @@ -89,8 +89,8 @@ "FollyWin32": "[1.0.0, )", "Microsoft.JavaScript.Hermes": "[0.1.23, )", "Microsoft.SourceLink.GitHub": "[1.1.1, )", - "Microsoft.Web.WebView2": "[1.0.2651.64, )", - "Microsoft.WindowsAppSDK": "[1.6.240923002, )", + "Microsoft.Web.WebView2": "[1.0.2792.45, )", + "Microsoft.WindowsAppSDK": "[1.7.250109001-experimental2, )", "ReactCommon": "[1.0.0, )", "ReactNative.V8Jsi.Windows": "[0.71.8, )", "boost": "[1.83.0, )" diff --git a/vnext/Desktop.IntegrationTests/packages.lock.json b/vnext/Desktop.IntegrationTests/packages.lock.json index ece83bccfe5..8f49934ebdb 100644 --- a/vnext/Desktop.IntegrationTests/packages.lock.json +++ b/vnext/Desktop.IntegrationTests/packages.lock.json @@ -10,8 +10,8 @@ }, "Microsoft.Web.WebView2": { "type": "Direct", - "requested": "[1.0.2651.64, )", - "resolved": "1.0.2651.64", + "requested": "[1.0.2792.45, )", + "resolved": "1.0.2792.45", "contentHash": "f5sc/vcAoTCTEW7Nqzp4galAuTRguZViw8ksn+Nx2uskEBPm0/ubzy6gVjvXS/P96jLS89C8T9I0hPc417xpNg==" }, "Microsoft.Windows.CppWinRT": { @@ -63,10 +63,10 @@ }, "Microsoft.WindowsAppSDK": { "type": "Transitive", - "resolved": "1.6.240923002", - "contentHash": "7PfOz2scXU+AAM/GYge+f6s7k3DVI+R1P8MNPZQr56GOPCGw+csvcg3S5KZg47z/o04kNvWH3GKtWT1ML9tpZw==", + "resolved": "1.7.250109001-experimental2", + "contentHash": "leUsCOh27uNnygO/AtohKnnvyZ+j0vaOh4oWlmiv3zs4HuCe46O04+25GennjmmwgESvahWp+RLTGMTJgdQd0Q==", "dependencies": { - "Microsoft.Web.WebView2": "1.0.2651.64", + "Microsoft.Web.WebView2": "1.0.2792.45", "Microsoft.Windows.SDK.BuildTools": "10.0.22621.756" } }, @@ -82,8 +82,8 @@ "folly": { "type": "Project", "dependencies": { - "Fmt": "[1.0.0, )", - "boost": "[1.83.0, )" + "boost": "[1.83.0, )", + "fmt": "[1.0.0, )" } }, "follywin32": { @@ -100,8 +100,8 @@ "FollyWin32": "[1.0.0, )", "Microsoft.JavaScript.Hermes": "[0.1.23, )", "Microsoft.SourceLink.GitHub": "[1.1.1, )", - "Microsoft.Web.WebView2": "[1.0.2651.64, )", - "Microsoft.WindowsAppSDK": "[1.6.240923002, )", + "Microsoft.Web.WebView2": "[1.0.2792.45, )", + "Microsoft.WindowsAppSDK": "[1.7.250109001-experimental2, )", "ReactCommon": "[1.0.0, )", "ReactNative.V8Jsi.Windows": "[0.71.8, )", "boost": "[1.83.0, )" diff --git a/vnext/Desktop.UnitTests/packages.lock.json b/vnext/Desktop.UnitTests/packages.lock.json index b023eff5948..ef770cfb039 100644 --- a/vnext/Desktop.UnitTests/packages.lock.json +++ b/vnext/Desktop.UnitTests/packages.lock.json @@ -46,7 +46,7 @@ }, "Microsoft.Web.WebView2": { "type": "Transitive", - "resolved": "1.0.2651.64", + "resolved": "1.0.2792.45", "contentHash": "f5sc/vcAoTCTEW7Nqzp4galAuTRguZViw8ksn+Nx2uskEBPm0/ubzy6gVjvXS/P96jLS89C8T9I0hPc417xpNg==" }, "Microsoft.Windows.SDK.BuildTools": { @@ -56,10 +56,10 @@ }, "Microsoft.WindowsAppSDK": { "type": "Transitive", - "resolved": "1.6.240923002", - "contentHash": "7PfOz2scXU+AAM/GYge+f6s7k3DVI+R1P8MNPZQr56GOPCGw+csvcg3S5KZg47z/o04kNvWH3GKtWT1ML9tpZw==", + "resolved": "1.7.250109001-experimental2", + "contentHash": "leUsCOh27uNnygO/AtohKnnvyZ+j0vaOh4oWlmiv3zs4HuCe46O04+25GennjmmwgESvahWp+RLTGMTJgdQd0Q==", "dependencies": { - "Microsoft.Web.WebView2": "1.0.2651.64", + "Microsoft.Web.WebView2": "1.0.2792.45", "Microsoft.Windows.SDK.BuildTools": "10.0.22621.756" } }, @@ -80,8 +80,8 @@ "folly": { "type": "Project", "dependencies": { - "boost": "[1.83.0, )", - "fmt": "[1.0.0, )" + "Fmt": "[1.0.0, )", + "boost": "[1.83.0, )" } }, "follywin32": { @@ -98,8 +98,8 @@ "FollyWin32": "[1.0.0, )", "Microsoft.JavaScript.Hermes": "[0.1.23, )", "Microsoft.SourceLink.GitHub": "[1.1.1, )", - "Microsoft.Web.WebView2": "[1.0.2651.64, )", - "Microsoft.WindowsAppSDK": "[1.6.240923002, )", + "Microsoft.Web.WebView2": "[1.0.2792.45, )", + "Microsoft.WindowsAppSDK": "[1.7.250109001-experimental2, )", "ReactCommon": "[1.0.0, )", "ReactNative.V8Jsi.Windows": "[0.71.8, )", "boost": "[1.83.0, )" diff --git a/vnext/Desktop/packages.lock.json b/vnext/Desktop/packages.lock.json index bbff4ba4c07..e470705698b 100644 --- a/vnext/Desktop/packages.lock.json +++ b/vnext/Desktop/packages.lock.json @@ -26,8 +26,8 @@ }, "Microsoft.Web.WebView2": { "type": "Direct", - "requested": "[1.0.2651.64, )", - "resolved": "1.0.2651.64", + "requested": "[1.0.2792.45, )", + "resolved": "1.0.2792.45", "contentHash": "f5sc/vcAoTCTEW7Nqzp4galAuTRguZViw8ksn+Nx2uskEBPm0/ubzy6gVjvXS/P96jLS89C8T9I0hPc417xpNg==" }, "Microsoft.Windows.CppWinRT": { @@ -38,11 +38,11 @@ }, "Microsoft.WindowsAppSDK": { "type": "Direct", - "requested": "[1.6.240923002, )", - "resolved": "1.6.240923002", - "contentHash": "7PfOz2scXU+AAM/GYge+f6s7k3DVI+R1P8MNPZQr56GOPCGw+csvcg3S5KZg47z/o04kNvWH3GKtWT1ML9tpZw==", + "requested": "[1.7.250109001-experimental2, )", + "resolved": "1.7.250109001-experimental2", + "contentHash": "leUsCOh27uNnygO/AtohKnnvyZ+j0vaOh4oWlmiv3zs4HuCe46O04+25GennjmmwgESvahWp+RLTGMTJgdQd0Q==", "dependencies": { - "Microsoft.Web.WebView2": "1.0.2651.64", + "Microsoft.Web.WebView2": "1.0.2792.45", "Microsoft.Windows.SDK.BuildTools": "10.0.22621.756" } }, @@ -100,17 +100,17 @@ "native,Version=v0.0/win": { "Microsoft.Web.WebView2": { "type": "Direct", - "requested": "[1.0.2651.64, )", - "resolved": "1.0.2651.64", + "requested": "[1.0.2792.45, )", + "resolved": "1.0.2792.45", "contentHash": "f5sc/vcAoTCTEW7Nqzp4galAuTRguZViw8ksn+Nx2uskEBPm0/ubzy6gVjvXS/P96jLS89C8T9I0hPc417xpNg==" }, "Microsoft.WindowsAppSDK": { "type": "Direct", - "requested": "[1.6.240923002, )", - "resolved": "1.6.240923002", - "contentHash": "7PfOz2scXU+AAM/GYge+f6s7k3DVI+R1P8MNPZQr56GOPCGw+csvcg3S5KZg47z/o04kNvWH3GKtWT1ML9tpZw==", + "requested": "[1.7.250109001-experimental2, )", + "resolved": "1.7.250109001-experimental2", + "contentHash": "leUsCOh27uNnygO/AtohKnnvyZ+j0vaOh4oWlmiv3zs4HuCe46O04+25GennjmmwgESvahWp+RLTGMTJgdQd0Q==", "dependencies": { - "Microsoft.Web.WebView2": "1.0.2651.64", + "Microsoft.Web.WebView2": "1.0.2792.45", "Microsoft.Windows.SDK.BuildTools": "10.0.22621.756" } } @@ -118,17 +118,17 @@ "native,Version=v0.0/win-arm64": { "Microsoft.Web.WebView2": { "type": "Direct", - "requested": "[1.0.2651.64, )", - "resolved": "1.0.2651.64", + "requested": "[1.0.2792.45, )", + "resolved": "1.0.2792.45", "contentHash": "f5sc/vcAoTCTEW7Nqzp4galAuTRguZViw8ksn+Nx2uskEBPm0/ubzy6gVjvXS/P96jLS89C8T9I0hPc417xpNg==" }, "Microsoft.WindowsAppSDK": { "type": "Direct", - "requested": "[1.6.240923002, )", - "resolved": "1.6.240923002", - "contentHash": "7PfOz2scXU+AAM/GYge+f6s7k3DVI+R1P8MNPZQr56GOPCGw+csvcg3S5KZg47z/o04kNvWH3GKtWT1ML9tpZw==", + "requested": "[1.7.250109001-experimental2, )", + "resolved": "1.7.250109001-experimental2", + "contentHash": "leUsCOh27uNnygO/AtohKnnvyZ+j0vaOh4oWlmiv3zs4HuCe46O04+25GennjmmwgESvahWp+RLTGMTJgdQd0Q==", "dependencies": { - "Microsoft.Web.WebView2": "1.0.2651.64", + "Microsoft.Web.WebView2": "1.0.2792.45", "Microsoft.Windows.SDK.BuildTools": "10.0.22621.756" } } @@ -136,17 +136,17 @@ "native,Version=v0.0/win-x64": { "Microsoft.Web.WebView2": { "type": "Direct", - "requested": "[1.0.2651.64, )", - "resolved": "1.0.2651.64", + "requested": "[1.0.2792.45, )", + "resolved": "1.0.2792.45", "contentHash": "f5sc/vcAoTCTEW7Nqzp4galAuTRguZViw8ksn+Nx2uskEBPm0/ubzy6gVjvXS/P96jLS89C8T9I0hPc417xpNg==" }, "Microsoft.WindowsAppSDK": { "type": "Direct", - "requested": "[1.6.240923002, )", - "resolved": "1.6.240923002", - "contentHash": "7PfOz2scXU+AAM/GYge+f6s7k3DVI+R1P8MNPZQr56GOPCGw+csvcg3S5KZg47z/o04kNvWH3GKtWT1ML9tpZw==", + "requested": "[1.7.250109001-experimental2, )", + "resolved": "1.7.250109001-experimental2", + "contentHash": "leUsCOh27uNnygO/AtohKnnvyZ+j0vaOh4oWlmiv3zs4HuCe46O04+25GennjmmwgESvahWp+RLTGMTJgdQd0Q==", "dependencies": { - "Microsoft.Web.WebView2": "1.0.2651.64", + "Microsoft.Web.WebView2": "1.0.2792.45", "Microsoft.Windows.SDK.BuildTools": "10.0.22621.756" } } @@ -154,17 +154,17 @@ "native,Version=v0.0/win-x86": { "Microsoft.Web.WebView2": { "type": "Direct", - "requested": "[1.0.2651.64, )", - "resolved": "1.0.2651.64", + "requested": "[1.0.2792.45, )", + "resolved": "1.0.2792.45", "contentHash": "f5sc/vcAoTCTEW7Nqzp4galAuTRguZViw8ksn+Nx2uskEBPm0/ubzy6gVjvXS/P96jLS89C8T9I0hPc417xpNg==" }, "Microsoft.WindowsAppSDK": { "type": "Direct", - "requested": "[1.6.240923002, )", - "resolved": "1.6.240923002", - "contentHash": "7PfOz2scXU+AAM/GYge+f6s7k3DVI+R1P8MNPZQr56GOPCGw+csvcg3S5KZg47z/o04kNvWH3GKtWT1ML9tpZw==", + "requested": "[1.7.250109001-experimental2, )", + "resolved": "1.7.250109001-experimental2", + "contentHash": "leUsCOh27uNnygO/AtohKnnvyZ+j0vaOh4oWlmiv3zs4HuCe46O04+25GennjmmwgESvahWp+RLTGMTJgdQd0Q==", "dependencies": { - "Microsoft.Web.WebView2": "1.0.2651.64", + "Microsoft.Web.WebView2": "1.0.2792.45", "Microsoft.Windows.SDK.BuildTools": "10.0.22621.756" } } diff --git a/vnext/ExperimentalFeatures.props b/vnext/ExperimentalFeatures.props index 02dae28584a..c853b5b4a69 100644 --- a/vnext/ExperimentalFeatures.props +++ b/vnext/ExperimentalFeatures.props @@ -1,6 +1,8 @@ false + true + false true diff --git a/vnext/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.cpp b/vnext/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.cpp index a1ab4e62227..b5c27775ce3 100644 --- a/vnext/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.cpp +++ b/vnext/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.cpp @@ -27,6 +27,25 @@ HRESULT __stdcall CompositionRootAutomationProvider::GetRuntimeId(SAFEARRAY **pR *pRetVal = nullptr; + if (!m_island) + return E_FAIL; + + *pRetVal = SafeArrayCreateVector(VT_I4, 0, 3); + if (*pRetVal == nullptr) + return E_OUTOFMEMORY; + + auto rgiRuntimeId = static_cast((*pRetVal)->pvData); + + rgiRuntimeId[0] = UiaAppendRuntimeId; + rgiRuntimeId[1] = 0; + rgiRuntimeId[2] = 0; + + if (auto rootView = m_wkRootView.get()) { + auto tag = rootView.RootTag(); + rgiRuntimeId[1] = LODWORD(tag); + rgiRuntimeId[2] = HIDWORD(tag); + } + return S_OK; } @@ -153,8 +172,18 @@ HRESULT __stdcall CompositionRootAutomationProvider::get_FragmentRoot(IRawElemen if (pRetVal == nullptr) return E_POINTER; - AddRef(); - *pRetVal = this; + *pRetVal = nullptr; + +#ifdef USE_EXPERIMENTAL_WINUI3 + if (m_island) { + auto parentRoot = m_island.FragmentRootAutomationProvider(); + auto spFragment = parentRoot.try_as(); + if (spFragment) { + *pRetVal = spFragment.detach(); + return S_OK; + } + } +#endif return S_OK; } @@ -249,8 +278,6 @@ HRESULT __stdcall CompositionRootAutomationProvider::Navigate( if (pRetVal == nullptr) return E_POINTER; - // Fragment roots do not enable navigation to a parent or siblings; navigation among fragment roots is handled by the - // default window providers. Elements in fragments must navigate only to other elements within that fragment. if (direction == NavigateDirection_FirstChild || direction == NavigateDirection_LastChild) { if (auto rootView = rootComponentView()) { auto uiaProvider = rootView->EnsureUiaProvider(); @@ -260,6 +287,17 @@ HRESULT __stdcall CompositionRootAutomationProvider::Navigate( return S_OK; } } + } else if (direction == NavigateDirection_Parent) { +#ifdef USE_EXPERIMENTAL_WINUI3 + if (m_island) { + auto parent = m_island.ParentAutomationProvider(); + auto spFragment = parent.try_as(); + if (spFragment) { + *pRetVal = spFragment.detach(); + return S_OK; + } + } +#endif } *pRetVal = nullptr; return S_OK; diff --git a/vnext/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp b/vnext/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp index 528c880f052..ead0aed2ad8 100644 --- a/vnext/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +++ b/vnext/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp @@ -588,6 +588,24 @@ std::unique_ptr CreatePreparedScriptStore() } #ifdef USE_FABRIC + +typedef HRESULT(__stdcall *SetThreadDescriptionFn)(HANDLE, PCWSTR); +void SetJSThreadDescription() noexcept { + // Office still supports Server 2016 so we need to use Run Time Dynamic Linking and cannot just use: + // ::SetThreadDescription(GetCurrentThread(), L"React-Native JavaScript Thread"); + + auto moduleHandle = GetModuleHandleW(L"kernelbase.dll"); + // The description is just for developer experience, so we can skip it if kernelbase isn't already loaded + if (!moduleHandle) + return; + + auto proc = GetProcAddress(moduleHandle, "SetThreadDescription"); + if (!proc) + return; + + reinterpret_cast(proc)(GetCurrentThread(), L"React-Native JavaScript Thread"); +} + void ReactInstanceWin::InitializeBridgeless() noexcept { InitUIQueue(); @@ -636,7 +654,7 @@ void ReactInstanceWin::InitializeBridgeless() noexcept { Mso::Copy(m_whenDestroyed))); m_jsMessageThread.Load()->runOnQueueSync([&]() { - ::SetThreadDescription(GetCurrentThread(), L"React-Native JavaScript Thread"); + SetJSThreadDescription(); auto timerRegistry = ::Microsoft::ReactNative::TimerRegistry::CreateTimerRegistry(m_reactContext->Properties()); auto timerRegistryRaw = timerRegistry.get(); diff --git a/vnext/Mso.UnitTests/packages.fabric.lock.json b/vnext/Mso.UnitTests/packages.fabric.lock.json index a9a25492661..cd90ec731f2 100644 --- a/vnext/Mso.UnitTests/packages.fabric.lock.json +++ b/vnext/Mso.UnitTests/packages.fabric.lock.json @@ -20,13 +20,13 @@ "resolved": "1.6.240923002", "contentHash": "7PfOz2scXU+AAM/GYge+f6s7k3DVI+R1P8MNPZQr56GOPCGw+csvcg3S5KZg47z/o04kNvWH3GKtWT1ML9tpZw==", "dependencies": { - "Microsoft.Web.WebView2": "1.0.2651.64", + "Microsoft.Web.WebView2": "1.0.2792.45", "Microsoft.Windows.SDK.BuildTools": "10.0.22621.756" } }, "Microsoft.Web.WebView2": { "type": "Transitive", - "resolved": "1.0.2651.64", + "resolved": "1.0.2792.45", "contentHash": "f5sc/vcAoTCTEW7Nqzp4galAuTRguZViw8ksn+Nx2uskEBPm0/ubzy6gVjvXS/P96jLS89C8T9I0hPc417xpNg==" }, "Microsoft.Windows.SDK.BuildTools": { @@ -42,13 +42,13 @@ "resolved": "1.6.240923002", "contentHash": "7PfOz2scXU+AAM/GYge+f6s7k3DVI+R1P8MNPZQr56GOPCGw+csvcg3S5KZg47z/o04kNvWH3GKtWT1ML9tpZw==", "dependencies": { - "Microsoft.Web.WebView2": "1.0.2651.64", + "Microsoft.Web.WebView2": "1.0.2792.45", "Microsoft.Windows.SDK.BuildTools": "10.0.22621.756" } }, "Microsoft.Web.WebView2": { "type": "Transitive", - "resolved": "1.0.2651.64", + "resolved": "1.0.2792.45", "contentHash": "f5sc/vcAoTCTEW7Nqzp4galAuTRguZViw8ksn+Nx2uskEBPm0/ubzy6gVjvXS/P96jLS89C8T9I0hPc417xpNg==" } }, @@ -59,13 +59,13 @@ "resolved": "1.6.240923002", "contentHash": "7PfOz2scXU+AAM/GYge+f6s7k3DVI+R1P8MNPZQr56GOPCGw+csvcg3S5KZg47z/o04kNvWH3GKtWT1ML9tpZw==", "dependencies": { - "Microsoft.Web.WebView2": "1.0.2651.64", + "Microsoft.Web.WebView2": "1.0.2792.45", "Microsoft.Windows.SDK.BuildTools": "10.0.22621.756" } }, "Microsoft.Web.WebView2": { "type": "Transitive", - "resolved": "1.0.2651.64", + "resolved": "1.0.2792.45", "contentHash": "f5sc/vcAoTCTEW7Nqzp4galAuTRguZViw8ksn+Nx2uskEBPm0/ubzy6gVjvXS/P96jLS89C8T9I0hPc417xpNg==" } }, @@ -76,13 +76,13 @@ "resolved": "1.6.240923002", "contentHash": "7PfOz2scXU+AAM/GYge+f6s7k3DVI+R1P8MNPZQr56GOPCGw+csvcg3S5KZg47z/o04kNvWH3GKtWT1ML9tpZw==", "dependencies": { - "Microsoft.Web.WebView2": "1.0.2651.64", + "Microsoft.Web.WebView2": "1.0.2792.45", "Microsoft.Windows.SDK.BuildTools": "10.0.22621.756" } }, "Microsoft.Web.WebView2": { "type": "Transitive", - "resolved": "1.0.2651.64", + "resolved": "1.0.2792.45", "contentHash": "f5sc/vcAoTCTEW7Nqzp4galAuTRguZViw8ksn+Nx2uskEBPm0/ubzy6gVjvXS/P96jLS89C8T9I0hPc417xpNg==" } }, @@ -93,13 +93,13 @@ "resolved": "1.6.240923002", "contentHash": "7PfOz2scXU+AAM/GYge+f6s7k3DVI+R1P8MNPZQr56GOPCGw+csvcg3S5KZg47z/o04kNvWH3GKtWT1ML9tpZw==", "dependencies": { - "Microsoft.Web.WebView2": "1.0.2651.64", + "Microsoft.Web.WebView2": "1.0.2792.45", "Microsoft.Windows.SDK.BuildTools": "10.0.22621.756" } }, "Microsoft.Web.WebView2": { "type": "Transitive", - "resolved": "1.0.2651.64", + "resolved": "1.0.2792.45", "contentHash": "f5sc/vcAoTCTEW7Nqzp4galAuTRguZViw8ksn+Nx2uskEBPm0/ubzy6gVjvXS/P96jLS89C8T9I0hPc417xpNg==" } } diff --git a/vnext/PropertySheets/WebView2.props b/vnext/PropertySheets/WebView2.props index 833e9a74657..87113a25e7c 100644 --- a/vnext/PropertySheets/WebView2.props +++ b/vnext/PropertySheets/WebView2.props @@ -2,6 +2,6 @@ - 1.0.2651.64 + 1.0.2792.45 diff --git a/vnext/ReactCommon.UnitTests/packages.lock.json b/vnext/ReactCommon.UnitTests/packages.lock.json index d98bf049883..5be78c8a8e4 100644 --- a/vnext/ReactCommon.UnitTests/packages.lock.json +++ b/vnext/ReactCommon.UnitTests/packages.lock.json @@ -46,7 +46,7 @@ }, "Microsoft.Web.WebView2": { "type": "Transitive", - "resolved": "1.0.2651.64", + "resolved": "1.0.2792.45", "contentHash": "f5sc/vcAoTCTEW7Nqzp4galAuTRguZViw8ksn+Nx2uskEBPm0/ubzy6gVjvXS/P96jLS89C8T9I0hPc417xpNg==" }, "Microsoft.Windows.SDK.BuildTools": { @@ -56,10 +56,10 @@ }, "Microsoft.WindowsAppSDK": { "type": "Transitive", - "resolved": "1.6.240923002", - "contentHash": "7PfOz2scXU+AAM/GYge+f6s7k3DVI+R1P8MNPZQr56GOPCGw+csvcg3S5KZg47z/o04kNvWH3GKtWT1ML9tpZw==", + "resolved": "1.7.250109001-experimental2", + "contentHash": "leUsCOh27uNnygO/AtohKnnvyZ+j0vaOh4oWlmiv3zs4HuCe46O04+25GennjmmwgESvahWp+RLTGMTJgdQd0Q==", "dependencies": { - "Microsoft.Web.WebView2": "1.0.2651.64", + "Microsoft.Web.WebView2": "1.0.2792.45", "Microsoft.Windows.SDK.BuildTools": "10.0.22621.756" } }, @@ -75,8 +75,8 @@ "folly": { "type": "Project", "dependencies": { - "boost": "[1.83.0, )", - "fmt": "[1.0.0, )" + "Fmt": "[1.0.0, )", + "boost": "[1.83.0, )" } }, "follywin32": { @@ -93,8 +93,8 @@ "FollyWin32": "[1.0.0, )", "Microsoft.JavaScript.Hermes": "[0.1.23, )", "Microsoft.SourceLink.GitHub": "[1.1.1, )", - "Microsoft.Web.WebView2": "[1.0.2651.64, )", - "Microsoft.WindowsAppSDK": "[1.6.240923002, )", + "Microsoft.Web.WebView2": "[1.0.2792.45, )", + "Microsoft.WindowsAppSDK": "[1.7.250109001-experimental2, )", "ReactCommon": "[1.0.0, )", "ReactNative.V8Jsi.Windows": "[0.71.8, )", "boost": "[1.83.0, )" @@ -111,15 +111,15 @@ "native,Version=v0.0/win": { "Microsoft.Web.WebView2": { "type": "Transitive", - "resolved": "1.0.2651.64", + "resolved": "1.0.2792.45", "contentHash": "f5sc/vcAoTCTEW7Nqzp4galAuTRguZViw8ksn+Nx2uskEBPm0/ubzy6gVjvXS/P96jLS89C8T9I0hPc417xpNg==" }, "Microsoft.WindowsAppSDK": { "type": "Transitive", - "resolved": "1.6.240923002", - "contentHash": "7PfOz2scXU+AAM/GYge+f6s7k3DVI+R1P8MNPZQr56GOPCGw+csvcg3S5KZg47z/o04kNvWH3GKtWT1ML9tpZw==", + "resolved": "1.7.250109001-experimental2", + "contentHash": "leUsCOh27uNnygO/AtohKnnvyZ+j0vaOh4oWlmiv3zs4HuCe46O04+25GennjmmwgESvahWp+RLTGMTJgdQd0Q==", "dependencies": { - "Microsoft.Web.WebView2": "1.0.2651.64", + "Microsoft.Web.WebView2": "1.0.2792.45", "Microsoft.Windows.SDK.BuildTools": "10.0.22621.756" } } @@ -127,15 +127,15 @@ "native,Version=v0.0/win-arm64": { "Microsoft.Web.WebView2": { "type": "Transitive", - "resolved": "1.0.2651.64", + "resolved": "1.0.2792.45", "contentHash": "f5sc/vcAoTCTEW7Nqzp4galAuTRguZViw8ksn+Nx2uskEBPm0/ubzy6gVjvXS/P96jLS89C8T9I0hPc417xpNg==" }, "Microsoft.WindowsAppSDK": { "type": "Transitive", - "resolved": "1.6.240923002", - "contentHash": "7PfOz2scXU+AAM/GYge+f6s7k3DVI+R1P8MNPZQr56GOPCGw+csvcg3S5KZg47z/o04kNvWH3GKtWT1ML9tpZw==", + "resolved": "1.7.250109001-experimental2", + "contentHash": "leUsCOh27uNnygO/AtohKnnvyZ+j0vaOh4oWlmiv3zs4HuCe46O04+25GennjmmwgESvahWp+RLTGMTJgdQd0Q==", "dependencies": { - "Microsoft.Web.WebView2": "1.0.2651.64", + "Microsoft.Web.WebView2": "1.0.2792.45", "Microsoft.Windows.SDK.BuildTools": "10.0.22621.756" } } @@ -143,15 +143,15 @@ "native,Version=v0.0/win-x64": { "Microsoft.Web.WebView2": { "type": "Transitive", - "resolved": "1.0.2651.64", + "resolved": "1.0.2792.45", "contentHash": "f5sc/vcAoTCTEW7Nqzp4galAuTRguZViw8ksn+Nx2uskEBPm0/ubzy6gVjvXS/P96jLS89C8T9I0hPc417xpNg==" }, "Microsoft.WindowsAppSDK": { "type": "Transitive", - "resolved": "1.6.240923002", - "contentHash": "7PfOz2scXU+AAM/GYge+f6s7k3DVI+R1P8MNPZQr56GOPCGw+csvcg3S5KZg47z/o04kNvWH3GKtWT1ML9tpZw==", + "resolved": "1.7.250109001-experimental2", + "contentHash": "leUsCOh27uNnygO/AtohKnnvyZ+j0vaOh4oWlmiv3zs4HuCe46O04+25GennjmmwgESvahWp+RLTGMTJgdQd0Q==", "dependencies": { - "Microsoft.Web.WebView2": "1.0.2651.64", + "Microsoft.Web.WebView2": "1.0.2792.45", "Microsoft.Windows.SDK.BuildTools": "10.0.22621.756" } } @@ -159,15 +159,15 @@ "native,Version=v0.0/win-x86": { "Microsoft.Web.WebView2": { "type": "Transitive", - "resolved": "1.0.2651.64", + "resolved": "1.0.2792.45", "contentHash": "f5sc/vcAoTCTEW7Nqzp4galAuTRguZViw8ksn+Nx2uskEBPm0/ubzy6gVjvXS/P96jLS89C8T9I0hPc417xpNg==" }, "Microsoft.WindowsAppSDK": { "type": "Transitive", - "resolved": "1.6.240923002", - "contentHash": "7PfOz2scXU+AAM/GYge+f6s7k3DVI+R1P8MNPZQr56GOPCGw+csvcg3S5KZg47z/o04kNvWH3GKtWT1ML9tpZw==", + "resolved": "1.7.250109001-experimental2", + "contentHash": "leUsCOh27uNnygO/AtohKnnvyZ+j0vaOh4oWlmiv3zs4HuCe46O04+25GennjmmwgESvahWp+RLTGMTJgdQd0Q==", "dependencies": { - "Microsoft.Web.WebView2": "1.0.2651.64", + "Microsoft.Web.WebView2": "1.0.2792.45", "Microsoft.Windows.SDK.BuildTools": "10.0.22621.756" } }