Mozilla/5.0 (Windows NT 5.1; rv:13.0a1) Gecko/20120201 Firefox/13.0a1
Dragging and clicking a thumbnail while in drag operation makes the thumbnail grid freeze. No operation on thumbnails can be performed afterwards.
Opening a new tab or hiding/showing the New Tab Page resolves the issue.
Initially, found aleatory while dragging a thumbnail. The thumbnail froze on screen, between cells. Couldn't reproduce afterwards.
Howver, the reported problem above (drag and click while the thumbnail reaches the future position)can be reproduced always.
Thanks for finding this, I'll have a look at it. Can you please use http://vid.ly/ or something similar to upload your screencasts to in the future? screencast.com requires Windows Media Player which not all people have :) Thanks!
Yes, I know what you mean. I don't have it either on Linux, but it came in handy while on Windows.
Occurs on all platforms. STR:
1. Drag the thumbnail.
3. Quickly click and drag once again.
Created attachment 595710 [details] [diff] [review]
Problem: when quickly dragging a tab after dropping it again it still fades into its target position and does not receive mouse events. So we receive a dragstart event for the underlying cell which we should just ignore.
Solution: ignore dragstart events when the event target :not(.site).
Comment on attachment 595710 [details] [diff] [review]
Review of attachment 595710 [details] [diff] [review]:
r=me with a test added
Phew, so the reason I didn't add a test in the first place was because I anticipated how hard writing a good test for this scenario would be. We have no real drag&drop test case in the code base because it's really hard to write one for code using the html5 dnd api. I'd have to not only fake mousedown/move/up events but also drag/start/end/over/enter/leave and drop.
Should we maybe ask for some help from the MozMill guys here? Not sure if they have better APIs for stuff like this...
Dietrich, how should we proceed with this?
Neil, do you know how to best go about testing the new dnd api?
We do have some drag and drop tests. For example, the recently added editor/libeditor/base/test/test_dragdrop.html to test editor/textbox drag/drop, plus some browser specific drag tests in browser_drag.js. However there are many aspects of drag and drop that cannot be tested automatically, as the native apis control most of the operation.
But if you could describe what you need testing (where you would put ok/is calls for example), I can tell you if and how it could be done.