Closed Bug 1907592 Opened 1 year ago Closed 1 year ago

Scrolling MozArrowScrollbox with mouse wheel feels unresponsive in vertical orientation

Categories

(Toolkit :: UI Widgets, defect, P3)

x86_64
macOS
defect

Tracking

()

RESOLVED FIXED
130 Branch
Tracking Status
firefox130 --- fixed

People

(Reporter: jsudiaman, Assigned: jsudiaman)

References

(Blocks 1 open bug, Regressed 1 open bug)

Details

Attachments

(3 files)

Steps to Reproduce

  1. Create a MozArrowScrollbox with orient set to vertical and smoothscroll set to true.
  2. Append child elements until it overflows.
  3. Attempt to scroll the box using the mouse wheel.

Expected Result
Scrolling feels responsive and similar to native scrolling.

Actual Result
Scrolling feels choppy and appears to scroll in "chunks" rather than in a smooth, continuous flow.

Status: NEW → RESOLVED
Closed: 1 year ago
Resolution: --- → WORKSFORME
Status: RESOLVED → REOPENED
Resolution: WORKSFORME → ---

When a horizontally oriented scrollbox handles a vertical wheel event, it appears that the resulting call to scrollbox.scrollBy() uses { behavior : "instant" } if the delta values of WheelEvent are specified in pixels. This patch applies the same behavior whenever we have a vertically oriented scrollbox as well.

Assignee: nobody → jsudiaman
Status: REOPENED → ASSIGNED
Blocks: 1879923
Pushed by jsudiaman@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/d2e1f0acc1ad Scrolling MozArrowScrollbox with mouse wheel feels unresponsive in vertical orientation r=dao
Severity: -- → S3
Priority: -- → P3
Status: ASSIGNED → RESOLVED
Closed: 1 year ago1 year ago
Resolution: --- → FIXED
Target Milestone: --- → 130 Branch
See Also: → 1908905

Hi Jonathan Sudiaman. We would like to verify this fix. Could you help us with a minimal test case for this scroll box? Or somehow help us reproduce? Thanks!

Flags: needinfo?(jsudiaman)

(In reply to Daniel Bodea [:danibodea] from comment #4)

Hi Jonathan Sudiaman. We would like to verify this fix. Could you help us with a minimal test case for this scroll box? Or somehow help us reproduce? Thanks!

This could be tested using Vertical Tabs, as that is where the issue was originally spotted. Enable the new sidebar from about:preferences#experimental, access the Customize Sidebar panel (gear icon), enable vertical tabs, and open a bunch of tabs. Scroll the tabs container vertically and verify that the movement feels normal.

Flags: needinfo?(jsudiaman)
Regressions: 1925564
Regressions: 1947114

Note that bug 1932985 may have improved the speed of scrolling with { behavior : "smooth" } in this scenario.

So, if the change in this bug was a workaround for { behavior : "smooth" } being slow, rather than specifically wanting instant scrolling (I'm not sure whether that's the case), an option to consider could be to go back to using { behavior : "smooth" }.

(In reply to Botond Ballo [:botond] from comment #6)

Note that bug 1932985 may have improved the speed of scrolling with { behavior : "smooth" } in this scenario.

So, if the change in this bug was a workaround for { behavior : "smooth" } being slow, rather than specifically wanting instant scrolling (I'm not sure whether that's the case), an option to consider could be to go back to using { behavior : "smooth" }.

I tried reverting the changes here. It appears that using smooth causes vertical scroll boxes to become unresponsive to trackpad scrolling, unless you scroll "hard" enough.

No longer regressions: 1947114

(In reply to Jonathan Sudiaman [:jsudiaman] from comment #7)

(In reply to Botond Ballo [:botond] from comment #6)

Note that bug 1932985 may have improved the speed of scrolling with { behavior : "smooth" } in this scenario.

So, if the change in this bug was a workaround for { behavior : "smooth" } being slow, rather than specifically wanting instant scrolling (I'm not sure whether that's the case), an option to consider could be to go back to using { behavior : "smooth" }.

I tried reverting the changes here. It appears that using smooth causes vertical scroll boxes to become unresponsive to trackpad scrolling, unless you scroll "hard" enough.

I was confused for a long time because the symptoms you described backing out this patch as causing ("vertical scroll boxes become unresponsive to trackpad scrolling") sound exactly like bug 1947114, the regression that landing this patch was being blamed for.

I've now cleared this up in bug 1947114 comment 12. To summarize:

  • This change is not what regressed bug 1947114; it was a style change (addition of overflow-y: auto) in bug 1899582 tickling a platform bug. (I thought the platform bug in question was bug 1932985 which is now fixed, but it turns out there are other platform bugs affecting this scenario.)
  • This change helps work around that platform bug, and we want to keep it for now.
  • Eventually, once the platform bug is fixed, we can consider reverting the change in this bug.

(In reply to Botond Ballo [:botond] from comment #10)

This change is not what regressed bug 1947114; it was a style change (addition of overflow-y: auto) in bug 1899582 tickling a platform bug.

Note, it's very possible that this is also true of the other bug in this bug's "regressions" list, bug 1925564.

(In reply to Botond Ballo [:botond] from comment #10)

  • Eventually, once the platform bug is fixed, we can consider reverting the change in this bug.

Filed bug 1949977 to track the platform bug.

You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: