react-native-windows 0.74.31 → 0.74.32
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.
- package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.cpp +43 -2
- package/Microsoft.ReactNative/Fabric/Composition/ContentIslandComponentView.cpp +11 -9
- package/Microsoft.ReactNative/Fabric/Composition/ContentIslandComponentView.h +1 -1
- package/PropertySheets/Generated/PackageVersion.g.props +3 -3
- package/PropertySheets/WinUI.props +6 -5
- package/package.json +1 -1
|
@@ -27,6 +27,25 @@ HRESULT __stdcall CompositionRootAutomationProvider::GetRuntimeId(SAFEARRAY **pR
|
|
|
27
27
|
|
|
28
28
|
*pRetVal = nullptr;
|
|
29
29
|
|
|
30
|
+
if (!m_island)
|
|
31
|
+
return E_FAIL;
|
|
32
|
+
|
|
33
|
+
*pRetVal = SafeArrayCreateVector(VT_I4, 0, 3);
|
|
34
|
+
if (*pRetVal == nullptr)
|
|
35
|
+
return E_OUTOFMEMORY;
|
|
36
|
+
|
|
37
|
+
auto rgiRuntimeId = static_cast<int *>((*pRetVal)->pvData);
|
|
38
|
+
|
|
39
|
+
rgiRuntimeId[0] = UiaAppendRuntimeId;
|
|
40
|
+
rgiRuntimeId[1] = 0;
|
|
41
|
+
rgiRuntimeId[2] = 0;
|
|
42
|
+
|
|
43
|
+
if (auto rootView = m_wkRootView.get()) {
|
|
44
|
+
auto tag = rootView.RootTag();
|
|
45
|
+
rgiRuntimeId[1] = LODWORD(tag);
|
|
46
|
+
rgiRuntimeId[2] = HIDWORD(tag);
|
|
47
|
+
}
|
|
48
|
+
|
|
30
49
|
return S_OK;
|
|
31
50
|
}
|
|
32
51
|
|
|
@@ -153,8 +172,18 @@ HRESULT __stdcall CompositionRootAutomationProvider::get_FragmentRoot(IRawElemen
|
|
|
153
172
|
if (pRetVal == nullptr)
|
|
154
173
|
return E_POINTER;
|
|
155
174
|
|
|
156
|
-
|
|
157
|
-
|
|
175
|
+
*pRetVal = nullptr;
|
|
176
|
+
|
|
177
|
+
#ifdef USE_EXPERIMENTAL_WINUI3
|
|
178
|
+
if (m_island) {
|
|
179
|
+
auto parentRoot = m_island.FragmentRootAutomationProvider();
|
|
180
|
+
auto spFragment = parentRoot.try_as<IRawElementProviderFragmentRoot>();
|
|
181
|
+
if (spFragment) {
|
|
182
|
+
*pRetVal = spFragment.detach();
|
|
183
|
+
return S_OK;
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
#endif
|
|
158
187
|
|
|
159
188
|
return S_OK;
|
|
160
189
|
}
|
|
@@ -260,7 +289,19 @@ HRESULT __stdcall CompositionRootAutomationProvider::Navigate(
|
|
|
260
289
|
return S_OK;
|
|
261
290
|
}
|
|
262
291
|
}
|
|
292
|
+
} else if (direction == NavigateDirection_Parent) {
|
|
293
|
+
#ifdef USE_EXPERIMENTAL_WINUI3
|
|
294
|
+
if (m_island) {
|
|
295
|
+
auto parent = m_island.ParentAutomationProvider();
|
|
296
|
+
auto spFragment = parent.try_as<IRawElementProviderFragment>();
|
|
297
|
+
if (spFragment) {
|
|
298
|
+
*pRetVal = spFragment.detach();
|
|
299
|
+
return S_OK;
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
#endif
|
|
263
303
|
}
|
|
304
|
+
|
|
264
305
|
*pRetVal = nullptr;
|
|
265
306
|
return S_OK;
|
|
266
307
|
}
|
|
@@ -42,13 +42,13 @@ ContentIslandComponentView::ContentIslandComponentView(
|
|
|
42
42
|
|
|
43
43
|
void ContentIslandComponentView::OnMounted() noexcept {
|
|
44
44
|
#ifdef USE_EXPERIMENTAL_WINUI3
|
|
45
|
-
|
|
45
|
+
m_childSiteLink = winrt::Microsoft::UI::Content::ChildSiteLink::Create(
|
|
46
46
|
rootComponentView()->parentContentIsland(),
|
|
47
47
|
winrt::Microsoft::ReactNative::Composition::Experimental::CompositionContextHelper::InnerVisual(Visual())
|
|
48
48
|
.as<winrt::Microsoft::UI::Composition::ContainerVisual>());
|
|
49
|
-
|
|
49
|
+
m_childSiteLink.ActualSize({m_layoutMetrics.frame.size.width, m_layoutMetrics.frame.size.height});
|
|
50
50
|
if (m_islandToConnect) {
|
|
51
|
-
|
|
51
|
+
m_childSiteLink.Connect(m_islandToConnect);
|
|
52
52
|
m_islandToConnect = nullptr;
|
|
53
53
|
}
|
|
54
54
|
|
|
@@ -82,8 +82,10 @@ void ContentIslandComponentView::ParentLayoutChanged() noexcept {
|
|
|
82
82
|
if (auto strongThis = wkThis.get()) {
|
|
83
83
|
auto clientRect = strongThis->getClientRect();
|
|
84
84
|
|
|
85
|
-
strongThis->
|
|
86
|
-
|
|
85
|
+
strongThis->m_childSiteLink.LocalToParentTransformMatrix(
|
|
86
|
+
winrt::Windows::Foundation::Numerics::make_float4x4_translation(
|
|
87
|
+
static_cast<float>(clientRect.left), static_cast<float>(clientRect.top), 0.0f));
|
|
88
|
+
|
|
87
89
|
strongThis->m_layoutChangePosted = false;
|
|
88
90
|
}
|
|
89
91
|
});
|
|
@@ -114,8 +116,8 @@ void ContentIslandComponentView::updateLayoutMetrics(
|
|
|
114
116
|
facebook::react::LayoutMetrics const &layoutMetrics,
|
|
115
117
|
facebook::react::LayoutMetrics const &oldLayoutMetrics) noexcept {
|
|
116
118
|
#ifdef USE_EXPERIMENTAL_WINUI3
|
|
117
|
-
if (
|
|
118
|
-
|
|
119
|
+
if (m_childSiteLink) {
|
|
120
|
+
m_childSiteLink.ActualSize({layoutMetrics.frame.size.width, layoutMetrics.frame.size.height});
|
|
119
121
|
ParentLayoutChanged();
|
|
120
122
|
}
|
|
121
123
|
#endif
|
|
@@ -124,9 +126,9 @@ void ContentIslandComponentView::updateLayoutMetrics(
|
|
|
124
126
|
|
|
125
127
|
void ContentIslandComponentView::Connect(const winrt::Microsoft::UI::Content::ContentIsland &contentIsland) noexcept {
|
|
126
128
|
#ifdef USE_EXPERIMENTAL_WINUI3
|
|
127
|
-
if (
|
|
129
|
+
if (m_childSiteLink) {
|
|
128
130
|
m_islandToConnect = nullptr;
|
|
129
|
-
|
|
131
|
+
m_childSiteLink.Connect(contentIsland);
|
|
130
132
|
} else {
|
|
131
133
|
m_islandToConnect = contentIsland;
|
|
132
134
|
}
|
|
@@ -55,7 +55,7 @@ struct ContentIslandComponentView : ContentIslandComponentViewT<ContentIslandCom
|
|
|
55
55
|
winrt::event_token m_unmountedToken;
|
|
56
56
|
std::vector<winrt::Microsoft::ReactNative::ComponentView::LayoutMetricsChanged_revoker> m_layoutMetricChangedRevokers;
|
|
57
57
|
#ifdef USE_EXPERIMENTAL_WINUI3
|
|
58
|
-
winrt::Microsoft::UI::Content::
|
|
58
|
+
winrt::Microsoft::UI::Content::ChildSiteLink m_childSiteLink{nullptr};
|
|
59
59
|
#endif
|
|
60
60
|
};
|
|
61
61
|
|
|
@@ -10,11 +10,11 @@
|
|
|
10
10
|
-->
|
|
11
11
|
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
12
12
|
<PropertyGroup>
|
|
13
|
-
<ReactNativeWindowsVersion>0.74.
|
|
13
|
+
<ReactNativeWindowsVersion>0.74.32</ReactNativeWindowsVersion>
|
|
14
14
|
<ReactNativeWindowsMajor>0</ReactNativeWindowsMajor>
|
|
15
15
|
<ReactNativeWindowsMinor>74</ReactNativeWindowsMinor>
|
|
16
|
-
<ReactNativeWindowsPatch>
|
|
16
|
+
<ReactNativeWindowsPatch>32</ReactNativeWindowsPatch>
|
|
17
17
|
<ReactNativeWindowsCanary>false</ReactNativeWindowsCanary>
|
|
18
|
-
<ReactNativeWindowsCommitId>
|
|
18
|
+
<ReactNativeWindowsCommitId>3493ff823c2ac4139e3c7266356ea3b23cf3ae7b</ReactNativeWindowsCommitId>
|
|
19
19
|
</PropertyGroup>
|
|
20
20
|
</Project>
|
|
@@ -4,15 +4,16 @@
|
|
|
4
4
|
|
|
5
5
|
<!--
|
|
6
6
|
Internal versions are located at: https://microsoft.visualstudio.com/DefaultCollection/ProjectReunion/_artifacts/feed/Project.Reunion.nuget.internal/NuGet/Microsoft.WindowsAppSDK/versions
|
|
7
|
-
For local testing of internal versions, modify
|
|
7
|
+
For local testing of internal versions, modify WinUI3ExperimentalVersion, and comment out the addition nuget source in NuGet.Config
|
|
8
8
|
-->
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
<WinUI3Version Condition="'$(WinUI3Version)'==''"
|
|
9
|
+
<WinUI3ExperimentalVersion Condition="'$(WinUI3ExperimentalVersion)'==''">1.7.250109001-experimental2</WinUI3ExperimentalVersion>
|
|
10
|
+
<!-- This value is also used by the CLI, see /packages/@react-native-windows/cli/.../autolinkWindows.ts -->
|
|
11
|
+
<WinUI3Version Condition="'$(WinUI3Version)'=='' AND '$(UseExperimentalWinUI3)'=='true'">$(WinUI3ExperimentalVersion)</WinUI3Version>
|
|
12
|
+
<WinUI3Version Condition="'$(WinUI3Version)'==''">1.6.240923002</WinUI3Version>
|
|
12
13
|
</PropertyGroup>
|
|
13
14
|
|
|
14
15
|
<PropertyGroup Label="WinUI2x versioning">
|
|
15
|
-
<!--This value is also used by the CLI, see /packages/@react-native-windows/
|
|
16
|
+
<!--This value is also used by the CLI, see /packages/@react-native-windows/cli/.../autolinkWindows.ts -->
|
|
16
17
|
<WinUI2xVersion Condition="'$(WinUI2xVersion)'==''">2.8.0</WinUI2xVersion>
|
|
17
18
|
</PropertyGroup>
|
|
18
19
|
|