New issue
Advanced search Search tips

Issue 862830 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner: ----
Closed: Aug 9
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 3
Type: Bug
Team-Accessibility



Sign in to add a comment

ChromeVox no longer trigger ET_GESTURE_LONG_PRESS event when long press

Project Member Reported by yuweih@chromium.org, Jul 11

Issue description

Chrome Version: 69.0.3487.0
OS: ChromeOS

What steps will reproduce the problem?
(1) On high DPI device
(2) Go to https://permission.site
(3) Click "Fullscreen"
(4) Enable ChromeVox (Ctrl+Alt+Z)
(5) Do a single tap followed by a long press on the touch screen.

What is the expected result?

The fullscreen control FAB drops down from the top of the screen. Context menu might also show up.

What happens instead?

Neither the FAB nor the context menu show up.


According to my bisect result, this is a regression caused by https://chromium-review.googlesource.com/c/chromium/src/+/1119054

According to my debug log, the ET_TOUCH_PRESSED event is followed immediately by an ET_TOUCH_MOVED event with noticeably different coordinates:


  [15825:15825:0711/153948.029477:WARNING:fullscreen_control_host.cc(175)] Event Type: 12, Coord: 213.5, 351
  [15825:15825:0711/153948.060687:WARNING:fullscreen_control_host.cc(175)] Event Type: 13, Coord: 285, 422.5

My guess is that the CL above fixed coordinate calculation in one place but left it unfixed in another place, causing a discrepancy when calculating coordinates for TOUCH_PRESSED and TOUCH_MOVED events, and failing the long press gesture detection.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Jul 13

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

commit 53aafaa158d75ab573bcfcf781ef6dbe87a37872
Author: David Tseng <dtseng@chromium.org>
Date: Fri Jul 13 21:50:40 2018

Fix a few more conversions in TouchExplorationController

1. a few more places where we need to go from dip back to screen (e.g. when dispatching events as part of pass through).
2. InOneFingerPassThrough was taking the event location and subtracting a |passthrough_offset_|. However, it appears downstream there was a syntax or semantic error as the parens were off. We were subtracting the event location *after* being converted to screen with the pass through offset which is in dips.

Bug:  862830 
Change-Id: I2ca08e2e785e23aae980ea1138f8f57876808b34
Reviewed-on: https://chromium-review.googlesource.com/1135656
Reviewed-by: Kevin Schoedel <kpschoedel@chromium.org>
Reviewed-by: Alex Sakhartchouk <alexst@chromium.org>
Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org>
Commit-Queue: David Tseng <dtseng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#575082}
[modify] https://crrev.com/53aafaa158d75ab573bcfcf781ef6dbe87a37872/ash/accessibility/touch_exploration_controller.cc
[modify] https://crrev.com/53aafaa158d75ab573bcfcf781ef6dbe87a37872/chromecast/browser/accessibility/touch_exploration_controller.cc

Status: Fixed (was: Untriaged)

Sign in to add a comment