LibWeb: Begin implementing the drag-and-drop processing model

The drag-and-drop processing model allows for users to drag around
either elements within the DOM or objects completely outside the DOM.
This drag event can either end without action (via cancellation or user
input), or in a drop event, where the dragged object is dropped onto
another element within the DOM.

The processing model is rather large. This implements enough of it to
allow the UI process to specifically handle dragging objects outside of
the DOM onto the DOM. For example, dragging an image from the OS file
manager onto a file-upload input element. This does not implement the
ability to drag DOM elements.
This commit is contained in:
Timothy Flynn 2024-08-17 13:29:55 -04:00 committed by Andreas Kling
commit e8a1b89447
Notes: github-actions[bot] 2024-08-19 11:30:44 +00:00
15 changed files with 944 additions and 0 deletions

View file

@ -0,0 +1,26 @@
Simple drag and drop:
dragenter
dragover
drop
Drag enter and leave:
dragenter
dragover
dragleave
dragenter
dragover
drop
Drag enter not accepted:
dragenter
Drag over not accepted:
dragenter
dragover
dragover
dragleave
Drop not accepted:
dragenter
dragover
drop