Open Bug 1327271 Opened 7 years ago Updated 2 years ago

It's possible to accidentally scroll tabs toolbar to the empty space after closing some tabs

Categories

(Toolkit :: UI Widgets, defect, P3)

defect

Tracking

()

Tracking Status
firefox50 --- unaffected
firefox51 --- unaffected
firefox52 --- unaffected
firefox53 --- fix-optional
firefox54 --- fix-optional
firefox56 --- fix-optional
firefox57 --- fix-optional
firefox58 --- wontfix
firefox59 --- ?

People

(Reporter: arni2033, Unassigned)

References

Details

(Keywords: regression)

>>>   My Info:   Win7_64, Nightly 53, 32bit, ID 20161219030207 (2016-12-19)
STR_1:
1. Open many tabs to cause overflow in tabs toolbar, close several tabs to get empty space in the end
2. Scroll tabs strip to the beginning, then to the end

AR:  Empty space in the end of tabs strip
ER:  No empty space


STR_1_detailed:
1. Open many tabs to cause overflow in tabs toolbar (N tabs). Open N more tabs.
2. Switch to the last tab.
3. Hover mouse over the (2N-3)th tab, middle-click 3 times to close 3 tabs
4. Rotate mouse wheel up twice.
5. Rotate mouse wheel down twice

AR:  Step 4 - Empty space becomes invisible.  Step 5 - There's still empty space in the end
ER:  Step 5 - there should be no empty space
No longer blocks: 1277113
User Agent:  Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:53.0) Gecko/20100101 Firefox/53.0

I have tested this issue on Windows 10 x64 with the latest Firefox release (50.1.0) and the latest Nightly (53.0a1-20170116030326) and managed to reproduce it on the latest Nightly, on the latest Firefox release (50.1.0) the issue is not reproducible.

I have performed a regression, here are the results:

Narrowed inbound regression window from [7065b2e2, f4f6a59b] (4 revisions) to [75174a72, f4f6a59b] (2 revisions) (~1 steps left)
Oh noes, no (more) inbound revisions :(
Last good revision: 75174a724d6516bb643710498862a44feeedde6d
First bad revision: f4f6a59b53106e9ff550b18e374a401ecea78e2a
Pushlog:
https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=75174a724d6516bb643710498862a44feeedde6d&tochange=f4f6a59b53106e9ff550b18e374a401ecea78e2a

Looks like the following bug has the changes which introduced the regression:
https://bugzilla.mozilla.org/show_bug.cgi?id=1316505
Component: Untriaged → XUL Widgets
Keywords: regression
Product: Firefox → Toolkit
Masayuki, can you look at this?
Flags: needinfo?(masayuki)
Hmm, looks like that this is not a new regression.

Starting with fixing bug 1316505, Windows and Linux start to use same path as Mac. So, perhaps, this must have already existed on mac even before fixing bug 1316505.

In tabbar, there is a dummy tab, "using-closing-tabs-spacer", at the end. When tab is closed by mouse, this is expanded to fill the space caused by closed tab. Therefore, if we should prevent to scroll to it, we need to ignore it at handling wheel events. I still don't have a smart idea how to ignore it in scrollbox element.
Flags: needinfo?(masayuki)
Ah, but the spacer isn't included in <children> of the scrollbox (then, _getScrollableElements() shouldn't include the spacer). Hmm, I'm really confused by what causes the space and cannot detect the space.
any ideas on how to address this?  We'll want to get a fix and uplift to 53 soon
Flags: needinfo?(masayuki)
No. And I don't think that this is not so important because this doesn't a bug hiding necessary UI and this is not recent regression on macOS (bug 1316505 makes Firefox for Windows and Linux use same path as macOS).
Flags: needinfo?(masayuki)
Oops, I meant "I don't think that this is so important".
Neil, do you agree with comment 6?
Flags: needinfo?(enndeakin)
Better to ask Dao I think.
Flags: needinfo?(enndeakin) → needinfo?(dao+bmo)
Weird but not severe. I'm not even sure how this worked before bug 1316505. Perhaps tabbrowser should just call _unlockTabSizing for the wheel event?
Flags: needinfo?(dao+bmo)
(In reply to Dão Gottwald [::dao] from comment #10)
> Weird but not severe. I'm not even sure how this worked before bug 1316505.
> Perhaps tabbrowser should just call _unlockTabSizing for the wheel event?

What do you think?
Flags: needinfo?(masayuki)
Could be. However, I have another concern.

When you close tabs with wheel-clicks (middle-clicks), it may be possible to scroll a little bit _accidentally_ because some mice's wheel is very sensitive. In such case, when you close a lot of tabs with wheel-clicks, it might cause closing unexpected tab accidentally.

So, marking this as INVA might be better than fixing the visual issue.
Flags: needinfo?(masayuki)
Dropping this bug from regression tracking as it seems like an edge case even if we accept it as a valid bug.
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.