Summary: Previously, Gecko forgot the last `|pointerover|` (and `|mouseover|`) target when it's removed before the pointer (mouse cursor) is moved outside of the target. Therefore, `|pointerenter|` events will be fired on all ancestor elements of the new `|pointerover|` target when the pointer moves next time. The new behavior is, Gecko keeps storing a parent element of the removed last `|pointerover|` target as the deepest last `|pointerenter|` target. Therefore, redundant `|pointerenter|` events won't be fired in the case.

Bug: <https://bugzilla.mozilla.org/show_bug.cgi?id=1938528> and <https://bugzilla.mozilla.org/show_bug.cgi?id=1875424>

Specification: <https://w3c.github.io/pointerevents/#dfn-fire-a-pointer-event> (Especially, the last paragraph beginning with "Save the determined target as the previousTarget for the given pointer,")

Platform coverage: All

Preference: `|dom.events.mouse-pointer-boundary.keep-enter-targets-after-over-target-removed|`

DevTools bug: N/A

Other browsers: Chrome already passes the tests in all channels, but Safari does not pass the tests in any channels.

web-platform-tests: <https://wpt.fyi/results/pointerevents/pointerevent_after_target_removed.html%3Fmouse>

--
Masayuki Nakano<[email protected]>
Working on DOM, Events, editor and IME handling for Gecko

--
You received this message because you are subscribed to the Google Groups 
"[email protected]" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/a/mozilla.org/d/msgid/dev-platform/f1a6d82c-e1e6-4722-bb16-45e80d8b9e63%40d-toybox.com.

Reply via email to