Bug 68552 - [WK2] [Mac] Support drag in mouse events for WebKit2 EventSender
Summary: [WK2] [Mac] Support drag in mouse events for WebKit2 EventSender
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: Tools / Tests (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
Depends on: 68108 120538
Blocks: 42194
  Show dependency treegraph
Reported: 2011-09-21 11:55 PDT by Chang Shu
Modified: 2013-08-30 11:12 PDT (History)
6 users (show)

See Also:

proposed fix (25.46 KB, patch)
2013-08-30 10:59 PDT, Alexey Proskuryakov
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Chang Shu 2011-09-21 11:55:22 PDT
The implementation for bug 68108 does not include the drag support.
Comment 1 Darin Adler 2011-10-12 09:21:35 PDT
Why is this making bots red? Can we just add some tests back to the Skipped list?
Comment 2 Alexey Proskuryakov 2013-08-30 10:44:05 PDT
We currently have many drag and drop tests enabled and even "passing", but mostly by accident.

I have a patch that implements WebKit1-like event saving and replaying. This doesn't quite work, because WebDragClient messages from WebProcess are asynchronous, and are delivered out of order in WKTR, which is mostly synchronous when it comes to event handling.

The ideal way to fix this would involve refactoring WebKit2 to use NSDragSession API, which is not modal, and thus doesn't need mouse event saving for tests. There are exciting opportunities for cleanup in WebKit here, as the new API doesn't use NSPasteboard for drag initiation, so we could somewhat decouple drag&drop from clipboard (the only caveat being that DOM APIs expose them as one class, so WebCore layer has to respect that).
Comment 3 Alexey Proskuryakov 2013-08-30 10:59:32 PDT
Created attachment 210135 [details]
proposed fix
Comment 4 Alexey Proskuryakov 2013-08-30 10:59:55 PDT
Comment on attachment 210135 [details]
proposed fix

Sorry, wrong bug.