Closed Bug 1703645 Opened 4 years ago Closed 2 years ago

Overscrolling vertically causes zoom when pressing ctrl

Categories

(Core :: Panning and Zooming, defect, P3)

Firefox 89
Unspecified
Windows 10
defect

Tracking

()

RESOLVED INVALID
Tracking Status
firefox89 --- affected

People

(Reporter: 1justinpeter, Unassigned)

References

(Blocks 2 open bugs)

Details

I assume this may be somehow related to bug 1605234, as this only appeared recently. I do not have proton enabled. I can try to get a regression window if that will be helpful.

When scrolling past the bottom of the page using a trackpad (either directly or with momentum; however, it does not appear with a mouse), the overscroll seems to stick around somehow so that if you press ctrl (for example, intending to press ctrl+w to close the tab) the page will zoom out, how it would if I were actively scrolling (despite me not scrolling). This appears to reproduce on any page: every bug on here, example.com, etc.

I can partially reproduce this on Linux: if I press Ctrl while overscrolled and with my fingers still on the touchpad, then:

  1. The overscroll gets stuck in that position (no snap-back animation)
  2. Further movement on the touchpad causes (reflow) zooming in or out

I think (2) is fine in this scenario (it's no different from if you pressed Ctrl while your fingers are still on the touchpad and not overscrolled), but (1) is a clear bug (we should never get stuck in an overscrolled state).


For the other part of the issue (pressing Ctrl after the fingers have left the touchpad causes zooming), could you say what OS you're testing on? I can't reproduce it on Linux, but there are known platform differences between how momentum scrolling is handled.

This is Windows 10.

Agreed that (2) is fine; I don't see (1) because the page doesn't actually overscroll at all (I assume that's a proton thing; I'm using the term to refer to scrolling more than needed to get to the bottom of the page, for lack of a better term).

I'm a tad befuddled though, because now I can't get it to happen again - actually, I can't zoom with ctrl + the touchpad at all. (Zooming with ctrl + the mouse wheel still works normally.)

OS: Unspecified → Windows 10

(In reply to Justin Peter from comment #2)

Agreed that (2) is fine; I don't see (1) because the page doesn't actually overscroll at all (I assume that's a proton thing; I'm using the term to refer to scrolling more than needed to get to the bottom of the page, for lack of a better term).

Ah, I see. I thought you had the overscroll feature enabled (it's currently disabled by default, but can be enabled using apz.overscroll.enabled=true in about:config).

So, there's at least one additional bug here: there should be no behaviour changes with apz.overscroll.enabled=false.

This is Windows 10.

Thanks. On Windows, pressing Ctrl during momentum scrolling is indeed a long-standing known issue (see bug 1199737). We'll have to think about the implications of that for overscrolling.

(In reply to Botond Ballo [:botond] from comment #1)

I can partially reproduce this on Linux: if I press Ctrl while overscrolled and with my fingers still on the touchpad, then:

  1. The overscroll gets stuck in that position (no snap-back animation)

Filed bug 1703705 for this.

Okay, I very well may be losing my sanity. But this appears, somehow, to be a byproduct of (or at least uncovered by) bug 1696827.

With a normal process incl. webrender, I cannot zoom using the trackpad at all. When webrender crashes (for whatever reason, I'm not as certain about the exact cause as I once was), I can zoom using the trackpad, including doing it while scrolling and after overscrolling.

The only differences from about:support from when I experience the issue and when I don't appear to be the existence/nonexistance of a GPU process, software webrender instead of normal webrender, and some stuff about the GPU process dying. However, I have yet to be successful reproducing this by forcing software webrender.

Tl;dr: I have no idea what's going on.

Severity: -- → S3
Priority: -- → P3

The being able to zoom with the trackpad part is interesting. Is this reflow zoom or smooth pinch zoom? If you have whats called a precision touchpad you'd be getting smooth pinch zoom, otherwise reflow zoom.

Can you try disabling webrender? So that you get Direct3d rendering in about:support. And similarly all hardware acceleration so you get basic compositing.

Flags: needinfo?(1justinpeter)

This may eventually be a release blocker for Windows, but isn't one for Mac (as the issue doesn't appear to affect Mac).

This is referring to reflow zoom (same as ctrl+mousewheel or ctrl +/-); pinch zoom on the touchpad works as expected.

That said, I can't reproduce this with the direct3d renderer either. For some reason (which makes me continue to question my sanity) this only appears to pop up after a renderer crash (see bug 1696827 for more of me losing my sanity).

Flags: needinfo?(1justinpeter)

The bug has a release status flag that shows some version of Firefox is affected, thus it will be considered confirmed.

Status: UNCONFIRMED → NEW
Ever confirmed: true

(In reply to Justin Peter from comment #8)

This is referring to reflow zoom (same as ctrl+mousewheel or ctrl +/-); pinch zoom on the touchpad works as expected.

Given that pinch zoom happens only with precision touchpad, with precision touchpad reflow zoom shouldn't happen with pressing Ctrl, so my best guess is that we were in an expected state in APZ (due to recovering the GPU process from the crash?) I am going to keep this bug to block overscroll-windows for now, but we will revisit to unblock if we can't find any reliable way to reproduce this issue.

I have not experienced this issue in quite some time. I do experience very occasional similar problems (not specific to Firefox) where momentum when overscrolling on the touchpad seems to get stored up and is later released (resulting in scrolling, zooming, etc. in various programs), but I'm assuming that's a driver issue or something along those lines.

Thank you Justin for the reply. Yeah it sounds like the touchpad driver on your machine switches in between precision mode and non-prevision mode accidentally.

I am making this bug as INVALID as per comment 11. Thank you Justin for the feedback.

Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → INVALID

Pre-addendum: I pretty much had this written before seeing your reply; I still think it's probably a driver issue (and agree with the resolution), this is just a collection of thoughts while trying to figure out how exactly my touchpad is minorly screwed up that I figured I would post/keep record of since I already had it typed.

--

Actually, I can reproduce something similar to this (likely a different symptom of the same root cause):

  • Open a lot of tabs (such that the tab bar can scroll either direction)
  • Scroll down a page, with momentum left over at the bottom
  • Move the mouse over the tab bar
  • Note that the tab bar moves

I'm not reproducing it on any page other than this one and another bug I had open, or in a clean profile, so... I think I'm going crazy again. (As in: this is a pain to reproduce, contrary to what I thought 5 minutes ago. It also prevents me from using mozregression to figure out if anything has changed with any degree of certainty.)

Again, though, I think this is probably a driver issue, as; I don't have a good way to tell, though, particularly seeing as how I can't even manage to find the model of touchpad (let alone the manufacturer at the moment).

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