LibWeb: Add support for handling drag-and-drop events of DOM elements

This allows dragging elements on the page and dropping them onto other
elements. This does not yet support dragging text.

The test added here is manual; the WPT tests rely heavily on WebDriver
actions.
This commit is contained in:
Timothy Flynn
2026-04-04 18:20:12 -04:00
committed by Tim Flynn
parent b7076c366d
commit cfe7ddc805
Notes: github-actions[bot] 2026-04-05 15:35:41 +00:00
6 changed files with 287 additions and 36 deletions

View File

@@ -0,0 +1,40 @@
Drag div:
dragenter
types: text/plain
dragover
types: text/plain
drop
types: text/plain
text/plain: 'hello'
text/uri-list: ''
source events: dragstart,dragend:copy
Drag non-draggable div:
drag started: false
Drag link:
dragstart
types: text/uri-list
dragenter
types: text/uri-list
dragover
types: text/uri-list
drop
types: text/uri-list
text/plain: ''
text/uri-list: 'https://example.com/'
Drag image:
dragstart
types: text/uri-list
dragenter
types: text/uri-list
dragover
types: text/uri-list
drop
types: text/uri-list
text/plain: ''
text/uri-list: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR4nGP4z8DwHwAFAAH/iZk9HQAAAABJRU5ErkJggg=='
Dragstart cancelled:
dragstart (cancelling)