Add callback to clean up after misbehaved drag and drop events
Add callback to clean up after misbehaved drag and drop events

The jQuery Plugin triggers the "dragover" callback when the browser
triggers the "dragover" event and the types in their DataTransfer
include a "Files" item. It also triggers the "drop" callback when the
browser triggers the "drop" event and the list of files in its
DataTransfer is not empty.

Unfortunately some browsers may trigger "dragover" events with a
DataTransfer that includes a "Files" item and then trigger a "drop"
event with an empty list of files. When that happens the actions
performed in the "dragXXX" callbacks could be left hanging if they were
expected to be finished in the "drop" callback (for example, if the drop
zone was highlighted during the drag to be then restored when the file
was finally dropped). This commit adds the "dropnofiles" callback to be
able to handle those situations.

Signed-off-by: Daniel Calviño Sánchez <bd7629e975cc0e00ea7cda4ab6a120f2ee42ac1b@gmail.com>

andreas-p/nextcloud-server,andreas-p/nextcloud-server,nextcloud/server,andreas-p/nextcloud-server,andreas-p/nextcloud-server,nextcloud/server,andreas-p/nextcloud-server,nextcloud/server,nextcloud/server