Skip to content

Conversation

@ramezgerges
Copy link
Contributor

GitHub Issue: closes https://github.com/unoplatform/kahua-private/issues/400

PR Type:

What is the current behavior? πŸ€”

What is the new behavior? πŸš€

PR Checklist βœ…

Please check if your PR fulfills the following requirements:

Other information ℹ️

Copilot AI review requested due to automatic review settings January 8, 2026 17:21
@github-actions github-actions bot added the platform/wasm 🌐 Categorizes an issue or PR as relevant to the WebAssembly platform label Jan 8, 2026
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR implements drag and drop support for WebAssembly/Skia platforms by integrating browser's native drag and drop API with Uno's drag and drop framework.

Key Changes:

  • Adds a finalizer to DataPackage to trigger cleanup via the Destroyed event when the object is garbage collected
  • Implements browser-side drag and drop handling in TypeScript to capture drag events and manage data transfer
  • Creates C# interop layer to bridge browser events to Uno's CoreDragDropManager

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 9 comments.

Show a summary per file
File Description
src/Uno.UWP/ApplicationModel/DataTransfer/DataPackage.cs Adds finalizer and Destroyed event for cleanup when DataPackage is collected
src/Uno.UI.Runtime.Skia.WebAssembly.Browser/ts/Runtime/BrowserDragAndDropExtension.ts New TypeScript implementation handling browser drag/drop events and data retrieval
src/Uno.UI.Runtime.Skia.WebAssembly.Browser/Extensions/BrowserDragDropExtension.cs C# interop layer converting browser events to Uno drag/drop operations
src/Uno.UI.Runtime.Skia.WebAssembly.Browser/Hosting/WebAssemblyBrowserHost.cs Registers the drag/drop extension with the API extensibility system
src/Uno.UI.Runtime.Skia.WebAssembly.Browser/Devices/Input/BrowserPointerInputSource.cs Changes HtmlPointerButtonsState enum to internal for shared use

@unodevops
Copy link
Contributor

πŸ€– Your WebAssembly Skia Sample App stage site is ready! Visit it here: https://unowasmprstaging.z20.web.core.windows.net/pr-22315/wasm-skia-net9/index.html

@unodevops
Copy link
Contributor

πŸ€– Your Docs stage site is ready! Visit it here: https://unodocsprstaging.z13.web.core.windows.net/pr-22315/docs/index.html

{
if (pendingId == id)
{
_log.Error(
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should you validate if LogLevel.Error is enabled?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

platform/wasm 🌐 Categorizes an issue or PR as relevant to the WebAssembly platform

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants