Finally, use the primitives from the previous change to deliver gamepad changes.
If the shared memory shortcut is available, all gamepad changes will be
delivered over it. When the children receive the signal, they will diff their
last-known state against the new state and generate events to update JS.
Differential Revision: https://phabricator.services.mozilla.com/D105129
Add the scaffolding to setup the shared memory GamepadState between the
GamepadPlatformService and GamepadManager. The next changeset will actually
integrate the new broadcast infrastructure into the gamepad code.
Differential Revision: https://phabricator.services.mozilla.com/D105128
This class (which may be useful outside of just gamepad code) provides an API to share an object across processes in a synchronized manner.
Eventually it will be used to share gamepad data (axes, buttons, etc) immediately with child processes for performance reasons.
Differential Revision: https://phabricator.services.mozilla.com/D100215
Finally, use the primitives from the previous change to deliver gamepad changes.
If the shared memory shortcut is available, all gamepad changes will be
delivered over it. When the children receive the signal, they will diff their
last-known state against the new state and generate events to update JS.
Differential Revision: https://phabricator.services.mozilla.com/D105129
Add the scaffolding to setup the shared memory GamepadState between the
GamepadPlatformService and GamepadManager. The next changeset will actually
integrate the new broadcast infrastructure into the gamepad code.
Differential Revision: https://phabricator.services.mozilla.com/D105128
This class (which may be useful outside of just gamepad code) provides an API to share an object across processes in a synchronized manner.
Eventually it will be used to share gamepad data (axes, buttons, etc) immediately with child processes for performance reasons.
Differential Revision: https://phabricator.services.mozilla.com/D100215
Finally, use the primitives from the previous change to deliver gamepad changes.
If the shared memory shortcut is available, all gamepad changes will be
delivered over it. When the children receive the signal, they will diff their
last-known state against the new state and generate events to update JS.
Differential Revision: https://phabricator.services.mozilla.com/D105129
Add the scaffolding to setup the shared memory GamepadState between the
GamepadPlatformService and GamepadManager. The next changeset will actually
integrate the new broadcast infrastructure into the gamepad code.
Differential Revision: https://phabricator.services.mozilla.com/D105128
This class (which may be useful outside of just gamepad code) provides an API to share an object across processes in a synchronized manner.
Eventually it will be used to share gamepad data (axes, buttons, etc) immediately with child processes for performance reasons.
Differential Revision: https://phabricator.services.mozilla.com/D100215
Starting with one of my earlier patches in Bug 1657404, FreeBSD started seeing
an error,
```
ld.lld: error: undefined hidden symbol:
mozilla::dom::SetGamepadLightIndicatorColor
```
We don't build this codepath as part of our regular Firefox testing, and so I
didn't see the issue.
Luckily, Jan Beich <jbeich@FreeBSD.org> noticed the issue and offered up this
patch. They unfortunately can't be given credit because they are protesting
our requirement for 2FA in Phabricator.
Differential Revision: https://phabricator.services.mozilla.com/D98973