Closed Bug 1709723 Opened 4 years ago Closed 4 years ago

When starting a scroll in a direction that isn't scrollable along the handoff chain, overscroll the innermost scrollable scroll frame

Categories

(Core :: Panning and Zooming, defect)

defect

Tracking

()

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

People

(Reporter: mstange, Assigned: hiro)

References

(Blocks 1 open bug, Regression)

Details

(Keywords: regression)

Attachments

(1 file)

Steps to reproduce:

  1. Have a vertically scrollable <div> on a non-scrollable page. For example in the Slack or Matrix channel view.
  2. Scroll the div to the bottom, if it's not yet at the bottom.
  3. Initiate another scroll towards the bottom, inside the div.

Expected results:
The div should enter overscroll at the bottom.

Actual results:
Nothing happens.

Blocks: overscroll-90
No longer blocks: overscroll-post

This is a recent regression.

Keywords: regression

Confirmed to be from bug 1705280. A simple test page is https://theres-waldo.github.io/mozilla-testcases/div.html.

Regressed by: 1705280
Has Regression Range: --- → yes
Assignee: nobody → hikezoe.birchill
Status: NEW → ASSIGNED

This will be superseded by bug 1704080. That means that once after we allow overscrolling for non-scrollable containers, in this example case panning on the div will hand off to the root non scrollable container and then the root one starts overscrolling. Since bug 1704080 is marked as a blocker for overscroll-90, I am going to leave this for now.

See Also: → 1704080

Set release status flags based on info from the regressing bug 1705280

(In reply to Hiroyuki Ikezoe (:hiro) from comment #4)

This will be superseded by bug 1704080. That means that once after we allow overscrolling for non-scrollable containers, in this example case panning on the div will hand off to the root non scrollable container and then the root one starts overscrolling. Since bug 1704080 is marked as a blocker for overscroll-90, I am going to leave this for now.

Is that the desired behaviour, though? That, on a page like this (scrollable subframe + non-scrollable root), if the subframe is scrolled to the top, then scrolling upwards over the subframe overscroll the root and not the subframe?

ni?markus for thoughts on this

Flags: needinfo?(mstange.moz)

I would much prefer the rubber-banding in this case to happen on the nested scroll frame, not on the page. For example, on Matrix, I don't want the sidebar to bounce while the mouse is over the channel contents. Scrolling the innermost scroll frame will also be a more consistent experience if a user scrolls to the bottom with a series of multiple quick scroll gestures: every scroll gesture will scroll/overscroll the same scroll frame, even at the end when the scroll frame has already hit the edge.

Flags: needinfo?(mstange.moz)

I submitted a patch that it's the desired behavior I believe, i.e. overscroll handoff doesn't happen if the root content is not scrollable, it happens if the root content is scrolllable. I will write two gtests for this change, one is the root content is not scrollable either horizontally or vertically, the other is the root is only horizontally scrollable and verticall overscroll handoff doesn't happen.

Attachment #9220778 - Attachment description: WIP: Bug 1709723 - Hand off overscrolling to the root content APZC only if the APZC is scrollable in the same direction of the input. → Bug 1709723 - Hand off overscrolling to the root content APZC only if the APZC is scrollable in the same direction of the input. r?botond
Pushed by hikezoe.birchill@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/8736e85d1c8f Hand off overscrolling to the root content APZC only if the APZC is scrollable in the same direction of the input. r=botond
Status: ASSIGNED → RESOLVED
Closed: 4 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. Waiting for potential Uplift in Beta89 for further verification.

The patch landed in nightly and beta is affected.
:hiro, is this bug important enough to require an uplift?
If not please set status_beta to wontfix.

For more information, please visit auto_nag documentation.

Flags: needinfo?(hikezoe.birchill)

We've decided to not uplift this.

Flags: needinfo?(hikezoe.birchill)

Marking this as Verified Fixed based on the last comment from Hiro.

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

Attachment

General

Created:
Updated:
Size: