Open Bug 1495580 Opened 6 years ago Updated 3 months ago

Enable test_group_zoom.html on Windows (InjectTouchInput failure)

Categories

(Core :: Panning and Zooming, enhancement, P5)

enhancement

Tracking

()

Tracking Status
firefox64 --- affected

People

(Reporter: botond, Unassigned)

References

(Blocks 1 open bug)

Details

In bug 1470504 we are enabling gfx/layers/apz/test/mochitest/test_group_zoom.html on desktop platforms except for Windows.

This bug tracks enabling it for Windows as well.
Priority: P3 → P5

A new test I added in bug 1636911

gfx/layers/apz/test/mochitest/helper_checkerboard_zoomoverflowhidden.html

fails with the error

InjectTouchInput failure. GetLastError=87

in the console. I copied the zoom_in sequences from a couple of subtests of test_group_zoom.html, so it seems quite likely they are the same issue, so noting that here so that test can be enabled on Windows when this is fixed.

Blocks: 1636911

When I run some of the disabled tests locally I get the same "InjectTouchInput failure. GetLastError=87" error, so likely the same issue.

Error 87 is ERROR_INVALID_PARAMETER. So probably the arguments we're passing are not what the API expects.

FWIW, disabling

helper_basic_zoom.html
helper_zoomed_pan.html
helper_fixed_position_scroll_hittest.html

is enough to get test_group_zoom.html and test_group_zoom-2.html to pass locally and on try for me.

We start getting the error when we do the second touch point. The documenation for the api

https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-injecttouchinput

says that it is passed an array of contacts:

"Array of POINTER_TOUCH_INFO structures that represents all contacts on the desktop. The screen coordinates of each contact must be within the bounds of the desktop."

The wording makes me think that maybe it expects every call to have the list of every active touch point, whereas we are calling it with single touch points and the first and second are intended to be active at the same time.

I also had to disable
gfx/layers/apz/test/mochitest/browser_test_select_zoom.js
for this same reason on Windows. (It's annotated with this bug number.)

Summary: Enable test_group_zoom.html on Windows → Enable test_group_zoom.html on Windows (InjectTouchInput failure)

I also had to disable
gfx/layers/apz/test/mochitest/browser_test_tab_drag_zoom.js
from bug 1707983 for this same reason on Windows. (It's annotated with this bug number.)

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