| Index: Source/modules/gamepad/GamepadDispatcher.cpp
|
| diff --git a/Source/modules/gamepad/GamepadDispatcher.cpp b/Source/modules/gamepad/GamepadDispatcher.cpp
|
| index 0749ad1a1bf2b053cf061c28c307b502c92b3f29..adef38d117f32c9d2a34323579583067be5e0901 100644
|
| --- a/Source/modules/gamepad/GamepadDispatcher.cpp
|
| +++ b/Source/modules/gamepad/GamepadDispatcher.cpp
|
| @@ -17,19 +17,8 @@ GamepadDispatcher& GamepadDispatcher::instance()
|
| return gamepadDispatcher;
|
| }
|
|
|
| -void GamepadDispatcher::addClient(NavigatorGamepad* client)
|
| -{
|
| - addController(client);
|
| -}
|
| -
|
| -void GamepadDispatcher::removeClient(NavigatorGamepad* client)
|
| -{
|
| - removeController(client);
|
| -}
|
| -
|
| void GamepadDispatcher::sampleGamepads(blink::WebGamepads& gamepads)
|
| {
|
| - ASSERT(!m_controllers.isEmpty());
|
| blink::Platform::current()->sampleGamepads(gamepads);
|
| }
|
|
|
| @@ -53,18 +42,12 @@ void GamepadDispatcher::didDisconnectGamepad(unsigned index, const blink::WebGam
|
|
|
| void GamepadDispatcher::dispatchDidConnectOrDisconnectGamepad(unsigned index, const blink::WebGamepad& gamepad, bool connected)
|
| {
|
| - {
|
| - TemporaryChange<bool> changeIsDispatching(m_isDispatching, true);
|
| - // Don't fire controllers removed or added during event dispatch.
|
| - size_t size = m_controllers.size();
|
| - for (size_t i = 0; i < size; ++i) {
|
| - if (m_controllers[i])
|
| - static_cast<NavigatorGamepad*>(m_controllers[i])->didConnectOrDisconnectGamepad(index, gamepad, connected);
|
| - }
|
| - }
|
| + ASSERT(index < blink::WebGamepads::itemsLengthCap);
|
| + ASSERT(connected == gamepad.connected);
|
|
|
| - if (m_needsPurge)
|
| - purgeControllers();
|
| + m_latestChange.pad = gamepad;
|
| + m_latestChange.index = index;
|
| + notifyControllers();
|
| }
|
|
|
| void GamepadDispatcher::startListening()
|
|
|