refactor!: Internalise Uno-only members in WinUI namespaces - #24974
MartinZikmund wants to merge 2 commits into
Conversation
INativeWebViewProvider and VisualTreeHelper.GetChildren have no WinUI counterpart. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01S8tfVTnfxKUm4xrCApq4cb
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01S8tfVTnfxKUm4xrCApq4cb
|
Claude finished @MartinZikmund's task in 3m 3s —— View job Review complete ✅
Verdict: ship. No blocking issues found; no inline comments posted. Scope verified:
Not independently verified: the |
There was a problem hiding this comment.
Copilot review overview
🟢 Approval recommended
The focused visibility changes, internal consumers, compatibility exclusions, and migration documentation are consistent.
Review effort: Balanced
Findings: None
What changed in this PR
Internalizes Uno-only APIs to improve WinUI compatibility for the 7.0 release.
Changes:
- Internalizes
VisualTreeHelper.GetChildrenoverloads andINativeWebViewProvider. - Adds package-diff exclusions for 6.6 and 6.7 baselines.
- Documents migration to standard WinUI visual-tree APIs.
No issues found.
| File | Description |
|---|---|
VisualTreeHelper.cs |
Internalizes Uno-only child enumeration helpers. |
INativeWebViewProvider.cs |
Internalizes the native WebView provider contract. |
migrating-to-uno-7.md |
Documents removed APIs and migration guidance. |
PackageDiffIgnore.xml |
Records intentional breaking API changes. |
💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.
|
🤖 Your WebAssembly Skia Sample App stage site is ready! Visit it here: https://unowasmprstaging.z20.web.core.windows.net/pr-24974/wasm-skia-net9/index.html |
|
🤖 Your Docs stage site is ready! Visit it here: https://unodocsprstaging.z13.web.core.windows.net/pr-24974/docs/index.html |
|
The build 237374 found UI Test snapshots differences: Details
|
|
|
GitHub Issue: closes unoplatform/uno-private#2106
PR Type:
🔄 Refactoring (breaking, 7.0)
What changed? 🚀
Two Uno-only members were public inside WinUI types, with no WinUI counterpart. Both are now internal:
Microsoft.Web.WebView2.Core.INativeWebViewProviderinternalVisualTreeHelper.GetChildren(DependencyObject)VisualTreeHelper.GetChildren<T>(DependencyObject)INativeWebViewProvidercould never be implemented outside Uno Platform anyway, sinceCreateNativeWebViewwas already internal. Every implementer (Win32, macOS, X11 add-in, Browser, Android, UIKit hosts) already hasInternalsVisibleTofromUno.UI.VisualTreeHelper.DisconnectChildrenRecursivestays public. It is genuine WinUI API.Also included:
PackageDiffIgnore.xmlentries in the 6.6 and 6.7 sets.GetChildrenCount/GetChild.PR Checklist ✅
Screenshots Compare Test Runresults.Breaking change (7.0): this breaks source for callers of
VisualTreeHelper.GetChildren/GetChildren<T>. Migrate toVisualTreeHelper.GetChildrenCount+GetChild. Nobody outside Uno Platform could do anything useful withINativeWebViewProvider.🤖 Generated with Claude Code
https://claude.ai/code/session_01S8tfVTnfxKUm4xrCApq4cb