Touch stops working if selection handles disappear during drag
Reported by
aaron.na...@pearson.com,
Aug 31 2016
|
|||||||||
Issue descriptionUserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36 Platform: 8350.68.0 (Official Build) stable-cahnnel veryon_minnie Steps to reproduce the problem: 1. Open the attached page on ChromeOS using a device with a touch screen (see video attached). 2. Select some text to the side of the selection box. 3. Move the selection so that it encompasses just the selection box. 4. Touch one of the selection handles. What is the expected behavior? Touch should continue to work after doing the above steps. What went wrong? After touching the selection handle touch stops working entirely. You can't select text, open the selection box, pinch zoom, etc. You have to close the browser before touch will start working again. Demo file and video showing the issue are attached. Did this work before? N/A Chrome version: 52.0.2743.116 Channel: stable OS Version: 52.0.2743.116 Flash Version:
,
Sep 7 2016
We can reproduce this bug in M52/M53 across multiple devices. Touchscreen stops working only for the page itself - other tabs or UI still work. Switching tabs and coming back (or just waiting a little while) will make the touchscreen work on the tab again.
,
Sep 8 2016
I was able to reproduce this on ChromeOS but not Android, so it sounds like an issue with the aura-specific touch text selection logic interacting poorly with the special nature of <select> elements. I think that code is currently in a bit of a limbo state in terms of ownership (Chrome UI vs. input-dev). Anyone on the CC list want to claim ownership?
,
Sep 9 2016
I've played a bit with this yesterday. My (more reliable) repro steps (with the same html page): 1. Long-press on a text to select it and bring up selection handles; 2. Drag a selection handle and move your finger over the <select> element; 3. While still holding the selection handle, move your finger up a bit. After this, the selection suddenly disappears which causes handles to go away. From this point on, RenderWidgetHostViewAura receives touch events but not gesture events, even after you lift your finger and start a new touch sequence. So there are two issues here: 1. Selection is cleared when the handle is being dragged. 2. If selection is cleared while a handle is being dragged, no gesture event is received anymore. A simpler repro for this without <select> element: http://output.jsbin.com/votezuy I will take a deeper look next week...
,
Sep 20 2016
,
Sep 21 2016
CL uploaded for review: https://crrev.com/2355403002.
,
Oct 11 2016
,
Oct 11 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/4a024a3bfb952b02c0d0db8e52a9e7ed66df0e82 commit 4a024a3bfb952b02c0d0db8e52a9e7ed66df0e82 Author: mohsen <mohsen@chromium.org> Date: Tue Oct 11 19:36:46 2016 Consume entire touch sequence in touch selection controller If touch selection gets deactivated while the user is dragging a handle, the rest of the touch sequence should be consumed by the touch selection controller; otherwise, there would be an incomplete touch sequence which confuses gesture recognizer. In other words, if the touch selection controller consumes a touch press, it should consume the rest of events in the touch sequence up until the touch release. BUG= 642820 TEST=See bug details Review-Url: https://codereview.chromium.org/2355403002 Cr-Commit-Position: refs/heads/master@{#424513} [modify] https://crrev.com/4a024a3bfb952b02c0d0db8e52a9e7ed66df0e82/ui/touch_selection/touch_selection_controller.cc [modify] https://crrev.com/4a024a3bfb952b02c0d0db8e52a9e7ed66df0e82/ui/touch_selection/touch_selection_controller.h [modify] https://crrev.com/4a024a3bfb952b02c0d0db8e52a9e7ed66df0e82/ui/touch_selection/touch_selection_controller_unittest.cc
,
Oct 11 2016
,
Jan 21 2017
,
Feb 6 2017
|
|||||||||
►
Sign in to add a comment |
|||||||||
Comment 1 by abodenha@chromium.org
, Sep 1 2016Labels: -Pri-2 Pri-1
Owner: adlr@chromium.org
Status: Assigned (was: Unconfirmed)