Home | History | Annotate | Download | only in gamepad
      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