Implement DataFormat.CreateInProcessFormat() by NathanDrake2406 · Pull Request #21076 · AvaloniaUI/Avalonia (original) (raw)
added 2 commits
Cover the new InProcess format API: kind, identifier, null/empty validation, non-ASCII identifiers, HasSystemName for all four kinds, ToSystemName throwing, equality/inequality, DataTransferItem integration, and coexistence with other formats in DataTransfer.
…ag/drop
Add DataFormatKind.InProcess and DataFormat.CreateInProcessFormat() so users can pass arbitrary object references during in-process drag-and-drop without crossing serialization boundaries.
- Add HasSystemName property to indicate whether ToSystemName() is valid
- Update ToSystemName to throw for InProcess (same as Universal)
- Guard all 7 platform backends (Win32, macOS, X11, Android, Browser, iOS) to skip InProcess formats during clipboard/drag-drop enumeration
Closes AvaloniaUI#20097
Copilot AI review requested due to automatic review settings
Merged via the queue into AvaloniaUI:master with commit e452c85
13 of 14 checks passed
MrJul pushed a commit to MrJul/Avalonia that referenced this pull request
- test: add DataFormat.CreateInProcessFormat tests
Cover the new InProcess format API: kind, identifier, null/empty validation, non-ASCII identifiers, HasSystemName for all four kinds, ToSystemName throwing, equality/inequality, DataTransferItem integration, and coexistence with other formats in DataTransfer.
- feat: implement DataFormat.CreateInProcessFormat for in-process drag/drop
Add DataFormatKind.InProcess and DataFormat.CreateInProcessFormat() so users can pass arbitrary object references during in-process drag-and-drop without crossing serialization boundaries.
- Add HasSystemName property to indicate whether ToSystemName() is valid
- Update ToSystemName to throw for InProcess (same as Universal)
- Guard all 7 platform backends (Win32, macOS, X11, Android, Browser, iOS) to skip InProcess formats during clipboard/drag-drop enumeration
Closes AvaloniaUI#20097
- fix: remove HasSystemName API per review feedback
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.Learn more about bidirectional Unicode characters
[ Show hidden characters]({{ revealButtonHref }})