1d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved. 2d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 3d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)// found in the LICENSE file. 4d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) 5d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)#include "config.h" 6d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)#include "modules/gamepad/WebKitGamepadList.h" 7d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) 8c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)namespace blink { 9d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) 10d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)WebKitGamepadList::WebKitGamepadList() 11d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles){ 12d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)} 13d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) 146f543c786fc42989f552b4daa774ca5ff32fa697Ben Murdochvoid WebKitGamepadList::set(unsigned index, WebKitGamepad* gamepad) 15d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles){ 16e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles) if (index >= WebGamepads::itemsLengthCap) 17d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) return; 18d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) m_items[index] = gamepad; 19d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)} 20d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) 21d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)WebKitGamepad* WebKitGamepadList::item(unsigned index) 22d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles){ 23d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) return index < length() ? m_items[index].get() : 0; 24d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)} 25d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) 26d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)void WebKitGamepadList::trace(Visitor* visitor) 27d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles){ 28e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles) for (unsigned index = 0; index < WebGamepads::itemsLengthCap; index++) { 29d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) visitor->trace(m_items[index]); 30d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) } 31d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)} 32d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) 33c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)} // namespace blink 34