Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 7203ee047b6ca60c82927f67daecc042e9a1cc58
https://github.com/WebKit/WebKit/commit/7203ee047b6ca60c82927f67daecc042e9a1cc58
Author: Chris Dumez <[email protected]>
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
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes