Portals: Deflake TouchInputTransferAcrossReactivation
The sequence of events causing the flake is as follows: 1) when flushing the touch event queue, we ack a touch event and generate a scroll update gesture event. 2) Before dispatching the GSU, we prepend a touch event (kTouchScrollStarted) which is non-blocking and gets acked immediately, causing us to run AckCompletedEvents. 3) AckCompletedEvents acks the remaining touch events in the queue, and in this test, acks a touch cancel event which generates and dispatches a scroll end gesture event. 4) The initial scroll update event is actually dispatched after the scroll end event (which is an invalid ordering). To fix this, we prevent AckCompletedEvents from being called while we're flushing the queue to prevent it from affecting gesture event ordering. Bug: 1010675 Change-Id: I00d102ccde0b4bd458d86737a660f5fb777a3c6e Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1849430Reviewed-by:Dave Tapuska <dtapuska@chromium.org> Reviewed-by:
Kevin McNee <mcnee@chromium.org> Commit-Queue: Adithya Srinivasan <adithyas@chromium.org> Cr-Commit-Position: refs/heads/master@{#705156}
Showing
Please register or sign in to comment