Closed Bug 1029656 Opened 5 years ago Closed 5 years ago
Impossible touch start warnings printed during APZC gtests
From a recent m-c tbpl log, which I can repro locally: TEST-START | AsyncPanZoomControllerTester.Pinch_UseGestureDetector_TouchActionNone  WARNING: Received impossible touch in OnTouchStart: file /builds/slave/m-cen-osx64-d-0000000000000000/build/gfx/layers/apz/src/AsyncPanZoomController.cpp, line 838 TEST-PASS | AsyncPanZoomControllerTester.Pinch_UseGestureDetector_TouchActionNone | test completed (time: 0ms) TEST-START | AsyncPanZoomControllerTester.Pinch_UseGestureDetector_TouchActionZoom TEST-PASS | AsyncPanZoomControllerTester.Pinch_UseGestureDetector_TouchActionZoom | test completed (time: 0ms) TEST-START | AsyncPanZoomControllerTester.Pinch_UseGestureDetector_TouchActionNotAllowZoom  WARNING: Received impossible touch in OnTouchStart: file /builds/slave/m-cen-osx64-d-0000000000000000/build/gfx/layers/apz/src/AsyncPanZoomController.cpp, line 838 TEST-PASS | AsyncPanZoomControllerTester.Pinch_UseGestureDetector_TouchActionNotAllowZoom | test completed (time: 0ms) Most likely what's happening here is that the touch-action code is preventing zooming, so the second touchstart gets delivered to the APZC OnTouchStart method while it is in the TOUCHING state, and that's resulting in this warning.
5 years ago
Depends on: apz-state
Based on my initial investigation this appears to be due to bug 1013378. Specifically the OnScaleEnd function returns nsEventStatus_eIgnore on the first pinch for these tests (because the touch-action behaviour disables zooming). However, the GestureEventListener code ignores that return code and returns nsEventStatus_eConsumeNoDefault, which means the touch-end events for the pinch are never processed in the APZC. This leaves the APZC in state touching after the first pinch and so when the second pinch starts it spits out the warning because it gets a touch-start in the TOUCHING state.
This patch fixes it, but I'm not yet sure if it breaks other things. I'll look into these nsEventStatus return codes in some more detail and see if it all makes sense.
This is fixed with the patches on bug 1039979.
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → DUPLICATE
Duplicate of bug: 1039979
You need to log in before you can comment on or make changes to this bug.