Fix file browser jumping when resized in Firefox

What does this MR do and why?

In Firefox only, dragging the file browser's resize handle on the Changes tab makes the whole file browser jump ~135px down the page for the duration of the drag, then snap back on release.

The file browser goes position: fixed while it's resized, and its offset is computed against the panel it scrolls in. A Firefox-only rule on the diffs and notes tab panes forced a new stacking context with transform: translateZ(0). Any non-none transform, even an identity one, also makes the element the containing block for its fixed descendants, so the offset was resolved against the tab pane instead of the panel. isolation: isolate gives the same stacking context without that side effect.

References

Screenshots or screen recordings

Firefox, captured mid-drag.

Before After
firefox_resize_before firefox_resize_after

How to set up and validate locally

  1. In Firefox, open the Changes tab of a merge request with several files.
  2. Start dragging the file browser's resize handle.
  3. Before: the file browser jumps down the page as soon as the drag starts, and stays there until you release. After: it stays put.

MR acceptance checklist

Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Merge request reports

Loading
Loading