Drag and drop icon stuck inside the tabbar after dragging tabs
Categories
(Firefox :: Tabbed Browser, defect)
Tracking
()
People
(Reporter: bmaris, Assigned: Oriol)
References
Details
(Whiteboard: Fixed by bug 1808787)
Attachments
(2 files)
Found in
- Firefox 105.0
Affected versions
- Firefox 105.0
- Firefox 106.0a1
- Firefox 102.3.0esr
Tested platforms
- Affected platforms: Windows 10, macOS 11, Ubuntu 18.04
- Unaffected platforms: none
Steps to reproduce
- Open at least two tabs
- Select the tabs
- Hold ctrl (mac - alt/option) and drag the tabs to the far left
- Release the tabs
Expected result
- Drag drop indicator is displayed before dropping the tabs and disappears after dropping them.
Actual result
- Drag drop indicator is stuck in the tab bar. It will disappear if one tab is moved inside the tabbar though.
Regression range
- Not a regression since this is reproducible since https://bugzilla.mozilla.org/show_bug.cgi?id=1593965 was fixed, and very close of implementing the indicator. (https://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=19704452bd548d0c36d601d609cfcfe2c3e0caa2&tochange=05f4ac2d6dd6beb54482ce138d36cf3226f2464c)
Reporter | ||
Updated•2 years ago
|
Comment 1•1 year ago
|
||
I can't reproduce on 110 on macOS. Are you still seeing this? If so can you attach a screencast - maybe I'm misunderstanding some steps?
Reporter | ||
Comment 2•1 year ago
|
||
(In reply to :Gijs (he/him) from comment #1)
I can't reproduce on 110 on macOS. Are you still seeing this? If so can you attach a screencast - maybe I'm misunderstanding some steps?
I can still reproduce this issue on W10 and Mac13 on both 110.0 and Latest Nightly. I've attached a gif for better understanding the steps, hope this helps.
Updated•1 year ago
|
Comment 3•1 year ago
|
||
I think this got fixed on nightly by bug 1808787. Could you confirm?
Assignee | ||
Comment 4•1 year ago
|
||
Seems fixed, but on the other hand, I now see the indicator going to the end of the tabbar when dragging to the beginning before the 1st tab.
Probably because
if (!tab) {
return this.allTabs.length;
}
should be something like
if (!tab) {
let firstTab = this.allTabs[0];
let isBeforeFirstTab = RTL_UI
? event.screenX > firstTab.screenX + firstTab.getBoundingClientRect().width
: event.screenX < firstTab.screenX;
if (isBeforeFirstTab) {
return 0;
}
return this.allTabs.length;
}
Comment 5•1 year ago
|
||
(In reply to Oriol Brufau [:Oriol] from comment #4)
Seems fixed, but on the other hand, I now see the indicator going to the end of the tabbar when dragging to the beginning before the 1st tab.
Probably because
if (!tab) { return this.allTabs.length; }
should be something like
if (!tab) { let firstTab = this.allTabs[0]; let isBeforeFirstTab = RTL_UI ? event.screenX > firstTab.screenX + firstTab.getBoundingClientRect().width : event.screenX < firstTab.screenX; if (isBeforeFirstTab) { return 0; } return this.allTabs.length; }
That seems reasonable. Would you like to attach a patch? :-)
Assignee | ||
Comment 6•1 year ago
|
||
The reason for this bug was that in
on_dragleave(event) {
this._dragTime = 0;
// This does not work at all (see bug 458613)
var target = event.relatedTarget;
while (target && target != this) {
target = target.parentNode;
}
if (target) {
return;
}
this._tabDropIndicator.hidden = true;
event.stopPropagation();
}
event.relatedTarget
would be the .tab-drop-indicator
, so target
would end up being #tabbrowser-tabs
and the early return would prevent hiding the indicator.
My patch added .tab-drop-indicator { pointer-events: none; }
which prevents the indicator from becoming the related target.
Assignee | ||
Comment 7•1 year ago
|
||
(In reply to :Gijs (he/him) from comment #5)
That seems reasonable. Would you like to attach a patch? :-)
Filed bug 1820912.
Comment 8•1 year ago
|
||
Thanks!
Reporter | ||
Comment 9•1 year ago
|
||
I am not sure but did the fix from bug 1808787 removed the indicator all together (with the exception the case from bug 1820912)?
If yes then I'll close this bug since I can't run into this issue anymore (as tested in latest Nightly from today)
Comment 10•1 year ago
|
||
(In reply to Bogdan Maris [:bogdan_maris], Desktop QA from comment #9)
I am not sure but did the fix from bug 1808787 removed the indicator all together (with the exception the case from bug 1820912)?
I still see the indicator while dragging the tab between other tabs. Can you clarify when you aren't seeing it anymore?
Assignee | ||
Comment 11•1 year ago
|
||
Yeah, the indicator should still be shown when needed, I don't really get comment 9.
Reporter | ||
Comment 12•1 year ago
|
||
Gah, false alarm. I was dragging tabs without holding the ctrl/option key as I should have.
I rechecked on latest Nightly and I can confirm that the indicator appears and this particular issue is no longer reproducible across platforms (windows 10, macOS 13 and Ubuntu 22.04). Closing as verified fixed.
Reporter | ||
Updated•1 year ago
|
Description
•