Closed Bug 1512493 Opened 2 years ago Closed 2 years ago

Disable switching tabs by scrolling in the tab bar when it doesn't overflow when not part of platform convention


(Toolkit :: XUL Widgets, defect, P2)

65 Branch



Tracking Status
firefox-esr60 --- unaffected
firefox63 --- unaffected
firefox64 --- unaffected
firefox65 + verified
firefox66 + verified


(Reporter: yoasif, Assigned: dao)



(Keywords: regression)


(1 file)

Bug 1285812 "fixed" an issue where users desired tab switching on mousewheel scroll. This is a nice feature if users are expecting or are used to it, but has been removed from GTK3 (for example), and as such is not expected when using GNOME. 

GNOME Web no longer switches tabs when mousewheel scrolled over tabs, and ideally, Firefox would match. 

I don't have much experience with KDE, but this may be standard there, so I think the best course of action is to match platform convention based on the desktop environment that the user is running; just running on Linux, unfortunately does not provide enough information to Firefox what the actual user expectation is.
See Also: → 1285812
This behavior is currently ifdef'd:

Should be easy to make that pref-controlled instead, possibly off by default if that's indeed native Gtk3 behavior.
Component: Tabbed Browser → XUL Widgets
Product: Firefox → Toolkit
Also opened in GNOME to replicate the existing (pre-65) Firefox behavior of scrolling through the tab bar without switching at the toolkit level. 

This doesn't change the fact that GNOME doesn't support switching via mouse wheel at all, but is intended to bring the desirable macOS/Windows tab scroll behavior to GTK.

Posting here as an FYI; not strictly relevant to the bug here.
Better to block the regressing bug.
Blocks: 1285812
Keywords: regression
See Also: 1285812
Version: Trunk → 65 Branch
Priority: -- → P4
Aaron, can you take a look at this bug as well as bug 1285812 to see if we should go forward with shipping this behavior change?
Flags: needinfo?(abenson)
Changing the priority to p2 as the bug is tracked by a release manager for the current beta.
See for more information
Priority: P4 → P2
Assignee: nobody → dao+bmo
Pushed by
Make switching tabs by scrolling pref-controlled and off by default. r=stransky
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla66

Thanks for doing this, Dão. Please nominate for Beta approval when you get a chance.

Flags: needinfo?(dao+bmo)
Flags: needinfo?(abenson)

This is okay to uplift to beta.

Comment on attachment 9035258 [details]
Bug 1512493 - Make switching tabs by scrolling pref-controlled and off by default. r=stransky

[Beta/Release Uplift Approval Request]

Feature/Bug causing the regression: Bug 1285812

User impact if declined: This makes the swith-tab-on-scroll behavior, as implemented in bug 1285812, opt-in, matching the current behavior in GTK3.
This introduces a new pref - 'toolkit.tabbox.switchByScrolling' - which turns this behavior ON with set to true in about:config or in the distribution-specific preferences.

Is this code covered by automated tests?: No

Has the fix been verified in Nightly?: No

Needs manual test from QE?: No

If yes, steps to reproduce:

List of other uplifts needed: None

Risk to taking this patch: Low

Why is the change risky/not risky? (and alternatives if risky): This updates the behavior to match that of the latest GTK version(s), now gated by a pref, not by introducing a risky change.

String changes made/needed: n/a.

Attachment #9035258 - Flags: approval-mozilla-beta?

Comment on attachment 9035258 [details]
Bug 1512493 - Make switching tabs by scrolling pref-controlled and off by default. r=stransky

[Triage Comment]
Per UX and the various bugs discussing this, I agree with putting this behind a pref for now. Approved for 65.0b11.

Flags: needinfo?(dao+bmo)
Attachment #9035258 - Flags: approval-mozilla-beta? → approval-mozilla-beta+

I verified the pref "toolkit.tabbox.switchByScrolling" and it is off by default and the scroll function in tab bar doesn't work only if the pref's value is changed to true. Tests were performed on Firefox Beta 65.0b11 and latest Nightly 66.0a1 (2019-01-14) under Ubuntu 16.04 (x64).

Flags: qe-verify+

Works fine on Windows as well (tested with today's nightly and 65.0b11) - very nice! :)

Any plans to add additional prefs to control:
(1) whether to allow changing tabs by scrolling in case of an overflowing tab bar as well
(2) whether to wrap at the end/beginning of the tab bar (ie scrolling past the last tab going back to the first tab)

Previously I was using this workaround which supported both of the things I mentioned above (not sure why (1) worked there tbh):

I wouldn't mind submitting a patch for this (especially (2), since (1) looks trickier and more risky to break something unrelated since it seems to be handled by code in scrollbox which may or may not be used elsewhere) if it has a decent chance to get merged.

You need to log in before you can comment on or make changes to this bug.