New issue
Advanced search Search tips

Issue 719182 link

Starred by 1 user

Issue metadata

Status: WontFix
Owner: ----
Closed: May 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 2
Type: Bug-Regression



Sign in to add a comment

Rogue mousemove event fired ~680 ms after touchstart

Reported by pontus.a...@gmail.com, May 6 2017

Issue description

UserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3088.4 Safari/537.36

Steps to reproduce the problem:
1. Open Chrome.
2. Open DevTools.
3. Toggle Device Toolbar and set it to a touch device.
4. Press left mouse button and keep it held.
5. After ~680ms mousemove event will be fired once.

See https://github.com/pomle/chrome-bugs-repr/tree/master/rouge-mousemove for repoduction details.

What is the expected behavior?
No mousemove event should emit.

What went wrong?
A mousemove event was emit from a touch device without any human input.

Did this work before? Yes 

Chrome version: 60.0.3088.4  Channel: stable
OS Version: 10.0
Flash Version: 

Probably incidental, but this bug did not occur at the time this was filed https://bugs.chromium.org/p/chromium/issues/detail?id=639300
 

Comment 1 by tkent@chromium.org, May 7 2017

Components: -Blink Blink>Input
Cc: mustaq@chromium.org nzolghadr@chromium.org
This isn't a rogue event. It is sent part of the long press sequence for interoperability. You are seeing the event after 680ms because of the long press gesture timer. 

https://cs.chromium.org/chromium/src/third_party/WebKit/Source/core/input/GestureManager.cpp?l=371

Do you have a specific use case where this is misbehaving?
Labels: Needs-Feedback
NextAction: 2017-05-22
I have this little project where we render game controllers on Android and send WebRTC events from user input: http://snex.io/

The code is written to handle both mouse and touch gestures. The problem I got with this "bug" was that when the mousemove event is fired, no buttons are considered pressed, and I read that as user has stopped all input. That code can be found here: https://github.com/snex-io/snex-web/blob/9fce49da766c4f2e42d92eeded3de3a0ddc0dbe6/public/scripts/remote.js#L74

I can certainly handle this by any number of circumventions in JavaScript, but to me it looks like a code design smell that a mousemove event has to be fake emitted on a touch device. However, I don't know enough about the history around that decision to say.
Project Member

Comment 5 by sheriffbot@chromium.org, May 8 2017

Cc: dtapu...@chromium.org
Labels: -Needs-Feedback
Thank you for providing more feedback. Adding requester "dtapuska@chromium.org" to the cc list and removing "Needs-Feedback" label.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Status: WontFix (was: Unconfirmed)
There are lots of fake mouse moves emitted on touch devices for compatibility issues.

I suggest you actually write your app using pointer events instead of handling the legacy touch and mouse events.

Although it depends on the target of your application because iOS doesn't support pointer events.

The NextAction date has arrived: 2017-05-22

Comment 8 by mustaq@chromium.org, May 23 2017

NextAction: ----

Sign in to add a comment