helper_doubletap_zoom_oopif subframe-3/4 double-tap-to-zoom tests are fragile due to an edge tap on a 10px target
Categories
(Core :: Panning and Zooming, task)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox154 | --- | fixed |
People
(Reporter: hiro, Assigned: hiro)
References
Details
Attachments
(1 file)
In helper_doubletap_zoom_oopif_subframe-3.html and subframe-4.html, the #target element is 10px tall and the test double-taps at pos.y + 10 (pos being #target's bounding rect) -- exactly on #target's bottom edge.
Native event synthesis delivers integer screen coordinates (the fractional coordinate is truncated by the long-typed nsIDOMWindowUtils argument), so at that boundary the hit-test can resolve to the z-index:-1 #target (exposed in a thin sliver above the overflowing text) on some platforms and to the text/container on others. The same-origin and OOP double-tap-to-zoom paths then pick different zoom targets, producing different visualViewport metrics and failing the cross-process comparison -- notably on macOS once layout.disable-pixel-alignment is enabled (bug 2048146).
Fix: increase the target height to 15px so the tap lands clear of the edge and all platforms hit the same element.
Test dashboard: https://tests.firefox.dev/test.html?test=gfx/layers/apz/test/mochitest/test_group_double_tap_zoom-2.html
| Assignee | ||
Comment 1•25 days ago
|
||
The #target element in helper_doubletap_zoom_oopif_subframe-3.html and
subframe-4.html was 10px tall, and the test double-taps at pos.y + 10 (pos
being #target's bounding rect) -- i.e. exactly on #target's bottom edge.
Native event synthesis delivers integer screen coordinates (the fractional
coordinate is truncated by the long-typed nsIDOMWindowUtils argument), so at
that boundary the hit-test could resolve to the z-index:-1 #target (exposed in
a thin sliver above the overflowing text) on some platforms and to the
text/container on others. The same-origin and OOP double-tap-to-zoom paths then
picked different zoom targets, producing different visual viewport metrics and
failing the cross-process comparison (notably on macOS once layer pixel
alignment is disabled).
Increase the target height to 15px so the tap lands clear of the edge and all
platforms hit the same element.
Updated•25 days ago
|
Comment 3•24 days ago
|
||
| bugherder | ||
Comment 4•24 days ago
|
||
| bugherder | ||
Description
•