Mouse cursor-vs-Page misalignment when scrolling past page top & bottom with touchpad gestures with overscroll enabled
Categories
(Core :: Panning and Zooming, defect)
Tracking
()
People
(Reporter: tuba.terry, Unassigned)
References
Details
Attachments
(4 files)
User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:83.0) Gecko/20100101 Firefox/83.0
Steps to reproduce:
When scrolling to the top or bottom of a page using touchpad scroll gestures, the on-screen mouse cursor can become misaligned with the on-page interaction. Reproduction is consistent. Video demonstration attached.
Reproduction steps:
- Open a scrollable page (reliably reproducing on the firefox release notes page: https://www.mozilla.org/en-US/firefox/releases/ )
- Using the touchpad, scroll to the top or bottom of the page and continue scrolling
- Attempt to highlight an object such as a link or image - Alternatively, right click in open space on the page.
Specific hardware:
- Lenovo Yoga C940-14IIL (Intel Ice Lake / 10th Gen, Iris Plus graphics, generic multitouch touchpad on I2C bus, 4k HDR screen - all OS, Firefox, and Mfg driver updates installed)
- Has been occurring on several Firefox releases, screen capture recorded on Firefox 83
Additional notes:
- Firefox note: Happens regardless of webrender state
Could be GPU-specific - I don't have a second device with the exact GPU to test with:
- Does NOT reproduce on 2018 MacBook Pro when running on intel GPU (8th generation, I believe?)
- Does NOT reproduce on HP Envy laptop (Intel UHD graphics)
- Does NOT reproduce on Nvidia-based Windows laptops or desktops
(Have not tested with a Linux distro on this exact hardware yet)
Problem is dependent on scrolling method:
- Does NOT reproduce when scrolling with keyboard, mouse wheel, or clicking and dragging the scrollbar. Touchpad two-finger scrolling only
Problem is dependent on touchpad hardware:
- Does NOT reproduce with bluetooth touchpad (Logitech k830)
- Does NOT reproduce when using touchscreen to scroll
- Does NOT reproduce on HP laptop with Synaptics touchpad (I2C bus) and driver
- DOES reproduce regardless of internal touchpad settings
Problem does not appear to be GPU- or graphics-state specific:
- DOES reproduce on any monitor resolution (HDR on and off as well)
- DOES reproduce on external monitors, any resolution
- DOES reproduce with a fresh profile and Windows & Intel Graphics settings reset to defaults
- DOES reproduce regardless of battery vs power adapter, and regardless of power saving mode.
Actual results:
- Move the cursor above or below the intended object depending on scroll direction to highlight the object. Alternatively: right click in open space on the page to demonstrate. (Normally the context window's top left corner is aligned to the click location)
To clear the error condition: switch to another tab, then switch back to the tab that got misaligned. Cursor position alignment returns to normal immediately, until next time you scroll to a page edge.
Expected results:
Page/cursor alignment should be maintained regardless of scroll method?
Reporter | ||
Comment 1•3 years ago
|
||
Firefox about:support data from time of video capture
Reporter | ||
Comment 2•3 years ago
|
||
For completeness, also attaching the about:support in human-friendly format
Comment 3•3 years ago
|
||
Bugbug thinks this bug should belong to this component, but please revert this change in case of error.
Reporter | ||
Comment 4•3 years ago
|
||
Confirmed: Problem does NOT reproduce on Ubuntu 20.04 LTS, Firefox 79 or 83
Reporter | ||
Comment 5•3 years ago
|
||
This is the result of the reproduction process when gfx.webrender.compositor
is set to false
Reporter | ||
Comment 6•3 years ago
|
||
Comment on attachment 9190127 [details]
Scroll boundary visible with webrender disabled
Apologies for yet another comment
In this screenshot, the mouse cursor did remain aligned with the objects on screen, I was just able to scroll past the page boundary.
Comment 7•3 years ago
|
||
Thanks for all the info.
Can you set gfx.webrender.force-disabled to true and restart your browser and test? Can you test on Firefox nightly to see if you can reproduce?
Reporter | ||
Comment 8•3 years ago
|
||
Hi Timothy! Test results for you:
-
gfx.webrender.force-disabled
==true
results: I got the same behavior as I did with the "Scroll boundary visible with webrender disabled" screenshot attached. -
Firefox Nightly 85.0a1 (2020-12-02), fresh install, all defaults, same device: cannot reproduce
-
Firefox Nightly,
gfx.webrender.force-disabled
==true
: cannot reproduce -
Firefox release 83 refreshed to defaults: cannot reproduce
Further bug isolation: I believe this is an edge case with APZ Overscroll
I diff'd the about:support data from my original report and after refreshing my firefox profile. At some point in the past I had set apz.overscroll.enabled
to true
and forgot about it.
So I've found a reliable reproduction of the issue:
- Install firefox on a device with a built-in mouse trackpad
- Set
apz.overscroll.enabled
totrue
(I restarted firefox between tests, just to confirm) - Using the built-in trackpad, scroll beyond the bounds of a page.
- If webrender is on, the mouse/page misalignment will be invisible except when highlighting a link/interacting with the page as in the video attached.
- If webrender is off, the page will slowly scroll past page bounds to blank white space but the mouse will stay aligned as in the png attached.
Clear the issue by scrolling back the other direction or switching tabs. With webrender on and scrolling back slowly, you may notice that the page doesn't start visibly scrolling again until it's back within normal page bounds and the mouse-object offset will shrink during that time.
Occurs on:
- Hardware - MacBook Pro in both low- and high-performance GPU modes, HP Envy and Lenovo Yoga laptops
- Latest pushed releases of Firefox 83, 84, & 85
My trouble is solved by leaving or resetting apz.overscroll.enabled
to defaults. But I'm willing and available to assist if this ends up being a bug worth triaging further.
Comment 9•3 years ago
|
||
Thanks for testing!
Comment 10•3 years ago
|
||
apz.overscroll.enabled=true
is not currently a supported configuration, but it's something we'd like to support in the future. I'm going to mark this as blocking the tracking bug for that feature on Windows, bug 1393102.
Comment 11•2 years ago
|
||
(In reply to tuba.terry from comment #8)
Occurs on:
- Hardware - MacBook Pro in both low- and high-performance GPU modes, HP Envy and Lenovo Yoga laptops
Given that this bug happened on Mac as well as on Windows, I guess the bug has already been resolved (by bug 1686146 I assume).
tuba.terry, do you still see the issue with apz.overscroll.enabled=true? Note that the pref has been enabled for a while on Mac by default, and we are planning to enable it on Windows as well in this H2. Thanks!
Reporter | ||
Comment 12•2 years ago
|
||
(In reply to Hiroyuki Ikezoe (:hiro) from comment #11)
tuba.terry, do you still see the issue with apz.overscroll.enabled=true? Note that the pref has been enabled for a while on Mac by default, and we are planning to enable it on Windows as well in this H2. Thanks!
Hi!
I have had to replace the original macbook, but the new M1 machine has not had any trouble. I confirmed apz.overscroll.enabled=true just to be sure. I set it on my Windows machines and the problem no longer appears. Looks like the issue has been resolved successfully, thank you! Great job team Mozilla!
Comment 13•2 years ago
|
||
Thank you tuba for the quick response. Good to hear that! I am going to close this bug.
Description
•