August 7, 2008
Please test the heck out of tab drag and drop
I just landed an initial checkin to support tab drag-and-drop between windows. Please bang on it. Hard. Especially if you use extensions. We've tried to make it transparent to extensions as much as we could, but I'd like to know what things break (and I do expect _something_ to break).
I already know that it doesn't play that nice with bfcache. I'll fix that in a week or so. I'd like to hear what else doesn't work, either as comments here, as mail to me, or as bugs filed in Firefox:Tabbed Browser. This last is preferred, of course!
Posted by bzbarsky at August 7, 2008 11:22 PM
I just landed an initial checkin to support tab drag-and-drop [between windows] ;)
Often when I'm movin tab to another window focus moves to tab under cursor instead of arrow & no tab-switching. Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1a2pre) Gecko/20080808082047 Minefield/3.1a2pre without extensions.
Often focus moves to tab after cursor instead of arrow without tab-swiching. Also page always loaded incorrectly after moving if there is any action going (throbber Loading... on tab).
When I drag a tab whose content has been zoomed (cmd++) to a different window. the whole UI of obstinate window zoomed (buttons, icons, urlbar, search field, tabs, everything)
Kurt: yeah, indeed. Fixed.
Vasily: I tried dragging a still-loading page
(MXR result for CSSFrameConstructor), and things seem to be OK... Can you give me some steps to reproduce the still-loading issue? And please file a bug on the focus thing; that sounds like a front-end problem.
cris: nice catch! Filed https://bugzilla.mozilla.org/show_bug.cgi?id=449781 on that.
I'm running the Linux nightlies (Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1a2pre) Gecko/20080810020818 Minefield/3.1a2pre)
When I initiate a tab-drag between two windows, Firefox crashes. (crash ids 87115c28-66fc-11dd-85b7-0013211cbf8a, 74006730-66fc-11dd-a411-001cc4e2bf68)
I see some usability problems.
(apparently) Tab drag&drop is only possible if the tab bar is already open. I haven't found a way to "tell" the interface I wanted to do tab drag-drop instead of one of the other possibilities when the bar is not yet opened (only one tab).
If you drop on the *page*, you "copy" the tab from one window to the other. It overwrites the current page, and stays in the old windows.
If you drop on the *tab bar*, you "move" the tab from one window to the other. It appears in a new tab, and disappears in the old windows.
The usability problem is that *nothing* in the interface informs that the result will be different.
I think you need to change the icon when dropping on the page and show a copy icon (with the plus sign) instead of a move icon.
Or keep that icon but remove the tab from the old window.
Right now when dropping on the page, you always get the same result whether or not you press Ctrl, but not the same icon is shown.
But when dropping on the tab bar, the different icons do correspond to different results.
jmdesp, I agree that those are issues, but those are all things in the front end, not in the back end, and they were all already present before my changes (the "move" operation was a bit different, but the cases when we moved or copied were the same as now). Please do file bugs on those if there aren't any yet?