Closed Bug 998279 Opened 6 years ago Closed 4 years ago

[Windows, tabs in titlebar] Preventing tab close slide/resize doesn't work if you move the mouse cursor (even within the tabbar) during the close tab animation

Categories

(Firefox :: Tabbed Browser, defect)

x86
Windows 8.1
defect
Not set
Points:
8

Tracking

()

RESOLVED FIXED
Firefox 47
Tracking Status
firefox47 --- fixed

People

(Reporter: johannes.linke, Assigned: Gijs)

References

(Blocks 1 open bug)

Details

when closing tabs, there are multiple issues:

when the tab bar is overflown and when closing a tab that is not the rightmost tab, all tabs to the right of the closed tab move to the left. if the tab par is scrolled to the far right, there will be empty room on the right side of the tab bar after the tab is closed. as soon as the mouse pointer leaves the tab bar, the tabs move to the right to fill the empty room. 

so far so good, but, when moving the mouse while the closing animation / tab movement happens, the empty room gets filled also, which is wrong.

something similar happens when the tab bar is not already overflown, but tabs got smaller than their default size. then, when closing a tab, all tabs move but do not resize (which happens when moving the mouse away from the tab bar), but, when moving the mouse while the animation happens, the tabs also resize, which they shouldn't.


especially the first part makes it VERY annoying to close multiple tabs with the middle mouse button because you must not move the mouse while doing this, if you move the mouse, you end up closing some tab that unexpectedly moved into the way.


this bug exists for ages, i even think it existed in the old non-australis theme. i also thought i already filed a bug for this a year or two ago, but didn't find it...
OS: Windows 8.1 → All
Hardware: x86_64 → All
Summary: australis: closing tabs feels wrong → Closing tabs animation feels wrong
(In reply to Johannes Linke from comment #0)
> so far so good, but, when moving the mouse while the closing animation / tab
> movement happens, the empty room gets filled also, which is wrong.

I can't reproduce this.


> something similar happens when the tab bar is not already overflown, but
> tabs got smaller than their default size. then, when closing a tab, all tabs
> move but do not resize (which happens when moving the mouse away from the
> tab bar), but, when moving the mouse while the animation happens, the tabs
> also resize, which they shouldn't.

I also can't reproduce this.

In both cases, as long as the mouse stays in the toolbox (ie between the top of the tabbar and bottom of the bottom toolbar (bookmarks toolbar in my case)), the tabs don't resize or fill up the end-of-tabbar-gap.

Can you reproduce this on an empty profile?
Flags: needinfo?(johannes.linke)
i just reproduced it with an empty profile.

i also noticed the mouse cursor has to move on the tabbar itself. when placing the mouse pointer right above the toolbar below the tabbar (where the awesomebar etc is), pressing the middle mouse button and then quickly moving the mouse pointer to the awesomebar, everything works as expected.

i tried to make a screencast but didn't find a recorder which can record firefox and doesn't record at ~5fps...
Flags: needinfo?(johannes.linke)
Oddly enough, I can't reproduce this on OS X, but I can on Windows. Odd because I'm not aware that we do anything different for the tab-closing animations. :-\
Status: UNCONFIRMED → NEW
Ever confirmed: true
OS: All → Windows 8.1
Hardware: All → x86
Summary: Closing tabs animation feels wrong → Preventing tab close slide/resize doesn't work on Windows if you move the mouse cursor (even within the tabbar) during the close tab animation
This doesn't reproduce with tabs in titlebar disabled, which gives a hint as to why this is happening... Still not sure how we'd work around it, though... :-\

See also: bug 978048 comment 7.

Felipe, is there some way we can have our cake and eat it too, ie have "normal" mouse events so that stuff "just works", as well as the aero snap behaviour and such? For bug 978048, at least I can see how we could potentially theoretically work around, but this is harder, AFAICT...
Flags: needinfo?(felipc)
Summary: Preventing tab close slide/resize doesn't work on Windows if you move the mouse cursor (even within the tabbar) during the close tab animation → [Windows, tabs in titlebar] Preventing tab close slide/resize doesn't work if you move the mouse cursor (even within the tabbar) during the close tab animation
Gijs: we can try. Is covering mousemove enough to fix the problems we're interested in? (and leaving left mousedown/up alone). I think if we just cover mousemove it would not have weird interactions with Aero Snap.

There would need to be some semantics change to how things work in the glass area. At the moment, when the mouse move from inside the UI to the empty glass area (the extended titlebar), we send a MOUSELEAVE event. But we would probably need to stop sending it if we continue to dispatch mousemoves in that area. There might be things that depends on that, such as bug 613781, bug 612073 and possibly others. So we need to make sure we don't regress those with this change. But maybe it's not too hard.

We could not change the semantics, but that would be strange to receive a mouseleave and continue to receive mousemoves.
Flags: needinfo?(felipc)
Flags: firefox-backlog+
Whiteboard: p=8
Points: --- → 8
Whiteboard: p=8
with 36.0a2 (2014-12-30), the first part of the bug is invalid, i think. when closing a tab in an overflown tab bar, all tabs always immediately move to the right to fill the empty space. that's the behaviour i got before when moving the mouse while the tab closing animation was running, only now it's always happening and therefore predictable and acceptable, i think.

the second part still happens. when the tab bar is not yet overflown but the tabs are already smaller, then the behaviour is still different when moving the mouse and when not doing that. also, introduced an inconsistency, because an overflown tab bar fills up the empty space immediately, whereas the not-overflown tab bar does not.
Blocks: 593680
I believe the patches in bug 1219215 and its blockers fix this.
Depends on: 1219215
Fixed for 47 (nightly) by bug 1219215.
Assignee: nobody → gijskruitbosch+bugs
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 47
You need to log in before you can comment on or make changes to this bug.