New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 642820 link

Starred by 2 users

Issue metadata

Status: Verified
Owner:
Closed: Oct 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Bug


Show other hotlists

Hotlists containing this issue:
Fixing-touch


Sign in to add a comment

Touch stops working if selection handles disappear during drag

Reported by aaron.na...@pearson.com, Aug 31 2016

Issue description

UserAgent: 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:
 
selectTouchIssue.html
427 bytes View Download
ChromeSelectTouchIssue.webm
964 KB View Download
Components: -UI UI>Input>Touch
Labels: -Pri-2 Pri-1
Owner: adlr@chromium.org
Status: Assigned (was: Unconfirmed)
Cc: rbyers@chromium.org
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.
Cc: tkent@chromium.org rpop@chromium.org dtapu...@chromium.org moh...@chromium.org
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?
Cc: -moh...@chromium.org adlr@chromium.org
Owner: moh...@chromium.org
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...

Comment 5 by moh...@chromium.org, Sep 20 2016

Status: Started (was: Assigned)

Comment 6 by moh...@chromium.org, Sep 21 2016

CL uploaded for review: https://crrev.com/2355403002.

Comment 7 by moh...@chromium.org, Oct 11 2016

Summary: Touch stops working if selection handles disappear during drag (was: Touch stops working after selecting option list)
Project Member

Comment 8 by bugdroid1@chromium.org, 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

Comment 9 by moh...@chromium.org, Oct 11 2016

Status: Fixed (was: Started)

Comment 10 by dchan@google.com, Jan 21 2017

Labels: VerifyIn-57
Status: Verified (was: Fixed)

Sign in to add a comment