Summary: We've not dispatched mouse/pointer boundary events at the last
mouse cursor position when a layout change or a scroll occurs on
Android. So, I'd like to enable this behavior on Android for conforming
to current Pointer Events.
Details: We're dispatching an internal synthetic `|mousemove|` when a
layout change or a scroll occurs but not exposed to the web. Then, it
triggers the default handlers of `|mousemove|`, so, mouse boundary
events and pointer boundary events may be fired if and only if the
element at the last mouse cursor position is changed. And also the
`|:hover|` state is changed to the element. However, this has been
disabled on Android because after swiping the page to scroll, the
synthetic `|mousemove|` will be fired at originally touched point and an
element which is moved at the point will get `|:hover|` state. So, in
the touch input case, keeping storing the last touch point is odd in
some cases.
I realized that when APZC starts handling a gesture of a touch, APZC
synthesizes a `|pointercancel|`. So, if `|PresShell|` starts handling
`|ePointerCanel|` or `|ePointUp|` caused by touch input device,
`|PresShell|` should forget the last mouse cursor position if and only
if the position is caused by another touch input. Then, synthetic
`|mousemove|` won't be fired after the touch is released or canceled by
a gesture.
Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1633450
Specification:
https://w3c.github.io/pointerevents/#boundary-events-caused-by-layout-changes
Platform Coverage: All (We've already enabled in desktop, but now
enabled on Android too)
Preference: |layout.reflow.synthMouseMove|
Web-platform tests:
https://wpt.fyi/results/pointerevents/pointerevent_pointerout_no_pointer_movement.html?label=master&label=experimental&aligned
<https://wpt.fyi/results/pointerevents/pointerevent_pointerout_no_pointer_movement.html?label=master&label=experimental&aligned>
NOTE: This is a risky change but we should fix this before mobile OSes
would be used in wpt.fyi. So, please file regressions if you find.
--
Masayuki Nakano<masay...@d-toybox.com>
Working on DOM, Events, editor and IME handling for Gecko
--
You received this message because you are subscribed to the Google Groups
"dev-platform@mozilla.org" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to dev-platform+unsubscr...@mozilla.org.
To view this discussion visit
https://groups.google.com/a/mozilla.org/d/msgid/dev-platform/1d770d92-e488-461a-bc41-140de3a7f014%40d-toybox.com.