Index: device/gamepad/gamepad_test_helpers.cc |
diff --git a/device/gamepad/gamepad_test_helpers.cc b/device/gamepad/gamepad_test_helpers.cc |
index d27b808586e67f4303621cb09c8a3e2e6b278176..90fccf5fae293f33b6039a6cf718c5d72e391a24 100644 |
--- a/device/gamepad/gamepad_test_helpers.cc |
+++ b/device/gamepad/gamepad_test_helpers.cc |
@@ -14,11 +14,21 @@ MockGamepadDataFetcher::MockGamepadDataFetcher( |
MockGamepadDataFetcher::~MockGamepadDataFetcher() {} |
-void MockGamepadDataFetcher::GetGamepadData(blink::WebGamepads* pads, |
- bool devices_changed_hint) { |
+GamepadSource MockGamepadDataFetcher::source() { |
+ return GAMEPAD_SOURCE_TEST; |
+} |
+ |
+void MockGamepadDataFetcher::GetGamepadData(bool devices_changed_hint) { |
{ |
base::AutoLock lock(lock_); |
- *pads = test_data_; |
+ |
+ for (unsigned int i = 0; i < blink::WebGamepads::itemsLengthCap; ++i) { |
+ if (test_data_.items[i].connected) { |
+ PadState* pad = provider()->GetPadState(GAMEPAD_SOURCE_TEST, i); |
+ if (pad) |
+ memcpy(&pad->data, &test_data_.items[i], sizeof(blink::WebGamepad)); |
+ } |
+ } |
} |
read_data_.Signal(); |
} |