New issue
Advanced search Search tips

Issue 713471 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Nov 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 2
Type: Bug



Sign in to add a comment

[TTS] Tap after an invalid Tap is sometimes ignored

Project Member Reported by donnd@chromium.org, Apr 20 2017

Issue description

Easiest way to reproduce is to just go to chrome://flags page and tap in a big triangle pattern around the first paragraph with one corner in the whitespace on the right side (for an invalid tap).  The tap-near logic is not informed of the invalid tap, so it eats the next tap, even though the invalid tap removed the selection and the rest of the UX so the next tap should select.
 

Comment 1 by donnd@chromium.org, May 24 2017

Cc: twelling...@chromium.org
Labels: -Pri-3 Pri-2
Summary: [TTS] Tap after an invalid Tap is sometimes ignored (was: [TTS] Tap after an invalid Tap is ignored)
Some additional thoughts on this issue: We have TapFarFromPreviousSuppression.java which suppresses a Tap that's far away from the previous Tap.  But I think the logic isn't quite right for this, at least with regard for "invalid" Taps.  A Tap generally should always select if there's not already a selection (and not invalid).  If there is an existing selection it should clear that selection unless the Tap is close to the previous one.  I think we have inverted this logic somewhat, and are basing the select/clear decision on the previous Tap instead of the selection and its proximity to the current Tap.

Background: I'm working on "Tap word-edge suppression" (one if the potentially useful Tap features in issue 723194), and I'd like to use "second-tap" as an override to suppression.  The CL I'm working on suppresses when the word is quite short in addition to Taps near the edge of a word.  I think I need to get this "second-tap" logic straightened out to make that work well.

Comment 2 by donnd@google.com, Nov 8 2017

Labels: M-64
Need for M-64 for tap suppression.
Project Member

Comment 3 by bugdroid1@chromium.org, Nov 29 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9b10783b6731e3ba8156e1a05645a1dca10f59b0

commit 9b10783b6731e3ba8156e1a05645a1dca10f59b0
Author: Donn Denman <donnd@google.com>
Date: Wed Nov 29 18:02:29 2017

[TTS] Fix tap-far-from-previous suppression.

A tap that's far from the previous tap should generally be ignored,
and just dismiss our UI instead of starting a new tap-handling sequence.
This CL updates our logic to look at whether there was any selection
before the tap rather than whether the previous tap was suppressed.

Our old logic ignored whether there was any selection before the tap,
and used whether the previous tap was suppressed as a proxy for
no-selection.  Recent code changes make it fairly easy to determine
if there was a selection just before a tap gesture so we use that
instead.

The difference becomes clear when "invalid taps" are considered.
These are taps on non-text characters, e.g. a period or comma.  These
taps don't select, but they also are not technically suppressed, so
a subsequent tap would be ignored.  Now any tap that's far from a previous
tap will be ignored only if there was a selection before the tap.

BUG= 713471 

Change-Id: Ie94e345a87cf580a3d1993370938982e6e273e89
Reviewed-on: https://chromium-review.googlesource.com/794020
Reviewed-by: Theresa <twellington@chromium.org>
Commit-Queue: Donn Denman <donnd@chromium.org>
Cr-Commit-Position: refs/heads/master@{#520161}
[modify] https://crrev.com/9b10783b6731e3ba8156e1a05645a1dca10f59b0/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchSelectionController.java
[modify] https://crrev.com/9b10783b6731e3ba8156e1a05645a1dca10f59b0/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/TapFarFromPreviousSuppression.java
[modify] https://crrev.com/9b10783b6731e3ba8156e1a05645a1dca10f59b0/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/TapSuppressionHeuristics.java

Comment 4 by donnd@google.com, Nov 29 2017

Status: Fixed (was: Assigned)

Sign in to add a comment