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 9namespace content { 10 11MockGamepadDataFetcher::MockGamepadDataFetcher( 12 const WebKit::WebGamepads& test_data) 13 : test_data_(test_data), 14 read_data_(false, false) { 15} 16 17MockGamepadDataFetcher::~MockGamepadDataFetcher() { 18} 19 20void MockGamepadDataFetcher::GetGamepadData(WebKit::WebGamepads* pads, 21 bool devices_changed_hint) { 22 { 23 base::AutoLock lock(lock_); 24 *pads = test_data_; 25 } 26 read_data_.Signal(); 27} 28 29void MockGamepadDataFetcher::WaitForDataRead() { 30 return read_data_.Wait(); 31} 32 33void MockGamepadDataFetcher::SetTestData(const WebKit::WebGamepads& new_data) { 34 base::AutoLock lock(lock_); 35 test_data_ = new_data; 36} 37 38GamepadTestHelper::GamepadTestHelper() { 39} 40 41GamepadTestHelper::~GamepadTestHelper() { 42} 43 44GamepadServiceTestConstructor::GamepadServiceTestConstructor( 45 const WebKit::WebGamepads& test_data) { 46 data_fetcher_ = new MockGamepadDataFetcher(test_data); 47 gamepad_service_ = 48 new GamepadService(scoped_ptr<GamepadDataFetcher>(data_fetcher_)); 49} 50 51GamepadServiceTestConstructor::~GamepadServiceTestConstructor() { 52 delete gamepad_service_; 53} 54 55} // namespace content 56