Open Bug 1704080 Opened 2 years ago Updated 5 months ago

[Proton] Elastic overscroll does not work if there are no vertical or horizontal scrollbars present on the site


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




Tracking Status
firefox87 --- disabled
firefox88 --- disabled
firefox89 --- wontfix
firefox90 --- wontfix


(Reporter: tbabos, Assigned: hiro)


(Blocks 3 open bugs)


(Whiteboard: [mac:ux] [proton-platform])


(3 files)

Affected Versions:
Nightly 89.0a1
apz.overscroll.enabled true

Tested On:
MacOS 10.15

Steps to Reproduce:

  1. Go to a page that does not have vertical scroll, ex: - and swipe up-down
  2. Go to a page that does not have horizontal scroll, ex: facebook feed, 9gag, reddit - and swipe left-right

Expected Results:
Swiping in either direction on each of the sites should toggle the overscroll effect.

Actual Result:
The rubberbanding effect is not toggled if there are no scrollbars (horizontal or vertical) on the site.

Please see attached recording for reference:
Works on Safari and Chrome.

The expectation here seems to be in conflict with bug 1686151, which suggests that overscroll should only be enabled if the page is scrollable along at least one axis.

See Also: → 1686151

I can't confirm what is described in bug 1686151. On Mac, our main reference is Safari, and Safari allows overscrolling for non-scrollable pages.

The other bug references Edge and Chromium Edge, so maybe it's Windows specific behavior? (Though I also can't confirm on my windows device)

Regardless, I consider this bug as valid and think that we should go ahead, at least for MacOS.

Not a release blocker but we will try to fix this before release. There may be some interactions with swipe navigation for the horizontal direction.

Whiteboard: [mac:ux] → [mac:ux] [proton-platform]
Priority: -- → P3
Blocks: overscroll-90
No longer blocks: overscroll-post
See Also: → 1709723

I don't see the Chromium Edge behavior on my Windows laptop either. It looks Chromium Edge allows overscrolling on both directions even if the page in question is not scrollable either directions. Presumably we can just allow overscrolling on the root scroller even if it's not scrollable on all platforms.

Note about the interactions with swipe navigation on Mac, overscrolling only happens in the directions where history navigation can not happen, i.e. if there is no forward history, then overscrolling happens on swiping right to left, in other words, overscrolling doesn't happen on swipe left to right if there's backward history. This principal seems to be also effective even if swipe navigation is disabled by the system setting.

Assignee: nobody → hikezoe.birchill

And overscroll the root content scroller even if it's not scrollable.

The conditions when we handoff are;

  1. Handoff to the root unconditionally if the subframe is not scrollable
    with the given pan delta
  2. Handoff to the root if both the subframe and the root are scrollable
    with the given pan delta

Depends on D115425

Pushed by
Factor out ScrollDirectionsForDelta(const ParentLayerPoint&). r=botond
Add AsyncPanZoomController::GetScrollableDirections. r=botond
Handoff pan gestures to the root content scroller depending on whether child/root frame is scrollable or not. r=botond

Verified fixed in the latest Nightly 90.0a1 (2021-05-23) on MacOS 11.2.3, MacOS 11.0.1 and MacOS 10.14.

Regressions: 1712874
Regressed by: 1713291
No longer regressed by: 1713291
Regressions: 1713291
Regressions: 1713305
Depends on: 1713403

Reopening as this was backed out in bug 1712874. We will consider re-landing it after implementing dominant axis scrolling in bug 1713403, although we may want to revisit whether this behaviour is valuable at all (I've heard mixed feedback).

Resolution: FIXED → ---
Target Milestone: 90 Branch → ---

(Given the timing, a re-landing is unlikely to happen for 90.)

Blocks: overscroll-post
No longer blocks: overscroll-90
Points: --- → 1

Confirmed Edge also does overscroll in non-scrollable cases.

OS: macOS → All

I'm updating the severity of this bug to S3, as this concerns an edge case in a cosmetic feature, it does not prevent the user from making use of a site's functionality in any way.

In addition, we have been shipping the current behaviour on Mac for over a year and we have not received any bug reports about it.

We can still explore making this change in advance of enabling overscroll by default on Windows (hence I am keeping it as a dependency of the overscroll-windows meta bug), but it doesn't need to be on the S2 list.

Severity: S2 → S3

Moving this bug as a blocker of overscroll-post rather than overscroll-windows since this behavior has been there on MacOS environments and on Windows as well on nightly, there's no complain about this behavior.

No longer blocks: overscroll-windows
You need to log in before you can comment on or make changes to this bug.