Closed Bug 1692023 Opened 4 years ago Closed 4 years ago

Add more tests for Linux touchpad zooming

Categories

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

task

Tracking

()

RESOLVED FIXED
88 Branch
Tracking Status
firefox88 --- fixed

People

(Reporter: botond, Assigned: aemad)

References

Details

Attachments

(1 file)

Bug 1640186 is adding machinery for synthesizing native touchpad pinch events from a test (on Linux), and uses that machinery to test one scenario (zooming in).

It would be useful to test a few additional scenarios:

  • Zooming out

  • Zooming in and out in the same gesture. This is useful test coverage because an earlier version of the patch tripped an assertion in this scenario, at the time the gesture transitioned from zoom-in to zoom-out.

  • Zooming in on a page that handles zooming itself (rather than letting the browser zoom).

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

  • Zooming in on a page that handles zooming itself (rather than letting the browser zoom).

More detail on this: recall that, for the purpose of dispatching events to web content, the browser converts PinchGestureInput events into WidgetWheelEvents with the Control modifier set.

WidgetWheelEvents get dispatched to the page as wheel events. So, the page can listen for wheel events and call preventDefault() on those that have the Control modifier, which tells the browser not to perform the default action (in this case, zooming) for the event.

In the test, we can assert that the wheel event's properties such as deltaY have reasonable values. This tests that our Linux widget code populates the PinchGestureInput with reasonable values which then turn into a reasonable deltaY.

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

In the test, we can assert that the wheel event's properties such as deltaY have reasonable values. This tests that our Linux widget code populates the PinchGestureInput with reasonable values which then turn into a reasonable deltaY.

We actually discovered today that the deltaY values are too small to be able to zoom in via touchpad pinch on Google Maps.

We should fix that, along with adding this test case, before enabling touchpad pinch zooming by default in bug 1688717, to avoid regressing the user experience on Google Maps. (Therefore I am marking this bug as blocking bug 1688717.)

Blocks: 1688717

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

We should fix that, along with adding this test case, before enabling touchpad pinch zooming by default in bug 1688717, to avoid regressing the user experience on Google Maps. (Therefore I am marking this bug as blocking bug 1688717.)

After thinking more about this, I realized that touchpad pinch gestures have no effect on Linux with apz.gtk.touchpad_pinch.enabled=false, so the observed behaviour on Google Maps, while suboptimal and something we should fix, is not a regression, and therefore does not need to block bug 1688717.

No longer blocks: 1688717
Assignee: nobody → aemad
Status: NEW → ASSIGNED
Attachment #9204831 - Attachment description: Bug 1692023 - Add Zooming out test for Linux touchpad zooming → Bug 1692023 - Add more tests for Linux touchpad zooming
Pushed by bballo@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/74e3d611be8f Add more tests for Linux touchpad zooming r=botond
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → 88 Branch
Regressions: 1696846
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: