Bug 98940
Summary: | [GTK][WPE] Add support for DataTransferItem API | ||
---|---|---|---|
Product: | WebKit | Reporter: | Zan Dobersek <zan> |
Component: | WebKitGTK | Assignee: | Nobody <webkit-unassigned> |
Status: | NEW | ||
Severity: | Normal | CC: | bugs-noreply, cdumez, clopez |
Priority: | P2 | Keywords: | Gtk, LayoutTestFailure |
Version: | 528+ (Nightly build) | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
See Also: | https://bugs.webkit.org/show_bug.cgi?id=202796 |
Zan Dobersek
This feature is guarded by the ENABLE_DATA_TRANSFER_ITEMS compilation guard.
I believe the Qt port already implements this, and that their implementation can be shared with the GTK port.
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Carlos Alberto Lopez Perez
The spec: https://html.spec.whatwg.org/multipage/dnd.html#the-datatransferitems-interface
The Qt implementation was done in r85648
Currently the feature is not longer enabled by a compilation guard.
But it has a run-time guard. This run-time is enabled by default on WTR but its disabled for GTK or WPE ports currently otherwise. For Mac is enabled by default.
The name of the run-time guard is DataTransferItemsEnabled
Carlos Alberto Lopez Perez
The spec: https://html.spec.whatwg.org/multipage/dnd.html#the-datatransferitems-interface
The Qt implementation was done in r85648
The feature is not longer enabled by a compilation guard.
But it has a run-time guard. This run-time is enabled by default on WTR but its disabled for GTK or WPE ports otherwise (like when using the browser). For Mac is enabled by default.
The name of the run-time guard is DataTransferItemsEnabled
A layout test to test the feature: editing/pasteboard/data-transfer-items.html
Carlos Alberto Lopez Perez
Even when the layout test editing/pasteboard/data-transfer-items.html is not fully passing, the feature seems to mostly work if enabled.
Here is a manual test for it: https://mdn.github.io/dom-examples/drag-and-drop/copy-move-DataTransferItemList.html
Carlos Alberto Lopez Perez
Here is another test https://mdn.github.io/dom-examples/drag-and-drop/copy-move-DataTransfer.html that passes (this was passing even before enabling the above run-time setting, because that run-time setting now only controls the access to the interface DataTransferItem, but "DataTransfer" is unconditionally enabled)
Carlos Alberto Lopez Perez
On r251228 I enabled the runtime setting by default.
After that the manual tests above from mdn.github pass on GTK.
This bug remains open however, as likely there is something extra to fix or implement regarding this standard because the layout test editing/pasteboard/data-transfer-items.html keeps failing.