Closed Bug 1794590 Opened 2 years ago Closed 1 year ago

Scrollbar dragging when pinch-zoomed in does not work with slider.snapMultiplier

Categories

(Core :: Panning and Zooming, defect)

All
Windows
defect

Tracking

()

VERIFIED FIXED
118 Branch
Tracking Status
firefox107 --- wontfix
firefox118 --- verified
firefox119 --- verified

People

(Reporter: srazin123, Assigned: ajakobi)

References

Details

Attachments

(3 files)

Attached file sample.html

User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0

Steps to reproduce:

This happens most of the time; sometimes the expected result happens.

  1. Open the attached html file.
  2. Zoom-in to the div element using touchpad.
  3. Try to scroll the inside of div element by click and drag the scrollbars.

Actual results:

You can't scroll by click and drag (other ways work).

Expected results:

You should be able to scroll by click and drag.

I can confirm this issue using latest Nightly 107.0a1, under Win 10 x64. I ran mozregression in order to find what lead to this behavior, and it seems that something changed between 2020-08-18 and 2020-08-19. The issue is not reproducing on an older Nightly (20200209215935), but unfortunately I cannot bisect any further due to a mozregression error.

Pushlog: https://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=069bb8bd2356b4d5738e1cec37bf561c24c0f923&tochange=b0888d07df690ed43df31a2b013d12464b183a30

Hi Botond Ballo! I see that a couple of patches landed in that timeframe related to scrollbars, can any of those be the regressor for this issue?

Severity: -- → S3
Status: UNCONFIRMED → NEW
Component: Untriaged → Panning and Zooming
Ever confirmed: true
Flags: needinfo?(botond)
OS: Unspecified → Windows
Product: Firefox → Core
Hardware: Unspecified → All
Version: Firefox 105 → Trunk

Doesn't seem to reproduce on mac for me. But I can reproduce on Windows.

I can reproduce the bug on 2020-06-01 and 2020-08-01 builds (before the regression range). Testing around this time one needs to be careful because this when we were enabling pinch zooming and direct manipulation (to be able to pinch zoom). So in my testing I set the prefs apz.allow_zooming:true and apz.windows.use_direct_manipulation:true.

Weirdly if I set mousewheel.with_control.action:5 and use the mouse wheel plus control to zoom in the bug doesn't seem to happen. But the scrollbars look a little weird, so something must be different.

The issue is related to the slider.snapMultiplier feature, which is only enabled by default on Windows. However, I can reproduce the issue on Linux by setting the pref slider.snapMultiplier to 6 (same value as Windows).

With that pref set, I can also reproduce the issue going back further than the regression range from comment 1 (as early as 2020-05-06, which seems to be the first build where "scrollbar dragging while zoomed in" is usable at all, due to bug 1556556 landing).

I think it's fair to say that the combination of pinch-zooming + scrollbar dragging + slider.snapMultiplier + WebRender has never worked properly.

I suspect the place in the code that needs fixing is here. The claim "resolution doesn't apply to scrollbars" does not hold for subframe scrollbars.

Flags: needinfo?(botond)
Summary: After touchpad zoom gesture, scrollbars inside webpage doesn't work by click and drag. → Scrollbar dragging when pinch-zoomed in does not work with slider.snapMultiplier

Meanwhile, if you don't actually use the slider.snapMultiplier feature (that's the feature where e.g. moving the mouse horizontally away from a vertical scrollbar causes it to snap back to its position at the beginning of the drag), then a workaround for this bug is to go to about:config and set the pref slider.snapMultiplier to 0. Note, the pref requires a restart for a change to take effect.

See Also: → 1722429
Assignee: nobody → ajakobi
Pushed by bballo@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/1aa00f4dbe20 Change mirror value for slider.snapMultiplier r=botond https://hg.mozilla.org/integration/autoland/rev/b7451f6f9a4f Use cumulative resolution for subframes when updating scroll data. r=dlrobertson,botond
Status: NEW → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → 118 Branch

Thank you Alex for fixing this!

Reproducible on a 2023-07-30 Nightly build on Windows 10.
Verified as fixed on Firefox 118.0b2(20230829180158) and Nightly 119.0a1(20230830212731) on Windows 10, macOS 12, Ubuntu 22.
Scrollbars are now working as intended whilst using touchpad by click and drag.

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

Attachment

General

Creator:
Created:
Updated:
Size: