Closed Bug 1935022 Opened 3 months ago Closed 19 days ago

Ctrl+tab switches to the wrong tab (started taking the mouse position into account)

Categories

(Firefox :: Tabbed Browser, defect, P3)

All
macOS
defect

Tracking

()

RESOLVED FIXED
137 Branch
Tracking Status
firefox-esr115 --- unaffected
firefox-esr128 --- unaffected
firefox133 --- wontfix
firefox134 --- wontfix
firefox135 --- wontfix
firefox136 --- wontfix
firefox137 --- fixed

People

(Reporter: mstange, Assigned: dao)

References

(Blocks 1 open bug, Regression)

Details

(Keywords: regression)

Attachments

(1 file)

Steps to reproduce:

  1. Be on macOS.
  2. On about:config, set browser.ctrlTab.sortByRecentlyUsed to true.
  3. Open two additional tabs.
  4. Position your mouse somewhere halfway between the top and the bottom of the screen.
  5. Press and hold Ctrl, press Tab, keep holding Ctrl.
  6. Once the Ctrl+Tab panel appears, release Ctrl.

Expected results:
You should be switched to the most recently-used tab, regardless of where your mouse is when the panel appears.

Actual results:
You are switched to the tab which the panel displays under the mouse.


This is a regression from https://hg.mozilla.org/integration/autoland/rev/3613fc672c501bd6280abfe58e1f53e72f2cd5de .

Emilio, can you take a look?
It might well be that the new behavior is "correct" from the widget / platform side and that the frontend-side workaround needs tweaking.

Flags: needinfo?(emilio)
Severity: -- → S3
Priority: -- → P3

Setting 133 to disabled since Comment 0 mentions a pref change.
Not sure if this is something needed for 134.
:emilio you have a pending NI already, maybe you would also know if these needs a fix in time for Fx134?

The pref browser.ctrlTab.sortByRecentlyUsed is exposed in the settings UI as the "Ctrl+Tab cycles through tabs in recently used order" checkbox under General > Tabs, so this is a bug in a released feature.

This isn't the same as a feature that's only enabled in Nightly behind a flag.

Too late for Fx133.
There is a pending NI for :emilio already and this was triaged as S3
The final beta for Fx134 builds tomorrow so it's too late for Fx134 beta also. Not sure if it should be considered in a later Fx134 dot release or should wait until Fx135.

Sorry for not replying to this earlier. I confirmed that this is broken on Linux and intermittently on Windows already.

We could tweak the synthetic mousemove timing or something but I think it'd be more reliable if we could do something like showing the panel with pointer-events: none and remove it once the mouse starts moving.

Problem there would be how to detect the mousemove if the panel is outside of the firefox window tho...

Flags: needinfo?(emilio)

Maybe something like starting with pointer-events: none, then wait for two animation frames (to make sure the synthetic mousemove event is dispatched), then remove the pointer-events...

Component: Widget: Cocoa → Tabbed Browser
Product: Core → Firefox
Assignee: nobody → dao+bmo
Status: NEW → ASSIGNED
Pushed by dgottwald@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/c4f7406bf06c Wait for two animation frames before tracking mouse movement in the ctrl-tab panel. r=emilio
Status: ASSIGNED → RESOLVED
Closed: 19 days ago
Resolution: --- → FIXED
Target Milestone: --- → 137 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: