1 // Copyright 2014 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 #ifndef WebKitGamepadList_h 6 #define WebKitGamepadList_h 7 8 #include "bindings/v8/ScriptWrappable.h" 9 #include "modules/gamepad/WebKitGamepad.h" 10 #include "platform/heap/Handle.h" 11 #include "public/platform/WebGamepads.h" 12 #include "wtf/RefCounted.h" 13 #include "wtf/Vector.h" 14 15 namespace WebCore { 16 17 class WebKitGamepadList FINAL : public GarbageCollectedFinalized<WebKitGamepadList>, public ScriptWrappable { 18 public: 19 static WebKitGamepadList* create() 20 { 21 return new WebKitGamepadList; 22 } 23 ~WebKitGamepadList(); 24 25 void set(unsigned index, WebKitGamepad*); 26 WebKitGamepad* item(unsigned index); 27 unsigned length() const { return blink::WebGamepads::itemsLengthCap; } 28 29 void trace(Visitor*); 30 31 private: 32 WebKitGamepadList(); 33 Member<WebKitGamepad> m_items[blink::WebGamepads::itemsLengthCap]; 34 }; 35 36 } // namespace WebCore 37 38 #endif // WebKitGamepadList_h 39