Closed Bug 1693061 Opened 5 years ago Closed 5 years ago

Selected tab is scrolled into view when a window-modal dialog shows in the browser

Categories

(Firefox :: Tabbed Browser, defect)

Desktop
All
defect

Tracking

()

VERIFIED FIXED
87 Branch
Tracking Status
firefox-esr78 --- unaffected
firefox85 --- unaffected
firefox86 --- unaffected
firefox87 --- verified

People

(Reporter: Gijs, Assigned: emilio)

References

(Regression)

Details

(Keywords: regression)

Attachments

(3 files)

When a window-modal dialog like the multi-tab quit warning shows up, we scroll the selected tab into view. This is a bit disconcerting. The tabstrip shouldn't be impacted by the dialog showing up.

This is triggered because an overflow event fires, so we hit this code. This is fairly easy to see in the browser debugger by adding a breakpoint to ensureElementIsVisible in the arrow scrollbox custom element. I don't understand why this event fires - the tabstrip isn't changing so there shouldn't be an event. Emilio, any idea what's going on there?

We could potentially avoid re-running the code there if the overflow attribute is already set on the scrollbox, but I don't know what that would break...

Flags: needinfo?(emilio)
Attached file JS stack
Attached file Native stack

So basically showing the dialog is causing the whole frame tree to blow up (nsCSSFrameConstructor::ConstructDocElementFrame), so we lose the overflow state which lives there.

Well, that line goes back to bug 78695, but we don't use mUserInput to determine stuff when we construct frames, so I think we should just remove it.

Flags: needinfo?(emilio)

We don't use it for anything resembling frame construction, so this
should be safe.

This goes back to bug 78695.

Assignee: nobody → emilio
Status: NEW → ASSIGNED
Pushed by ealvarez@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/a45742c9557d Don't make -moz-user-input differences rebuild frames. r=layout-reviewers,mats
Status: ASSIGNED → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → 87 Branch

Set release status flags based on info from the regressing bug 1685313

Fixed on latest Nightly.

Status: RESOLVED → VERIFIED
Regressions: 1698066
Has Regression Range: --- → yes
Regressions: 1880685
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: