Double tap triggers scroll snap on zoomed document
Categories
(Core :: Layout: Scrolling and Overflow, defect, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox105 | --- | verified |
People
(Reporter: hiro, Assigned: hiro)
References
(Blocks 1 open bug, Regressed 1 open bug)
Details
Attachments
(3 files)
STR;
- Open the attachment
- Zoom in the content
- Scroll down a bit to see the green box
- Double tap
Double tap results scrolling to (0, 0) position on my Mac.
The snap is triggered by this nsIScrollableFrame::ScrollSnap() call in nsIFrame::HandleRelease, the comment for the call explains it's for autoscrolling. I don't quite understand why it gets called on double tap.
CCing Timothy, he might know something why nsIFrame::HandleRelease gets called or he might have seen similar things.
Assignee | ||
Comment 1•2 years ago
|
||
Phew, it turned out this problem has been there before re-snapping feature.
Assignee | ||
Comment 2•2 years ago
|
||
I am suspecting the root cause of this bug is bug 1665932.
Assignee | ||
Comment 3•2 years ago
|
||
Šime, I just saw your comment in bug 1779909 comment 20, if the issue happens only with scroll-behavior: smooth
, it's pretty likely to be the same root cause of bug 1665932.
And I just figured out a way to fix it specific to scroll-snap. Here is a build with the fix. Mind trying to see whether the issue you are seeing is fixed or not? Thanks
Comment 4•2 years ago
|
||
Unfortunately, the issue still occurs. I installed target.dmg from your link and performed the steps from https://bugzilla.mozilla.org/show_bug.cgi?id=1779909#c20.
Assignee | ||
Comment 5•2 years ago
|
||
mSnapTargets stores the ids for all candidate snap taget elements in this scroll
container. Before this change, we collect the ids when we snap or re-snap on the
main-thread. It's used to check whether the last snap target ids comming from
APZ are not stale or not. So if we haven't done any snapping or re-snapping on
the main-thread, we mis-consider all incoming last snap target ids are stale,
thus we fail to re-snap to the position where we snapped on APZ. This issue
had been wall-papered, will be revealed by the next change in this commit series
(we had been unnecessary snappings and re-snappings).
Updated•2 years ago
|
Assignee | ||
Comment 6•2 years ago
|
||
Depends on D152617
Assignee | ||
Comment 7•2 years ago
|
||
(In reply to Šime Vidas from comment #4)
Unfortunately, the issue still occurs. I installed target.dmg from your link and performed the steps from https://bugzilla.mozilla.org/show_bug.cgi?id=1779909#c20.
Thanks for testing. That's unfortunate.
I found another issue while I was trying to make a test for this bug pass locally, I guess it's unlikely related to the issue you are seeing, though.
Pushed by hikezoe.birchill@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/00746ffaaf58 Collect mSnapTargets even if ComputeScrollSnapInfo gets called for ScrollMetadata. r=botond https://hg.mozilla.org/integration/autoland/rev/1d599dd89c5f Skip returning the snap target if the snap position is same as the scroll destination. r=botond
Comment 9•2 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/00746ffaaf58
https://hg.mozilla.org/mozilla-central/rev/1d599dd89c5f
Updated•2 years ago
|
Comment 10•2 years ago
|
||
Reproduced the initial issue using old Nightly from (2022-07-21) and the steps from comment 0. Verified that using latest Firefox 105.0 RC on macOS 11 this is no longer reproducible.
Description
•