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