GTK: when doing a drag from a web page, pass a recent mouse down to gtk_drag_begin() so it has a better idea what time to pass to gdk_grab_pointer().
I believe the following was happening:
- render view gets mouse down, forwards to webkit
- render view gets motion, forwards to webkit
- user releases mouse button, that event is added to the queue
- browser gets message from webkit that a drag has begun, calls gtk_drag_begin() with no event
- gtk_drag_begin initiates a cursor grab, but it only applies to events that have not yet been added to the queue
- mouse release comes up in queue; passed to render view rather than the drag widget
TEST=You can't get stuck in really short render view drags. Whereas it was really easy to repro before (especially in Xephyr), I can repro no longer.
BUG=http://crbug.com/15768
Review URL: http://codereview.chromium.org/150204
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19839 0039d316-1c4b-4281-b951-d872f2087c98
2 files changed