Process touch events during the tab-dragging window move
When the touch events move very quickly on detaching, some touch events are already queued, those queued touch events aren't processed properly. - Detach() aren't releasing the capture on the source widget. This means those queued touch events are targeted to the source widget instead of the moving widget, but the touch history is already transferred to the moving widget, which makes troubles on gesture recognition. We can release the capture on the detach on this specific situation. - the recognized gestures are sent to the root window of the moving widget and nobody can handle. The new class RemainingGestureEventHandler handles them. - RemainingGestureEventHandler should not handle events originated from ET_TOUCH_CANCELLED -- some test cases actually fail if so. ET_TOUCH_CANCELLED can happen internally within the browser (like Window::CleanupGestureState()), but that's not the intention of this class. Bug: 943316 Test: the new test case in interactive_ui_tests Change-Id: I679562d7707342874960dd7ff4d70d749f1ad437 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1545113Reviewed-by:Jun Mukai <mukai@chromium.org> Reviewed-by:
Scott Violet <sky@chromium.org> Commit-Queue: Jun Mukai <mukai@chromium.org> Cr-Commit-Position: refs/heads/master@{#647789}
Showing
Please register or sign in to comment