New issue
Advanced search Search tips

Issue 756667 link

Starred by 3 users

Issue metadata

Status: Verified
Owner:
Closed: Aug 2017
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Bug
Team-Accessibility

Blocking:
issue 662501
issue 750913



Sign in to add a comment

Two-finger touch to toggle ChromeVox doesn't work multiple times in a row

Project Member Reported by dmazz...@chromium.org, Aug 17 2017

Issue description

TouchExplorationController and TouchAccessibilityEnabler are interacting poorly if you hold down two fingers on a CFM device multiple times to toggle accessibility on and off.

 

Comment 1 by r...@chromium.org, Aug 18 2017

Components: UI>Accessibility
Labels: Proj-Bluestreak
Project Member

Comment 3 by bugdroid1@chromium.org, Aug 22 2017

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

commit 51c65f2b9f31ac1e200a018aa779612e75a00be6
Author: Dominic Mazzoni <dmazzoni@chromium.org>
Date: Tue Aug 22 19:36:06 2017

Reconcile TouchExplorationController and TouchAccessibilityEnabler

TouchExplorationController is an event rewriter. When it's on it rewrites
lots of touch events to enable touch-screen accessibility.

TouchAccessibilityEnabler is a simple event listener. It watches for two
fingers being held down and fires some events if so, which may trigger
enabling TouchExplorationController in some cases. Rather than needing
separate logic for rewritten events, TouchExplorationController just passes
events directly to TouchAccessibilityEnabler when it's running.

This leads to problems when TouchExplorationController is enabled or disabled,
because sometimes "release" events get dropped. This causes things to stop
working from time to time after using two fingers to toggle accessibility
more than once.

Fix this by making TouchExplorationController notify TouchAccessibilityEnabler
when it's enabled and disabled so that it can stop or start listening to
events, and reset its internal state.

Bug:  756667 
Change-Id: I1aa5e4867999b545fd8d1128c288b6f3b3554262
Reviewed-on: https://chromium-review.googlesource.com/620007
Reviewed-by: Mitsuru Oshima <oshima@chromium.org>
Reviewed-by: James Cook <jamescook@chromium.org>
Commit-Queue: Dominic Mazzoni <dmazzoni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#496406}
[modify] https://crrev.com/51c65f2b9f31ac1e200a018aa779612e75a00be6/ash/ash_touch_exploration_manager_chromeos.cc
[modify] https://crrev.com/51c65f2b9f31ac1e200a018aa779612e75a00be6/ui/chromeos/touch_accessibility_enabler.cc
[modify] https://crrev.com/51c65f2b9f31ac1e200a018aa779612e75a00be6/ui/chromeos/touch_accessibility_enabler.h
[modify] https://crrev.com/51c65f2b9f31ac1e200a018aa779612e75a00be6/ui/chromeos/touch_accessibility_enabler_unittest.cc
[modify] https://crrev.com/51c65f2b9f31ac1e200a018aa779612e75a00be6/ui/chromeos/touch_exploration_controller.cc
[modify] https://crrev.com/51c65f2b9f31ac1e200a018aa779612e75a00be6/ui/chromeos/touch_exploration_controller.h

Blocking: 750913
Issue 750913 has been merged into this issue.
Labels: Merge-Request-61
Project Member

Comment 7 by sheriffbot@chromium.org, Aug 23 2017

Labels: -Merge-Request-61 Merge-Review-61 Hotlist-Merge-Review
This bug requires manual review: We are only 12 days from stable.
Please contact the milestone owner if you have questions.
Owners: amineer@(Android), cmasso@(iOS), ketakid@(ChromeOS), govind@(Desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Labels: -Merge-Review-61 Merge-Approved-61
Approving merge to M61 Chrome OS.
Verified the fix on R62-9875.0.0
Project Member

Comment 10 by bugdroid1@chromium.org, Aug 25 2017

Labels: -merge-approved-61 merge-merged-3163
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a66c121f2ef30bf6e595990970f81699990492f9

commit a66c121f2ef30bf6e595990970f81699990492f9
Author: Dominic Mazzoni <dmazzoni@chromium.org>
Date: Fri Aug 25 16:46:25 2017

Merge to M61: Reconcile TouchExplorationController and TouchAccessibilityEnabler

TouchExplorationController is an event rewriter. When it's on it rewrites
lots of touch events to enable touch-screen accessibility.

TouchAccessibilityEnabler is a simple event listener. It watches for two
fingers being held down and fires some events if so, which may trigger
enabling TouchExplorationController in some cases. Rather than needing
separate logic for rewritten events, TouchExplorationController just passes
events directly to TouchAccessibilityEnabler when it's running.

This leads to problems when TouchExplorationController is enabled or disabled,
because sometimes "release" events get dropped. This causes things to stop
working from time to time after using two fingers to toggle accessibility
more than once.

Fix this by making TouchExplorationController notify TouchAccessibilityEnabler
when it's enabled and disabled so that it can stop or start listening to
events, and reset its internal state.

(cherry picked from commit 51c65f2b9f31ac1e200a018aa779612e75a00be6)

Bug:  756667 
Change-Id: I1aa5e4867999b545fd8d1128c288b6f3b3554262
Reviewed-on: https://chromium-review.googlesource.com/620007
Reviewed-by: Mitsuru Oshima <oshima@chromium.org>
Reviewed-by: James Cook <jamescook@chromium.org>
Commit-Queue: Dominic Mazzoni <dmazzoni@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#496406}
Reviewed-on: https://chromium-review.googlesource.com/636003
Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org>
Cr-Commit-Position: refs/branch-heads/3163@{#891}
Cr-Branched-From: ff259bab28b35d242e10186cd63af7ed404fae0d-refs/heads/master@{#488528}
[modify] https://crrev.com/a66c121f2ef30bf6e595990970f81699990492f9/ash/ash_touch_exploration_manager_chromeos.cc
[modify] https://crrev.com/a66c121f2ef30bf6e595990970f81699990492f9/ui/chromeos/touch_accessibility_enabler.cc
[modify] https://crrev.com/a66c121f2ef30bf6e595990970f81699990492f9/ui/chromeos/touch_accessibility_enabler.h
[modify] https://crrev.com/a66c121f2ef30bf6e595990970f81699990492f9/ui/chromeos/touch_accessibility_enabler_unittest.cc
[modify] https://crrev.com/a66c121f2ef30bf6e595990970f81699990492f9/ui/chromeos/touch_exploration_controller.cc
[modify] https://crrev.com/a66c121f2ef30bf6e595990970f81699990492f9/ui/chromeos/touch_exploration_controller.h

Labels: bluestreak-launch-blocker
Status: Fixed (was: Started)
Status: Verified (was: Fixed)
Verified the fix on R61-9765.53.0

Sign in to add a comment