Open Bug 1780117 Opened 3 years ago Updated 3 years ago

Touchscreen scrolling does not fully respect apz.axis_lock.mode preference

Categories

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

defect

Tracking

()

People

(Reporter: botond, Unassigned)

Details

While reviewing bug 1773378, I noticed that touchscreen scrolling does not fully respect the apz.axis_lock.mode preference.

Touchscreen scrolling takes the following codepath at the start of a pan (all methods in AsyncPanZoomController):

OnTouchMove() (case TOUCHING)
StartPanning()
HandlePanningWithTouchAction()

and the following codepath in the middle of a pan:

OnTouchMove() (case PANNING/PANNING_LOCKED_X/PANNING_LOCKED_Y)
TrackTouch()
HandlePanningUpdate()

The comparable codepaths for touchpad scrolling are:

OnPanBegin()
HandlePanning()

and

OnPan()
HandlePanningUpdate()

However, while both touchpad scrolling codepaths check apz.axis_lock.mode, for touchscreen scrolling the HandlePanningWithTouchAction() codepath does not, it always acts as if in standard/sticky mode (subject also to touch-action restrictions).

This appears to be a long-standing regression introduced during the implementation of touch-action in bug 795567.

Severity: -- → S3
You need to log in before you can comment on or make changes to this bug.