Closed Bug 1709374 Opened 4 years ago Closed 3 years ago

[Proton] [reddit.com] The overscroll animation flickers on top of the fixed header for fast swipe up gestures

Categories

(Core :: Panning and Zooming, defect)

Desktop
macOS
defect

Tracking

()

VERIFIED FIXED
90 Branch
Tracking Status
firefox88 --- unaffected
firefox89 --- verified
firefox90 --- verified

People

(Reporter: tbabos, Assigned: botond)

References

(Blocks 2 open bugs, )

Details

(Whiteboard: [mac:ux] )

Attachments

(1 file)

Affected Versions:
Nightly 90.0a1
Beta 89.0b7

Affected Platforms:
MacOS

Steps to reproduce:

  1. Go to reddit.com
  2. Scroll a bit down
  3. Fast swipe up

Expected Results:
The over scroll animation should be correctly displayed above the fixed header.

Actual Results:
The overscroll animation flickers when fast swipe gestures are done.
Recording: https://drive.google.com/file/d/1zqs-qKKPIujmOUuEoFoxU6-6sYAMHYF1/view?usp=sharing

Notes:
Not really a regression but to be considered as part of the fix for Bug 1704503.

I haven't confirmed this yet, but I suspect a relation to bug 1709582 (i.e. the overscroll animation is cancelled because the mouse goes over an element which does a preventDefault()).

Blocks: overscroll
See Also: 17045031709582
Blocks: overscroll-90
No longer blocks: overscroll-post

As Botond said in the last APZ meeting, there seem two different issues, one is actually flickering, the other is the overscroll effect is quite short (it looks to be cancelled).

On a local build with a tweak stopping scroll event fires by commented out this line in nsRefreshDriver::DispatchScrollEvents, the overscroll animation looks normal, so the site does definitely something in response to scroll events (probably to try to adjust scroll position).

The position fixed header flickering looks also fixed by the tweak, that said, with the STR in comment 0 I am seeing sometimes the content (other than the fixed header) is grayed out, maybe it's a different result caused by the same root cause of the flickering? maybe.

I explored the theory we discussed during our meeting, that the issue is caused by the check added in bug 1701738 firing unnecessarily while we are overscrolled at the top. (Note, this is different from the theory in comment 1.)

I wrote a patch to make that check more precise, and it seems to fix the issue for me locally (while also not regressing the sites affected by bug 1701738), though it's hard to be sure as I can only see the issue intermittently to begin with.

Timea and/or Hiro, would you be able to give this build a try, and let me know if it fixes the issue for your as well?

Yes, the build fixes the issue completely! So the content responds scroll events and it changes the scrollable frame size or something then it ends up cancelling the animation, it totally makes sense.

I've also checked the build try and can confirm that the issue doesn't occur on that build anymore.
Also checked a few more sites with fixed headers to see if there are any regressions introduced but couldn't find any for now.

Assignee: nobody → botond
Status: NEW → ASSIGNED
Pushed by bballo@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/3a9d848a590d Make the check for canceling overscroll after a scroll offset reclamp more precise. r=hiro
Status: ASSIGNED → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 90 Branch

Verified fixed on Firefox Nightly 90.0a1 (2021-05-11) (20210511093339) on iMac with OS 10.14.6 and MacBook Pro OS 11.2.3.
Still reproducible on Beta 89.0b10. QA will confirm it on Beta once a fix has been pushed.

Status: RESOLVED → VERIFIED

Hey Botond,
Do you know if a fix for Beta 89 on this issue will be coming soon?

Status: VERIFIED → RESOLVED
Closed: 3 years ago3 years ago
Flags: needinfo?(botond)

We can try. As a low-risk fix, this is a good candidate for uplift.

Flags: needinfo?(botond)

Comment on attachment 9221232 [details]
Bug 1709374 - Make the check for canceling overscroll after a scroll offset reclamp more precise. r=hiro

Beta/Release Uplift Approval Request

  • User impact if declined: When overscrolling at the top of a Reddit page, especially soon after loading while some of the content is still loading dynamically, the overscroll animation can be abruptly cancelled.
  • Is this code covered by automated tests?: Yes
  • 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 very targeted fix, it just tightens the condition of the change made in bug 1707217 so that the page loading new content at the bottom does not interfere with overscroll at the top.
  • String changes made/needed:
Attachment #9221232 - Flags: approval-mozilla-beta?

Comment on attachment 9221232 [details]
Bug 1709374 - Make the check for canceling overscroll after a scroll offset reclamp more precise. r=hiro

Low risk with tests, approved for our last early beta buid, thanks.

Attachment #9221232 - Flags: approval-mozilla-beta? → approval-mozilla-beta+

Verified fixed on Beta 89.0b12 (20210513185752) on MacOS 10.14 and MacOS 11.2.3.

Status: RESOLVED → VERIFIED
Whiteboard: [mac:ux]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: