[webkit-changes] [WebKit/WebKit] 2dca51: Gamepad.vibrationActuator: Add support for "trigge...
Chris Dumez
noreply at github.com
Fri Jan 27 13:24:14 PST 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 2dca512b491e5f7024d1013d651f77124f154d99
https://github.com/WebKit/WebKit/commit/2dca512b491e5f7024d1013d651f77124f154d99
Author: Chris Dumez <cdumez at apple.com>
Date: 2023-01-27 (Fri, 27 Jan 2023)
Changed paths:
M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml
M Source/WebCore/Modules/gamepad/GamepadEffectParameters.h
M Source/WebCore/Modules/gamepad/GamepadEffectParameters.idl
M Source/WebCore/Modules/gamepad/GamepadHapticActuator.cpp
M Source/WebCore/Modules/gamepad/GamepadHapticActuator.h
M Source/WebCore/Modules/gamepad/GamepadHapticEffectType.idl
M Source/WebCore/platform/gamepad/cocoa/GameControllerGamepad.mm
M Source/WebCore/platform/gamepad/cocoa/GameControllerHapticEffect.h
M Source/WebCore/platform/gamepad/cocoa/GameControllerHapticEffect.mm
M Source/WebCore/platform/gamepad/cocoa/GameControllerHapticEngines.h
M Source/WebCore/platform/gamepad/cocoa/GameControllerHapticEngines.mm
M Source/WebCore/platform/gamepad/cocoa/GameControllerSoftLink.h
M Source/WebCore/platform/gamepad/cocoa/GameControllerSoftLink.mm
M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in
Log Message:
-----------
Gamepad.vibrationActuator: Add support for "trigger-rumble" effect type
https://bugs.webkit.org/show_bug.cgi?id=250352
rdar://104315486
Reviewed by Brent Fulgham and Geoffrey Garen.
Gamepad.vibrationActuator: Add support for "trigger-rumble" effect type:
- https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/main/GamepadHapticsActuatorTriggerRumble/explainer.md
It allows vibrating the triggers (which the XBox controller supports), while the
existing "dual-rumble" only makes the handles vibrate.
This isn't yet part of the specification at:
- https://w3c.github.io/gamepad/extensions.html#dom-gamepadhapticeffecttype
However, it is supported by Blink and used by XBox cloud games.
I am adding support behind an experimental feature flag, off by default.
* Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml:
* Source/WebCore/Modules/gamepad/GamepadEffectParameters.h:
* Source/WebCore/Modules/gamepad/GamepadEffectParameters.idl:
* Source/WebCore/Modules/gamepad/GamepadHapticActuator.cpp:
(WebCore::GamepadHapticActuator::canPlayEffectType const):
(WebCore::GamepadHapticActuator::playEffect):
(WebCore::GamepadHapticActuator::stopEffects):
(WebCore::GamepadHapticActuator::document const):
(WebCore::GamepadHapticActuator::promiseForEffectType):
* Source/WebCore/Modules/gamepad/GamepadHapticActuator.h:
* Source/WebCore/Modules/gamepad/GamepadHapticEffectType.idl:
* Source/WebCore/platform/gamepad/cocoa/GameControllerGamepad.mm:
(WebCore::GameControllerGamepad::setupElements):
* Source/WebCore/platform/gamepad/cocoa/GameControllerHapticEffect.h:
* Source/WebCore/platform/gamepad/cocoa/GameControllerHapticEffect.mm:
(WebCore::GameControllerHapticEffect::create):
(WebCore::GameControllerHapticEffect::GameControllerHapticEffect):
(WebCore::GameControllerHapticEffect::start):
(WebCore::GameControllerHapticEffect::stop):
(WebCore::GameControllerHapticEffect::leftEffectFinishedPlaying):
(WebCore::GameControllerHapticEffect::rightEffectFinishedPlaying):
(WebCore::GameControllerHapticEffect::strongEffectFinishedPlaying): Deleted.
(WebCore::GameControllerHapticEffect::weakEffectFinishedPlaying): Deleted.
* Source/WebCore/platform/gamepad/cocoa/GameControllerHapticEngines.h:
(WebCore::GameControllerHapticEngines::leftHandleEngine):
(WebCore::GameControllerHapticEngines::rightHandleEngine):
(WebCore::GameControllerHapticEngines::leftTriggerEngine):
(WebCore::GameControllerHapticEngines::rightTriggerEngine):
(WebCore::GameControllerHapticEngines::strongEngine): Deleted.
(WebCore::GameControllerHapticEngines::weakEngine): Deleted.
* Source/WebCore/platform/gamepad/cocoa/GameControllerHapticEngines.mm:
(WebCore::GameControllerHapticEngines::GameControllerHapticEngines):
(WebCore::GameControllerHapticEngines::currentEffectForType):
(WebCore::GameControllerHapticEngines::playEffect):
(WebCore::GameControllerHapticEngines::stopEffects):
(WebCore::GameControllerHapticEngines::ensureStarted):
(WebCore::GameControllerHapticEngines::stop):
* Source/WebCore/platform/gamepad/cocoa/GameControllerSoftLink.h:
* Source/WebCore/platform/gamepad/cocoa/GameControllerSoftLink.mm:
* Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in:
Canonical link: https://commits.webkit.org/259507@main
More information about the webkit-changes
mailing list