Open Bug 1961577 Opened 25 days ago Updated 14 days ago

Collapsing a Dragged Tab Group Can Cause Unexpected Movement of Tabs When Transitioning Out of Overflow (Underflow)

Categories

(Firefox :: Tabbed Browser, defect, P3)

defect
Points:
3

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

  1. 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.
  2. 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).
  3. Click and begin dragging the tab group. Observe that the group collapses.
  4. 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.
  5. 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.

Severity: -- → S3
Points: --- → 3
Priority: -- → P3
Whiteboard: [fidefe-tabgrps-dnd]
You need to log in before you can comment on or make changes to this bug.