Index: Source/modules/gamepad/Gamepad.cpp |
diff --git a/Source/modules/gamepad/Gamepad.cpp b/Source/modules/gamepad/Gamepad.cpp |
index 8fbe47c17946f3d38b21769ef387a9da8b966497..aea6a9ff3976bdcb8fc4c5ac5c9411baa4c225ea 100644 |
--- a/Source/modules/gamepad/Gamepad.cpp |
+++ b/Source/modules/gamepad/Gamepad.cpp |
@@ -28,42 +28,26 @@ |
namespace WebCore { |
-Gamepad::Gamepad() |
- : m_index(0) |
- , m_timestamp(0) |
+Gamepad::Gamepad() : GamepadBase() |
{ |
ScriptWrappable::init(this); |
} |
-void Gamepad::axes(unsigned count, float* data) |
+void Gamepad::buttons(unsigned count, const blink::WebGamepadButton* data) |
{ |
- m_axes.resize(count); |
- if (count) |
- std::copy(data, data + count, m_axes.begin()); |
+ if (m_buttons.size() != count) { |
+ m_buttons.resize(count); |
+ for (unsigned i = 0; i < count; ++i) |
+ m_buttons[i] = GamepadButton::create(); |
+ } |
+ for (unsigned i = 0; i < count; ++i) { |
+ m_buttons[i]->value(data[i].value); |
+ m_buttons[i]->pressed(data[i].pressed); |
+ } |
} |
-#if defined(ENABLE_NEW_GAMEPAD_API) |
-void Gamepad::buttons(unsigned count, blink::WebGamepadButton* data) |
-{ |
- m_buttons.resize(count); |
- for (unsigned i = 0; i < count; ++i) |
- m_buttons[i] = data[i].value; |
-} |
-#else |
-void Gamepad::buttons(unsigned count, float* data) |
-{ |
- m_buttons.resize(count); |
- if (count) |
- std::copy(data, data + count, m_buttons.begin()); |
-} |
-#endif |
- |
Gamepad::~Gamepad() |
{ |
} |
-void Gamepad::trace(Visitor* visitor) |
-{ |
-} |
- |
} // namespace WebCore |