1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include "content/browser/gamepad/gamepad_test_helpers.h" 6 7 #include "content/browser/gamepad/gamepad_service.h" 8 9 namespace content { 10 11 MockGamepadDataFetcher::MockGamepadDataFetcher( 12 const blink::WebGamepads& test_data) 13 : test_data_(test_data), 14 read_data_(false, false) { 15 } 16 17 MockGamepadDataFetcher::~MockGamepadDataFetcher() { 18 } 19 20 void MockGamepadDataFetcher::GetGamepadData(blink::WebGamepads* pads, 21 bool devices_changed_hint) { 22 { 23 base::AutoLock lock(lock_); 24 *pads = test_data_; 25 } 26 read_data_.Signal(); 27 } 28 29 void MockGamepadDataFetcher::WaitForDataRead() { 30 return read_data_.Wait(); 31 } 32 33 void MockGamepadDataFetcher::SetTestData(const blink::WebGamepads& new_data) { 34 base::AutoLock lock(lock_); 35 test_data_ = new_data; 36 } 37 38 GamepadTestHelper::GamepadTestHelper() { 39 } 40 41 GamepadTestHelper::~GamepadTestHelper() { 42 } 43 44 GamepadServiceTestConstructor::GamepadServiceTestConstructor( 45 const blink::WebGamepads& test_data) { 46 data_fetcher_ = new MockGamepadDataFetcher(test_data); 47 gamepad_service_ = 48 new GamepadService(scoped_ptr<GamepadDataFetcher>(data_fetcher_)); 49 } 50 51 GamepadServiceTestConstructor::~GamepadServiceTestConstructor() { 52 delete gamepad_service_; 53 } 54 55 } // namespace content 56