Chromium Code Reviews| Index: Source/modules/gamepad/Gamepad.cpp |
| diff --git a/Source/modules/gamepad/Gamepad.cpp b/Source/modules/gamepad/Gamepad.cpp |
| index 8fbe47c17946f3d38b21769ef387a9da8b966497..1db85bf34fd66ed4e0d54c2e779f8600b270b22e 100644 |
| --- a/Source/modules/gamepad/Gamepad.cpp |
| +++ b/Source/modules/gamepad/Gamepad.cpp |
| @@ -35,34 +35,31 @@ Gamepad::Gamepad() |
| ScriptWrappable::init(this); |
| } |
| -void Gamepad::axes(unsigned count, float* data) |
| +void Gamepad::setAxes(unsigned count, const float* data) |
| { |
| m_axes.resize(count); |
| if (count) |
| std::copy(data, data + count, m_axes.begin()); |
| } |
| -#if defined(ENABLE_NEW_GAMEPAD_API) |
| -void Gamepad::buttons(unsigned count, blink::WebGamepadButton* data) |
| +void Gamepad::setButtons(unsigned count, const blink::WebGamepadButton* data) |
| { |
| - m_buttons.resize(count); |
| - for (unsigned i = 0; i < count; ++i) |
| - m_buttons[i] = data[i].value; |
| + 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]->setValue(data[i].value); |
| + m_buttons[i]->setPressed(data[i].pressed); |
| + } |
| } |
| -#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) |
| { |
|
sof
2014/03/07 19:54:57
Add visitor->trace(m_buttons);
|
| } |
| -void Gamepad::trace(Visitor* visitor) |
| +Gamepad::~Gamepad() |
| { |
| } |