Collapsing a Dragged Tab Group Can Cause Unexpected Movement of Tabs When Transitioning Out of Overflow (Underflow)
Categories
(Firefox :: Tabbed Browser, defect, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox-esr115 | --- | unaffected |
firefox-esr128 | --- | unaffected |
firefox137 | --- | unaffected |
firefox138 | --- | wontfix |
firefox139 | --- | wontfix |
firefox140 | --- | affected |
People
(Reporter: tabmix.onemen, Unassigned)
References
(Blocks 1 open bug)
Details
(Whiteboard: [fidefe-tabgrps-dnd])
Description
When dragging a tab group, the group collapses as part of the startTabDrag
function. This function also calls _lockTabSizing
and sets the #keepTabSizeLocked
flag to prevent tab width changes during the drag operation. This works as expected when the total width of all tabs remains within the browser window width.
However, when the tab bar is initially overflowing, and collapsing the dragged tab group causes the total width of the remaining tabs to become less than the browser window width (transitioning out of overflow, or "underflow"), the remaining visible tabs can unexpectedly shift or move. This occurs even though individual tab sizing is locked.
This inconsistent behavior likely arises from how the browser recalculates and adjusts the layout of the tab strip when moving into a non-overflowing state after a group collapses during a drag.
Steps to Reproduce
- Create a tab group with a specific number of tabs. Ensure there are enough tabs to the left and right of the group to enable scrolling in both directions.
- Add tabs to the group such that when the group is collapsed, the remaining tabs are not overflowing (the total width is less than the window), and when the group is expanded, the tabs are overflowing (the total width exceeds the window).
- Click and begin dragging the tab group. Observe that the group collapses.
- Without dropping the group, observe the behavior of the other visible tabs as the group collapses and the tab bar transitions out of the overflow state. Note if they shift or change position.
- Repeat steps 3-4 with different initial scroll positions to see if the behavior varies.
Expected Results
When a dragged tab group collapses and the tab bar transitions out of an overflowing state, the position of the other visible tabs should remain stable. The locking of tab sizing should prevent any unexpected horizontal movement or reflow of the non-grouped tabs during this transition.
Actual Results
Collapsing the dragged tab group, particularly when it causes the tab bar to transition out of overflow, results in the other visible tabs shifting or moving horizontally in an unexpected manner.
Updated•14 days ago
|
Updated•14 days ago
|
Description
•