(In reply to Edgar Chen [:edgar] from comment #10) > but met another issue that tests doesn't receive `pointerout` event. Okay, I think I know what's happening: the [second pointerMove](https://searchfox.org/mozilla-central/rev/0c682c4f01442c3de0fa6cd286e9cadc8276b45f/testing/web-platform/tests/pointerevents/pointerevent_setpointercapture_inactive_button_mouse.html#42) is blocked by [marionette](https://searchfox.org/mozilla-central/rev/0c682c4f01442c3de0fa6cd286e9cadc8276b45f/testing/marionette/action.js#1439), but the `inputState` seems not to be maintained correctly, it [use a.id as a key to get input state](https://searchfox.org/mozilla-central/rev/0c682c4f01442c3de0fa6cd286e9cadc8276b45f/testing/marionette/action.js#1130), however a.id seems an incremental identity for action message, I think we should use input source as the key for pointer message.
Bug 1520785 Comment 11 Edit History
Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.
(In reply to Edgar Chen [:edgar] from comment #10) > but met another issue that tests doesn't receive `pointerout` event. Okay, I think I know what's happening: the [second pointerMove](https://searchfox.org/mozilla-central/rev/0c682c4f01442c3de0fa6cd286e9cadc8276b45f/testing/web-platform/tests/pointerevents/pointerevent_setpointercapture_inactive_button_mouse.html#42) is blocked by [marionette](https://searchfox.org/mozilla-central/rev/0c682c4f01442c3de0fa6cd286e9cadc8276b45f/testing/marionette/action.js#1439). The `inputState` seems not to be maintained correctly, it [use a.id as a key to get input state](https://searchfox.org/mozilla-central/rev/0c682c4f01442c3de0fa6cd286e9cadc8276b45f/testing/marionette/action.js#1130), however a.id seems an incremental identity for action message, I think we should use input source as the key for pointer message.
(In reply to Edgar Chen [:edgar] from comment #10) > but met another issue that tests doesn't receive `pointerout` event. Okay, I think I know what's happening: the [second pointerMove](https://searchfox.org/mozilla-central/rev/0c682c4f01442c3de0fa6cd286e9cadc8276b45f/testing/web-platform/tests/pointerevents/pointerevent_setpointercapture_inactive_button_mouse.html#42) is blocked by [marionette](https://searchfox.org/mozilla-central/rev/0c682c4f01442c3de0fa6cd286e9cadc8276b45f/testing/marionette/action.js#1439). ~~The `inputState` seems not to be maintained correctly, it [use a.id as a key to get input state](https://searchfox.org/mozilla-central/rev/0c682c4f01442c3de0fa6cd286e9cadc8276b45f/testing/marionette/action.js#1130), however a.id seems an incremental identity for action message, I think we should use input source as the key for pointer message.~~ Edit: Just check [the spec](https://w3c.github.io/webdriver/#dfn-actions), marionette do follow the spec to implement, it looks like it is because the test creates two actions. So the question is why marionette ignore pointerMove in https://searchfox.org/mozilla-central/rev/0c682c4f01442c3de0fa6cd286e9cadc8276b45f/testing/marionette/action.js#1438-1440.