Closed Bug 1695527 Opened 2 years ago Closed 1 year ago

[Proton tooltips] tab tooltip is not attached to the tab when overflowing tab strip is being scrolled

Categories

(Firefox :: Tabbed Browser, defect, P3)

Desktop
All
defect

Tracking

()

VERIFIED FIXED
91 Branch
Tracking Status
firefox-esr78 --- unaffected
firefox86 --- unaffected
firefox87 --- unaffected
firefox88 --- disabled
firefox89 --- wontfix
firefox90 --- wontfix
firefox91 --- verified

People

(Reporter: jastekken, Assigned: enndeakin)

References

(Regression)

Details

(Keywords: helpwanted, regression, Whiteboard: [proton-tooltips][priority:2c] )

Attachments

(2 files)

Attached image protontooltip.jpg

STR:

  1. Open bunch of tabs, so many that tab strip overflows by a fair amount.
  2. Move cursor over the tab strip and scroll "almost immediately"

Actual results:

The tooltip may end up being shown in wrong location. On narrow windows and somewhat fast scrolling the tooltip can even be way outside of the window.

It looks as if the tooltip is being drawn at a coordinate where the initial hovered tab would have been translated to by the scroll. It also seems to be rather picky about the exact timing of the scroll event, but I can reproduce it quite easily nonetheless. More tabs feels to make it easier to reproduce this, but I can't be sure of this.

In addition, this might not actually be proton specific but pre-proton the tooltip was shown so fast that there wasn't ever enough time to initiate scroll between hovering of the tab and showing the tooltip.

Whatever the cause may be, scrolling should probably cancel the tooltip from being shown, or if anything the shown tooltip should be whatever tab the cursor ended up on after the scroll.

Whiteboard: [proton-tabs-bar]
Severity: -- → S2
Keywords: regression
Priority: -- → P2
Regressed by: proton-tooltips
Has Regression Range: --- → yes
Component: Theme → Tabbed Browser

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

There is an event listener for DOMMouseScroll that should be removing the tooltip. I'm not sure why it's not working.

https://searchfox.org/mozilla-central/rev/c24ecdc6f5025ea7e60d0691673de030bd5bf411/layout/xul/nsXULTooltipListener.cpp#230-234

Status: UNCONFIRMED → NEW
Ever confirmed: true
Priority: P2 → P3

@Neil, do you know why the DOMMouseScroll event listener isn't getting used here?

Blocks: proton-tooltips
No longer blocks: proton-tabs-bar
Whiteboard: [proton-tabs-bar] → [proton-tooltips]

RT, as the triage owner I set the priority based on the assumption that we don't want to ship this regression. If you disagree, please explain.

Priority: P3 → P2
Whiteboard: [proton-tooltips] → [proton-tooltips][priority:2c]

(In reply to Jared Wein [:jaws] (please needinfo? me) from comment #3)

There is an event listener for DOMMouseScroll that should be removing the tooltip. I'm not sure why it's not working.

https://searchfox.org/mozilla-central/rev/c24ecdc6f5025ea7e60d0691673de030bd5bf411/layout/xul/nsXULTooltipListener.cpp#230-234

That listener only checks "DOMMouseScroll" but the function that handles the scrolling seems to be triggered by "wheel" event. That same function later calls event.stopPropagation() and event.preventDefault() so I'm thinking the DOMMouseScroll event just isn't triggered.

And indeed, if I remove the on_wheel event listener by using browser toolbox, then the tooltip is removed immediately when using scroll-wheel - even though the scrollbox isn't actually scrolled anymore.

Looking back at it now this bug seems to require enabling the proton tooltips, which have been de-scoped.
Dao - can you please confirm we can lower the priority here?

Flags: needinfo?(dao+bmo)

Yeah, this is only an issue with proton tooltips enabled.

Flags: needinfo?(dao+bmo)
Priority: P2 → P3
Summary: tab tooltip is not attached to the tab when overflowing tab strip is being scrolled → [Proton tooltips] tab tooltip is not attached to the tab when overflowing tab strip is being scrolled
Assignee: nobody → enndeakin
Status: NEW → ASSIGNED

The patch here is based on the test that was added in bug 1696214.

Depends on: 1696214
Pushed by neil@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/68a5da06734a
listen to the wheel event instead of DOMMouseScroll to close tooltips when scrolling, r=masayuki
Status: ASSIGNED → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → 91 Branch

Since the status are different for nightly and release, what's the status for beta?
For more information, please visit auto_nag documentation.

The patch landed in nightly and beta is affected.
:enndeakin, is this bug important enough to require an uplift?
If not please set status_beta to wontfix.

For more information, please visit auto_nag documentation.

Flags: needinfo?(enndeakin)

This only applies when the proton tooltip pref is enabled.

Flags: needinfo?(enndeakin)

Hello! I have managed to reproduce the issue on Ubuntu 20 and Windows using firefox 88.0a1 (2021-02-26) and enabling the tooltip preference. I can confirm that the issue is fixed with firefox nightly 91.0a1(2021-06-08) on all OS's.

I will update the flags accordingly.

Thank you!

Status: RESOLVED → VERIFIED
OS: Unspecified → All
Hardware: Unspecified → Desktop
You need to log in before you can comment on or make changes to this bug.