New issue
Advanced search Search tips

Issue 618390 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: Apr 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

PointerEventManager should gracefully handle missing pointerId/pointerType

Project Member Reported by mustaq@chromium.org, Jun 8 2016

Issue description

Currently at the EventHandler level we don't expect a platform mouse/touch event with pointerType=unknown. Unfortunately Mac seems to be setting neither type nor id for NSMouseExited and NSMouseEntered, apparently to support their "single-shared-cursor for mouse & all styli" model.

We decided in crrev.com/2022843002 to pass on the missing data case as pointerType=unknown. This idea could be useful for other cases of unknown device type/id too.

We need to handle this case specially in the PointerEventManager. May be events with unknown types should be ignored? Or can mean "a pack of all active pointers" as in the Mac case here.

Note that Windows cursor model is slightly different: in non-touch interactions, even though there is a single visible cursor at any point in time, each non-touch device seems to remember its location before disappearing because of another pointer activity. Touches, however, seems to move the mouse cursor.


 
Could we separate out Unknown from Uninitialized, if we sometimes initialize the pointerType to Unknown?

Comment 2 by mustaq@chromium.org, Jun 29 2016

Labels: PointerEvent
Status: Fixed (was: Assigned)
This is fixed now as we don't set those types as unknown. We placed a heuristic on Mac for example to set a valid pointer type for all the pointers.

Sign in to add a comment