[webkit-changes] [WebKit/WebKit] 7203ee: Add plumbing for Gamepad.vibrationActuator support
Chris Dumez
noreply at github.com
Fri Jan 6 13:57:12 PST 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 7203ee047b6ca60c82927f67daecc042e9a1cc58
https://github.com/WebKit/WebKit/commit/7203ee047b6ca60c82927f67daecc042e9a1cc58
Author: Chris Dumez <cdumez at apple.com>
Date: 2023-01-06 (Fri, 06 Jan 2023)
Changed paths:
M Source/WebCore/CMakeLists.txt
M Source/WebCore/DerivedSources-input.xcfilelist
M Source/WebCore/DerivedSources-output.xcfilelist
M Source/WebCore/DerivedSources.make
M Source/WebCore/Headers.cmake
M Source/WebCore/Modules/gamepad/Gamepad.cpp
M Source/WebCore/Modules/gamepad/Gamepad.h
M Source/WebCore/Modules/gamepad/GamepadHapticActuator.cpp
M Source/WebCore/Modules/gamepad/GamepadHapticActuator.h
M Source/WebCore/Modules/gamepad/GamepadHapticActuator.idl
A Source/WebCore/Modules/gamepad/GamepadHapticEffectType.h
A Source/WebCore/Modules/gamepad/GamepadHapticEffectType.idl
M Source/WebCore/Sources.txt
M Source/WebCore/WebCore.xcodeproj/project.pbxproj
M Source/WebCore/dom/TaskSource.h
M Source/WebCore/platform/gamepad/EmptyGamepadProvider.cpp
M Source/WebCore/platform/gamepad/EmptyGamepadProvider.h
M Source/WebCore/platform/gamepad/GamepadProvider.h
M Source/WebCore/platform/gamepad/PlatformGamepad.h
M Source/WebCore/platform/gamepad/cocoa/GameControllerGamepad.h
M Source/WebCore/platform/gamepad/cocoa/GameControllerGamepad.mm
M Source/WebCore/platform/gamepad/cocoa/GameControllerGamepadProvider.h
M Source/WebCore/platform/gamepad/cocoa/GameControllerGamepadProvider.mm
M Source/WebCore/platform/gamepad/cocoa/GameControllerSoftLink.h
M Source/WebCore/platform/gamepad/cocoa/GameControllerSoftLink.mm
M Source/WebCore/platform/gamepad/libwpe/GamepadProviderLibWPE.cpp
M Source/WebCore/platform/gamepad/libwpe/GamepadProviderLibWPE.h
M Source/WebCore/platform/gamepad/mac/HIDGamepadProvider.h
M Source/WebCore/platform/gamepad/mac/HIDGamepadProvider.mm
M Source/WebCore/platform/gamepad/mac/MultiGamepadProvider.h
M Source/WebCore/platform/gamepad/mac/MultiGamepadProvider.mm
M Source/WebCore/platform/gamepad/manette/ManetteGamepadProvider.cpp
M Source/WebCore/platform/gamepad/manette/ManetteGamepadProvider.h
M Source/WebCore/testing/MockGamepadProvider.cpp
M Source/WebCore/testing/MockGamepadProvider.h
M Source/WebKit/Shared/Gamepad/GamepadData.cpp
M Source/WebKit/Shared/Gamepad/GamepadData.h
M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in
M Source/WebKit/UIProcess/Gamepad/UIGamepad.cpp
M Source/WebKit/UIProcess/Gamepad/UIGamepad.h
M Source/WebKit/UIProcess/WebProcessPool.cpp
M Source/WebKit/UIProcess/WebProcessPool.h
M Source/WebKit/UIProcess/WebProcessPool.messages.in
M Source/WebKit/WebProcess/Gamepad/WebGamepad.cpp
M Source/WebKit/WebProcess/Gamepad/WebGamepadProvider.cpp
M Source/WebKit/WebProcess/Gamepad/WebGamepadProvider.h
Log Message:
-----------
Add plumbing for Gamepad.vibrationActuator support
https://bugs.webkit.org/show_bug.cgi?id=250149
Reviewed by Brent Fulgham.
Add plumbing for Gamepad.vibrationActuator support:
- https://w3c.github.io/gamepad/extensions.html#dom-gamepadhapticactuator
The Gamepad.vibrationActuator's playEffect() / reset() calls are now properly
forwarded to the corresponding PlatformGamepad object in the UIProcess.
The next step will be to implement them inside GameControllerGamepad to
make the API actually functional on macOS 13+.
* Source/WebCore/CMakeLists.txt:
* Source/WebCore/DerivedSources-input.xcfilelist:
* Source/WebCore/DerivedSources-output.xcfilelist:
* Source/WebCore/DerivedSources.make:
* Source/WebCore/Modules/gamepad/Gamepad.cpp:
(WebCore::Gamepad::Gamepad):
(WebCore::Gamepad::vibrationActuator):
* Source/WebCore/Modules/gamepad/Gamepad.h:
* Source/WebCore/Modules/gamepad/GamepadHapticActuator.cpp:
(WebCore::GamepadHapticActuator::create):
(WebCore::GamepadHapticActuator::GamepadHapticActuator):
(WebCore::m_gamepad):
(WebCore::GamepadHapticActuator::canPlayEffectType const):
(WebCore::GamepadHapticActuator::playEffect):
(WebCore::GamepadHapticActuator::reset):
* Source/WebCore/Modules/gamepad/GamepadHapticActuator.h:
* Source/WebCore/Modules/gamepad/GamepadHapticActuator.idl:
* Source/WebCore/Modules/gamepad/GamepadHapticEffectType.h: Copied from Source/WebCore/platform/gamepad/EmptyGamepadProvider.h.
* Source/WebCore/Modules/gamepad/GamepadHapticEffectType.idl: Copied from Source/WebCore/platform/gamepad/EmptyGamepadProvider.h.
* Source/WebCore/Sources.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/dom/TaskSource.h:
* Source/WebCore/platform/gamepad/EmptyGamepadProvider.cpp:
(WebCore::EmptyGamepadProvider::playEffect):
(WebCore::EmptyGamepadProvider::stopEffects):
* Source/WebCore/platform/gamepad/EmptyGamepadProvider.h:
* Source/WebCore/platform/gamepad/GamepadProvider.h:
* Source/WebCore/platform/gamepad/PlatformGamepad.h:
(WebCore::PlatformGamepad::supportedEffectTypes const):
(WebCore::PlatformGamepad::playEffect):
(WebCore::PlatformGamepad::stopEffects):
* Source/WebCore/platform/gamepad/cocoa/GameControllerGamepad.h:
* Source/WebCore/platform/gamepad/cocoa/GameControllerGamepad.mm:
(WebCore::GameControllerGamepad::setupElements):
(WebCore::GameControllerGamepad::playEffect):
(WebCore::GameControllerGamepad::stopEffects):
* Source/WebCore/platform/gamepad/cocoa/GameControllerGamepadProvider.h:
* Source/WebCore/platform/gamepad/cocoa/GameControllerGamepadProvider.mm:
(WebCore::GameControllerGamepadProvider::playEffect):
(WebCore::GameControllerGamepadProvider::stopEffects):
* Source/WebCore/platform/gamepad/mac/HIDGamepadProvider.h:
* Source/WebCore/platform/gamepad/mac/HIDGamepadProvider.mm:
(WebCore::HIDGamepadProvider::playEffect):
(WebCore::HIDGamepadProvider::stopEffects):
* Source/WebCore/platform/gamepad/mac/MultiGamepadProvider.h:
* Source/WebCore/platform/gamepad/mac/MultiGamepadProvider.mm:
(WebCore::MultiGamepadProvider::playEffect):
(WebCore::MultiGamepadProvider::stopEffects):
* Source/WebCore/platform/gamepad/manette/ManetteGamepadProvider.cpp:
(WebCore::ManetteGamepadProvider::playEffect):
(WebCore::ManetteGamepadProvider::stopEffects):
* Source/WebCore/platform/gamepad/manette/ManetteGamepadProvider.h:
* Source/WebCore/testing/MockGamepadProvider.cpp:
(WebCore::MockGamepadProvider::playEffect):
(WebCore::MockGamepadProvider::stopEffects):
* Source/WebCore/testing/MockGamepadProvider.h:
* Source/WebKit/Shared/Gamepad/GamepadData.cpp:
(WebKit::GamepadData::GamepadData):
(WebKit::m_supportedEffectTypes):
(WebKit::GamepadData::encode const):
(WebKit::GamepadData::decode):
(WebKit::m_lastUpdateTime): Deleted.
* Source/WebKit/Shared/Gamepad/GamepadData.h:
(WebKit::GamepadData::supportedEffectTypes const):
* Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in:
* Source/WebKit/UIProcess/Gamepad/UIGamepad.cpp:
(WebKit::UIGamepad::UIGamepad):
(WebKit::UIGamepad::gamepadData const):
* Source/WebKit/UIProcess/Gamepad/UIGamepad.h:
* Source/WebKit/UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::playGamepadEffect):
(WebKit::WebProcessPool::stopGamepadEffects):
* Source/WebKit/UIProcess/WebProcessPool.h:
* Source/WebKit/UIProcess/WebProcessPool.messages.in:
* Source/WebKit/WebProcess/Gamepad/WebGamepad.cpp:
(WebKit::WebGamepad::WebGamepad):
* Source/WebKit/WebProcess/Gamepad/WebGamepadProvider.cpp:
(WebKit::WebGamepadProvider::playEffect):
(WebKit::WebGamepadProvider::stopEffects):
* Source/WebKit/WebProcess/Gamepad/WebGamepadProvider.h:
Canonical link: https://commits.webkit.org/258559@main
More information about the webkit-changes
mailing list