• Jun Mukai's avatar
    Reland "Process touch events during the tab-dragging window move" · ba26a3f6
    Jun Mukai authored
    This is a reland of 402ea29b
    
    Original change was reverted due to msan failures. Indeed it
    didn't take care of the case of window destruction during
    move. This CL includes its fix.
    
    Original change's description:
    > 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/+/1545113
    > Reviewed-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}
    
    Bug: 943316
    Change-Id: Ice077b4e53309a2a59b254581da7e6dd0f3b409c
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1553171
    Commit-Queue: Jun Mukai <mukai@chromium.org>
    Reviewed-by: default avatarScott Violet <sky@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#648357}
    ba26a3f6
window_tree_host_mus.cc 14.8 KB