Touchpad two-finger scrolling not working on some sites
Categories
(Core :: Panning and Zooming, defect, P2)
Tracking
()
People
(Reporter: federico.targetti, Assigned: botond)
References
Details
Attachments
(10 files)
5.22 KB,
application/x-zip-compressed
|
Details | |
15.51 KB,
application/x-zip-compressed
|
Details | |
222.14 KB,
application/x-zip-compressed
|
Details | |
439.83 KB,
application/x-zip-compressed
|
Details | |
895.06 KB,
application/x-zip-compressed
|
Details | |
231.32 KB,
application/x-zip-compressed
|
Details | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
1.37 KB,
application/x-zip-compressed
|
Details | |
5.23 KB,
application/x-zip-compressed
|
Details | |
47 bytes,
text/x-phabricator-request
|
lizzard
:
approval-mozilla-beta+
|
Details | Review |
Reporter | ||
Comment 1•6 years ago
|
||
Comment 3•6 years ago
|
||
Comment 4•6 years ago
|
||
Comment 6•6 years ago
|
||
Comment 7•6 years ago
|
||
Sorry for the delay here. Are you still able to reproduce this on a recent Nightly? If so I'll make a build with logging for you to try.
Reporter | ||
Comment 8•6 years ago
|
||
Still able to reproduce on Nightly 67.0a1 (2019-01-30) (64-bit).
Updated•6 years ago
|
Comment 9•6 years ago
|
||
Ok, here is a build with extra logging:
Unzip that and run the firefox.exe, and then reproduce the scrolling problem. Once you reproduce it, shut down the browser. There should be a couple of files created called "bug1511901.txt" and "bug1511901.txt.child-1" (and maybe a few more similarly named ones). Put those in a zipfile and attach it to this bug.
Hopefully the logging will give us some place to start looking. Might need to add more logging to narrow it down based on the first set of logs.
Comment 11•6 years ago
|
||
The log shows a lot of touch events and no wheel events. So the trackpad appears to be sending touch events although from the log it's not really clear that the touch sequences are sane. I'll make another build with more detailed logging.
Comment 12•6 years ago
|
||
So I don't forget - probably won't get to it until Monday.
Comment 13•6 years ago
|
||
After some more code archaeology it turns out this is basically bug 1355162 which I filed a while back and I guess I never got around to fixing.
Updated•6 years ago
|
Reporter | ||
Updated•6 years ago
|
Reporter | ||
Comment 14•6 years ago
|
||
There is any chance this bug will ever get fixed ?
It is still present in v68.0a1 (2019-05-10) Nightly.
Assignee | ||
Comment 15•6 years ago
|
||
(In reply to Kartikaya Gupta (email:kats@mozilla.com) from comment #13)
After some more code archaeology it turns out this is basically bug 1355162 which I filed a while back and I guess I never got around to fixing.
The description of bug 1355162 says:
Because we are
getting WM_TOUCH events, we go into the APZ pinch-pan code which is not
really ideal for this behaviour.
While not ideal, that codepath should still allow us to scroll. Here, though, it sounds like we can't scroll at all. Does that suggest there may be something else / additional going on here?
Reporter | ||
Comment 16•6 years ago
|
||
The v68.0 update removed support for the browser.tabs.remote.autostart workaround and the bug is still present in the v70.0a1 (2019-07-12) Nightly.
Any suggestion on what to do now ? Am I forced to switch to another browser ?
Reporter | ||
Updated•6 years ago
|
Comment 17•6 years ago
|
||
You can try setting dom.w3c_touch_events.enabled
to 0 to see if that helps.
Reporter | ||
Comment 18•6 years ago
|
||
Unfortunately it doesn't help also in v68.0 (see comment 1)
Assignee | ||
Comment 19•6 years ago
•
|
||
(In reply to federico.targetti from comment #16)
The v68.0 update removed support for the browser.tabs.remote.autostart workaround and the bug is still present in the v70.0a1 (2019-07-12) Nightly.
Any suggestion on what to do now ? Am I forced to switch to another browser ?
There are a couple of workarounds you could employ for the time being to force single-process mode (which is what browser.tabs.remote.autostart
does):
- You could use the Extended Support (ESR) version of Firefox, which still supports
browser.tabs.remote.autostart
. - In the regular release version, you can define an environment variable named
MOZ_FORCE_DISABLE_E10S
. (If you do this, please write yourself a reminder to delete this environment variable once the bug is fixed! You don't want to be using single-process mode any longer than is necessary.)
However, both of these are temporary workarounds: ESR will soon transition to be based on Firefox 68, and the environment variable won't be supported forever either.
For a permanent solution, we need to track down and fix the underlying bug here.
Assignee | ||
Comment 20•6 years ago
|
||
I'll try to take over the investigation here, as Kats is on leave for a while.
I'm still confused about comment 15, but I guess we can keep iterating by creating and testing builds with more logging, and hopefully the issues will become clear.
Assignee | ||
Comment 21•6 years ago
|
||
(In reply to Kartikaya Gupta (email:kats@mozilla.com) (away until Feb-2020) from comment #9)
Ok, here is a build with extra logging:
As a starting point, I dug up the logging patch that was included in this build:
https://hg.mozilla.org/try/rev/631be83cf5ea9ee04186eb08000bd89532810fcf
I'll rebase it, add some more logging, and prepare another build to test.
Reporter | ||
Comment 22•6 years ago
|
||
I'll be happy to test it.
Assignee | ||
Comment 23•6 years ago
|
||
Please give this build a try:
(For reference, this comes from https://treeherder.mozilla.org/#/jobs?repo=try&revision=9500239a0d0e7c3a0266219454416e9d872f7c3c&selectedJob=258589297).
Reporter | ||
Comment 24•6 years ago
|
||
Here the requested logs.
Assignee | ||
Comment 25•6 years ago
|
||
(In reply to federico.targetti from comment #24)
Created attachment 9081151 [details]
bug1511901-log.20190728.zipHere the requested logs.
And, just to double check, during the period while these logs were taken, no scrolling occurred at all? Or scrolling occurred but it was slow / janky?
Assignee | ||
Comment 26•6 years ago
|
||
Could you also mention which page you were trying to scroll?
Assignee | ||
Comment 27•6 years ago
|
||
(In reply to Botond Ballo [:botond] from comment #15)
(In reply to Kartikaya Gupta (email:kats@mozilla.com) from comment #13)
After some more code archaeology it turns out this is basically bug 1355162 which I filed a while back and I guess I never got around to fixing.
The description of bug 1355162 says:
Because we are
getting WM_TOUCH events, we go into the APZ pinch-pan code which is not
really ideal for this behaviour.While not ideal, that codepath should still allow us to scroll. Here, though, it sounds like we can't scroll at all. Does that suggest there may be something else / additional going on here?
I think I understand now: the pinch-pan codepath only allows us to scroll the root scrollable element on a page, because pinch gesture events are routed to that. Scrolling other scrollable elements won't work with it.
This is consistent with the bug description:
(In reply to federico.targetti from comment #0)
On some sites like gmail, bugzilla or the Firefox Options, the two-finger
scrolling gesture doesn't work and, instead, a shrinking square appears.
These are all pages where the element that's scrolling is not the root scrollable element of the page.
So, Kats' analysis that this requires fixing bug 1355162 is correct.
Reporter | ||
Comment 28•6 years ago
|
||
I produced a new series of logs from pages that partially work (about:config, amazon.com) and pages that do not work at all (Firefox Options menu, bugzilla.mozilla.org).
On pages that partially work, I see almost always a shrinking square, but the two finger gesture scroll the page, albeit not smoothly; on pages that do not work, I see only the shrinking square and no scroll happens.
Assignee | ||
Comment 29•6 years ago
|
||
Thanks -- could you give this build a try please? (Comes from this push.)
This one includes not only logging, but also an attempt at a fix. Please let me know if this allows you to scroll on pages where you previously couldn't. (I'm still interested in the logs as well.)
Reporter | ||
Comment 30•6 years ago
|
||
Here attached a new set of logs for the same sites as comment 28.
Now the touchpad works in some way on all sites, but it always generates the "shrinking square" and it seems that Firefox miss some events. Moreover, the gesture of the two fingers is reversed upside down with respect to the use of the environment variable MOZ_FORCE_DISABLE_E10S.
I tried again to set layer.async-pan-zoom.enabled to false, but the scrolling is bumpy.
Assignee | ||
Comment 31•6 years ago
•
|
||
(In reply to federico.targetti from comment #30)
it always generates the "shrinking square"
Curious. I'm not exactly sure what this "shrinking square" is, but I assumed it was an OS effect triggered by this NotifyPinchGesture()
call.
However, we only make that call if we get into the PINCHING
state, and the logs confirm that with the latest patch, we never get into the PINCHING
state (which is good). So, it must be triggered by something else.
Any chance you could take a screenshot or photograph of this "shrinking square" and attach it here?
Reporter | ||
Comment 32•6 years ago
|
||
Here the "shrinking square". Let me know if you need more info.
Assignee | ||
Comment 33•6 years ago
|
||
Thanks. I see the shrinking square as well on a Windows touchscreen laptop. For me it seems to appear when the second finger goes down on the touchscreen.
I'm not sure what produces it. It's possible it's the OS, without Firefox's involvement. Do you ever see it in other applications besides Firefox?
Anyways, I think we can spin off the issue of the shrinking square to a follow-up bug, and proceed with a fix here even if it's not perfect. (I assume the shrinking square is more of a minor visual annoyance, than a significant usability problem.)
So, let's please try one more build (from this push), hopefully the last one to collect logs from. This one should have the "direction reversed" problem fixed, and it has a bit of extra logging, to log the model and version number of the touchpad (this is necessary because we need to make the change specific to the affected types of touchpads).
Reporter | ||
Comment 34•6 years ago
|
||
Here the logs.
I didn't tested too much the patch (these weeks I have limited access to the internet), but it seems to work now. Thank you.
As per the 'shrinking square', no, I never saw it in other applications besides Firefox.
Assignee | ||
Comment 35•6 years ago
|
||
Thanks. The device identifiers from the log match those in bug 1355162 comment 1. I will prepare an updated patch that employs the fix I wrote for this device type, and post it for review.
Assignee | ||
Comment 36•6 years ago
|
||
By the way -- do you experience this problem in Chrome?
Assignee | ||
Comment 37•6 years ago
|
||
![]() |
||
Comment 38•6 years ago
|
||
sorry for the review delay, looking at this today.
Reporter | ||
Comment 39•6 years ago
|
||
(In reply to Botond Ballo [:botond] from comment #36)
By the way -- do you experience this problem in Chrome?
No. No problems with Chrome, Edge or IE.
Comment 40•6 years ago
|
||
Comment 41•6 years ago
|
||
bugherder |
Updated•6 years ago
|
Assignee | ||
Comment 42•6 years ago
|
||
Federico, how is the behaviour in the latest Firefox Nightly?
Reporter | ||
Comment 43•6 years ago
|
||
(In reply to Botond Ballo [:botond] from comment #42)
Federico, how is the behaviour in the latest Firefox Nightly?
I've updateted to Nightly 70.0a1 (2019-08-27), but it does not work (no scroll on affected pages, like bugzilla).
Can I activate some log or do anything to help you to solve the issue ?
Assignee | ||
Comment 44•5 years ago
|
||
Interesting. I wonder if I made a mistake in checking the device identifiers. I will prepare a logging patch to shed light on the issue.
Assignee | ||
Comment 45•5 years ago
•
|
||
Could you try this build please? (Built from this push.)
Reporter | ||
Comment 46•5 years ago
|
||
Also this build does not work.
Here the logs.
Reporter | ||
Updated•5 years ago
|
Assignee | ||
Comment 47•5 years ago
|
||
Thanks. Based on the logs, the problem is with the device name comparison. We query the length of the device name, and Windows is returning twice the length, even though I'm using the narrow-character version of the API. We then resize the buffer to that length, and comparison with the expected device name fails due to the greater length. Fix coming up.
Assignee | ||
Comment 48•5 years ago
|
||
Ok, the issue should be fixed in this build. (Built from this push.) Could you give it a try?
Reporter | ||
Comment 49•5 years ago
|
||
It works !
Here the logs.
Reporter | ||
Updated•5 years ago
|
Assignee | ||
Comment 50•5 years ago
|
||
Updated•5 years ago
|
Comment 51•5 years ago
|
||
Comment 52•5 years ago
|
||
bugherder |
Assignee | ||
Comment 53•5 years ago
|
||
Federico, could you give today's Firefox Nightly a try please?
Reporter | ||
Comment 54•5 years ago
|
||
It works now.
Many Thanks.
Assignee | ||
Comment 55•5 years ago
|
||
That's great to hear, thanks for confirming!
Assignee | ||
Comment 57•5 years ago
•
|
||
Comment on attachment 9091198 [details]
Bug 1511901 - Fix device name comparison in TouchDeviceNeedsPanGestureConversion(). r=jmathies
Beta/Release Uplift Approval Request
- User impact if declined: On devices running Windows with certain touchpad models (affected devices include several Acer Aspire and Acer TravelMate models), two-finger scrolling does not work at all on some websites, including some widely used websites like Gmail.
- Is this code covered by automated tests?: No
- Has the fix been verified in Nightly?: Yes
- Needs manual test from QE?: No
- If yes, steps to reproduce:
- List of other uplifts needed: None
- Risk to taking this patch: Low
- Why is the change risky/not risky? (and alternatives if risky): This is a small addendum to the main part of the fix which landed in 70, which fixes a bug in the code to identify the affected devies.
- String changes made/needed:
Comment 58•5 years ago
|
||
Comment on attachment 9091198 [details]
Bug 1511901 - Fix device name comparison in TouchDeviceNeedsPanGestureConversion(). r=jmathies
Followup fix for edge cases. OK for uplift for beta 13.
Updated•5 years ago
|
Comment 59•5 years ago
|
||
bugherder uplift |
Updated•5 years ago
|
Comment 60•5 years ago
|
||
Hi, I tried to Verify the issue but I was unable to reproduce it in the first place, I tried with an Acer Laptop as well as a Surface Pro 4, on Gmail and Options and other pages but without any success, I was able to scroll using the 2 finger method from Nightly 64 until our latest build.
Federico can you please take a look in our latest Nightly and Beta versions and see if the issue still occurs on your end ? it will help us out a lot. Thank you
You can find the builds here :
NIGHTLY - https://nightly.mozilla.org/
BETA - https://www.mozilla.org/ro/firefox/channel/desktop/
Assignee | ||
Comment 61•5 years ago
|
||
Rares, the issue only occurs on some laptop models (ones that come with a certain model of touchpad, I guess). I wasn't able to reproduce the issue either using my hardware; I based my fix on logging provided by Federico.
Federico did already confirm that a nightly version that includes this patch fixes the problem (comment 54), and a previous nightly that does not include the patch is still affected (comment 43).
Comment 62•5 years ago
|
||
Thank you Botond for the updates, I will change the Nightly flag into Verified based on comment 54, but we would still like the reporter to check on Beta on his end since we can't reproduce this issue ourselves.
Federico can you please take a look on Beta as well and confirm that the issue does not occur on your laptop?
Reporter | ||
Comment 63•5 years ago
|
||
Both Nightly 71.0a1 (2019-10-09) and Beta 70.0b13 work for me.
Comment 64•5 years ago
|
||
Thanks a lot for Confirming this issue as Fixed, I will mark this issue accordingly based on Comment 63.
Comment 65•4 years ago
|
||
It appears the two-finger scrolling error has resurfaced in an updated Synaptics driver. Running a similar PC as the one in the original comment:
Acer TravelMate P645-SG
Windows 10 Pro 64bit (Version 2004)
Firefox 82.0.2 64bit
Synaptics driver 19.5.45.6
__
Scrolling errors not present in Chrome, Edge or other Windows apps, only Firefox.
Assignee | ||
Comment 66•4 years ago
|
||
(In reply to Derrick H. from comment #65)
It appears the two-finger scrolling error has resurfaced in an updated Synaptics driver. Running a similar PC as the one in the original comment:
Acer TravelMate P645-SG
Windows 10 Pro 64bit (Version 2004)
Firefox 82.0.2 64bit
Synaptics driver 19.5.45.6__
Scrolling errors not present in Chrome, Edge or other Windows apps, only Firefox.
Thanks for reporting this. Could I ask you to file it as a new ticket, please? I will take a look. (Hopefully it should just be a matter of extending the check to another set of device identifiers.)
Comment 67•4 years ago
|
||
(In reply to Botond Ballo [:botond] from comment #66)
(In reply to Derrick H. from comment #65)
It appears the two-finger scrolling error has resurfaced in an updated Synaptics driver. Running a similar PC as the one in the original comment:
Acer TravelMate P645-SG
Windows 10 Pro 64bit (Version 2004)
Firefox 82.0.2 64bit
Synaptics driver 19.5.45.6__
Scrolling errors not present in Chrome, Edge or other Windows apps, only Firefox.
Thanks for reporting this. Could I ask you to file it as a new ticket, please? I will take a look. (Hopefully it should just be a matter of extending the check to another set of device identifiers.)
No problem, will do. Thank you for your dedicated work!
Much appreciated.
Comment 68•3 years ago
|
||
I think this issue reappeard (ACER P645) after i updated to Win 11. Found a workaround, but this thread was first thing to show up on google while searching. So here is the workaround, hope it helps somebody.
In Synaptics touch pad settings, in the detail view disable ZoomPerfect function https://imgur.com/a/1cSzH2E (screen is in czech but should help to find it)
Assignee | ||
Comment 70•3 years ago
|
||
It's not clear what would have changed between Win10 and Win11, but I've rebased the logging patch from earlier in this bug so we can see what the logs show for an affected user on Win11.
Assignee | ||
Comment 71•3 years ago
|
||
Ok, here is a build with logging enabled (from this Try push).
If someone who experiences this issue on Windows 11 could download that and get logs following these instructions:
Unzip that and run the firefox.exe, and then reproduce the scrolling problem. Once you reproduce it, shut down the browser. There should be a couple of files created called "bug1511901.txt" and "bug1511901.txt.child-1" (and maybe a few more similarly named ones). Put those in a zipfile and attach it to this bug.
that would be great.
Comment 72•3 years ago
|
||
(In reply to hlava.vit from comment #68)
I think this issue reappeard (ACER P645) after i updated to Win 11. Found a workaround, but this thread was first thing to show up on google while searching. So here is the workaround, hope it helps somebody.
In Synaptics touch pad settings, in the detail view disable ZoomPerfect function https://imgur.com/a/1cSzH2E (screen is in czech but should help to find it)
I've got a similar issue after formatting the hard drive and installing again Win 10 (not 11) in an Acer Travelmate P648: I could scroll but it behaved very badly and the "shrinking square" also appeared. I used this workaround and now it works fine. Thanks guys.
Description
•