Tab group label should shift over when dragging first tab out of group
Categories
(Firefox :: Tabbed Browser, defect, P1)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox136 | --- | verified |
People
(Reporter: amylee, Assigned: dao)
References
(Blocks 1 open bug, Regressed 1 open bug)
Details
(Whiteboard: [fidefe-tabgrps-dnd] [UX-tabgrps-review])
Attachments
(2 files, 2 obsolete files)
Steps to reproduce [can add screenshots or video recordings for reference]:
- Create a tab group with 2 or more tabs and have an ungroup tab to the left of the group
- Drag the first tab in the group (next to label) to the left and out of the group
Expected behavior [What should have happened?]:
The tab group shifts over to the right
Actual behavior [What actually happened?]:
Tab group doesn't move so the ungrouped tab on the left shifts over and overlaps with the tab group label (see video)
Updated•1 year ago
|
| Assignee | ||
Updated•1 year ago
|
Comment 1•1 year ago
•
|
||
Removing the first tab from a group shouldn't move that tab to the end of the group instead it should attach the group label to the next tab.
ungroupTab(tab) {
if (!tab.group) {
return;
}
this._handleTabMove(tab, () =>
gBrowser.tabContainer.insertBefore(tab, tab.group.nextElementSibling)
);
}
add check here if the tab is the first in the group and not the last tab or single tab use gBrowser.tabContainer.insertBefore(tab, tab.group.previousElementSibling.nextElementSibling)
Comment 2•1 year ago
|
||
Bug 1926382 fixed most of the visual/interface issues with tab group labels during drag drop using a simple code change. The tradeoff was that the tab group label and the first tab in that tab group are being animated together, which doesn't allow for the first tab in the tab group to be dragged well.
I haven't been able to think of a clever shortcut to making tabs and tab group labels work together well in all cases.
Comment 3•1 year ago
|
||
(In reply to tabmix.onemen from comment #1)
Removing the first tab from a group shouldn't move that tab to the end of the group instead it should attach the group label to the next tab.
ungroupTab(tab) { if (!tab.group) { return; } this._handleTabMove(tab, () => gBrowser.tabContainer.insertBefore(tab, tab.group.nextElementSibling) ); }add check here if the tab is the first in the group and not the last tab or single tab use
gBrowser.tabContainer.insertBefore(tab, tab.group.previousElementSibling.nextElementSibling)
I think you are describing a different interaction. This bug is about dragging the first tab out of a tab group. It sounds like you are describing the behavior for the "Remove from Group" context menu option when right-clicking on a tab inside of a tab group.
I filed bug 1935307 to capture your recommendation. Thanks!
Updated•1 year ago
|
Comment 4•1 year ago
|
||
Updated•1 year ago
|
Comment 5•1 year ago
|
||
| Assignee | ||
Updated•1 year ago
|
Comment 6•1 year ago
|
||
Updated•1 year ago
|
Updated•1 year ago
|
Updated•1 year ago
|
| Assignee | ||
Updated•1 year ago
|
| Assignee | ||
Updated•1 year ago
|
Comment 10•1 year ago
|
||
| bugherder | ||
Comment 11•1 year ago
|
||
Verified as fixed in our latest Nightly build 136.0a1 (2025-01-30).
Comment 12•1 year ago
|
||
The comment above greatestOverlap indicate
If the elements have different sizes, then this returns the larger overlap percentage.
but there is a 3rd case that you did not cover
* p2 p1 p1+s1 p2+s2
* | | | |
* ---------------------------------
* =================================
* s2
* ==========
* s1
* ==========
* overlap
When element 1 is completely inside element 2 set overlapSize = s1
and the function greatestOverlap should return s1 in this case
Comment 13•1 year ago
|
||
Dragging tabs is a mess in RTL browser
| Assignee | ||
Comment 14•1 year ago
|
||
(In reply to tabmix.onemen from comment #13)
Dragging tabs is a mess in RTL browser
I've filed bug 1945440, will attach a patch shortly. Please file new bugs if you find more issues.
Updated•1 year ago
|
Comment 15•1 year ago
|
||
Updating the Status flag for this issue since this was already verified, unless there is a reason why this was changed back to Fixed in which case I apologize for updating it again.
Description
•