OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2011, Google Inc. All rights reserved. | 2 * Copyright (C) 2011, Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions are met: | 5 * modification, are permitted provided that the following conditions are met: |
6 * | 6 * |
7 * 1. Redistributions of source code must retain the above copyright | 7 * 1. Redistributions of source code must retain the above copyright |
8 * notice, this list of conditions and the following disclaimer. | 8 * notice, this list of conditions and the following disclaimer. |
9 * 2. Redistributions in binary form must reproduce the above copyright | 9 * 2. Redistributions in binary form must reproduce the above copyright |
10 * notice, this list of conditions and the following disclaimer in the | 10 * notice, this list of conditions and the following disclaimer in the |
(...skipping 10 matching lines...) Expand all Loading... |
21 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | 21 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY |
22 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH | 22 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH |
23 * DAMAGE. | 23 * DAMAGE. |
24 */ | 24 */ |
25 | 25 |
26 #ifndef NavigatorGamepad_h | 26 #ifndef NavigatorGamepad_h |
27 #define NavigatorGamepad_h | 27 #define NavigatorGamepad_h |
28 | 28 |
29 #include "core/frame/DOMWindowLifecycleObserver.h" | 29 #include "core/frame/DOMWindowLifecycleObserver.h" |
30 #include "core/frame/DOMWindowProperty.h" | 30 #include "core/frame/DOMWindowProperty.h" |
31 #include "core/frame/DeviceSensorEventController.h" | 31 #include "core/frame/DeviceEventControllerBase.h" |
32 #include "platform/Supplementable.h" | 32 #include "platform/Supplementable.h" |
33 #include "platform/heap/Handle.h" | 33 #include "platform/heap/Handle.h" |
34 #include "public/platform/WebGamepads.h" | 34 #include "public/platform/WebGamepads.h" |
35 | 35 |
36 namespace blink { | 36 namespace blink { |
37 class WebGamepad; | 37 class WebGamepad; |
38 class WebGamepads; | 38 class WebGamepads; |
39 } | 39 } |
40 | 40 |
41 namespace WebCore { | 41 namespace WebCore { |
42 | 42 |
| 43 class Document; |
43 class GamepadList; | 44 class GamepadList; |
44 class Navigator; | 45 class Navigator; |
45 class WebKitGamepadList; | 46 class WebKitGamepadList; |
46 | 47 |
47 class NavigatorGamepad FINAL : public NoBaseWillBeGarbageCollectedFinalized<Navi
gatorGamepad>, public WillBeHeapSupplement<Navigator>, public DOMWindowProperty,
public DeviceSensorEventController, public DOMWindowLifecycleObserver { | 48 class NavigatorGamepad FINAL : public NoBaseWillBeGarbageCollectedFinalized<Navi
gatorGamepad>, public WillBeHeapSupplement<Navigator>, public DOMWindowProperty,
public DeviceEventControllerBase, public DOMWindowLifecycleObserver { |
48 WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(NavigatorGamepad); | 49 WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(NavigatorGamepad); |
49 public: | 50 public: |
50 static NavigatorGamepad* from(Document&); | 51 static NavigatorGamepad* from(Document&); |
51 static NavigatorGamepad& from(Navigator&); | 52 static NavigatorGamepad& from(Navigator&); |
52 virtual ~NavigatorGamepad(); | 53 virtual ~NavigatorGamepad(); |
53 | 54 |
54 static WebKitGamepadList* webkitGetGamepads(Navigator&); | 55 static WebKitGamepadList* webkitGetGamepads(Navigator&); |
55 static GamepadList* getGamepads(Navigator&); | 56 static GamepadList* getGamepads(Navigator&); |
56 | 57 |
57 WebKitGamepadList* webkitGamepads(); | 58 WebKitGamepadList* webkitGamepads(); |
58 GamepadList* gamepads(); | 59 GamepadList* gamepads(); |
59 | 60 |
60 virtual void trace(Visitor*); | 61 virtual void trace(Visitor*); |
61 | 62 |
62 void didConnectOrDisconnectGamepad(unsigned index, const blink::WebGamepad&,
bool connected); | 63 void didConnectOrDisconnectGamepad(unsigned index, const blink::WebGamepad&,
bool connected); |
63 | 64 |
64 private: | 65 private: |
65 explicit NavigatorGamepad(LocalFrame*); | 66 explicit NavigatorGamepad(LocalFrame*); |
66 | 67 |
67 static const char* supplementName(); | 68 static const char* supplementName(); |
68 | 69 |
69 // DOMWindowProperty | 70 // DOMWindowProperty |
70 virtual void willDestroyGlobalObjectInFrame() OVERRIDE; | 71 virtual void willDestroyGlobalObjectInFrame() OVERRIDE; |
71 virtual void willDetachGlobalObjectFromFrame() OVERRIDE; | 72 virtual void willDetachGlobalObjectFromFrame() OVERRIDE; |
72 | 73 |
73 // DeviceSensorEventController | 74 // DeviceEventControllerBase |
74 virtual void registerWithDispatcher() OVERRIDE; | 75 virtual void registerWithDispatcher() OVERRIDE; |
75 virtual void unregisterWithDispatcher() OVERRIDE; | 76 virtual void unregisterWithDispatcher() OVERRIDE; |
76 virtual bool hasLastData() OVERRIDE; | 77 virtual bool hasLastData() OVERRIDE; |
77 virtual PassRefPtrWillBeRawPtr<Event> getLastEvent() OVERRIDE; | 78 virtual void didUpdateData() OVERRIDE; |
78 virtual bool isNullEvent(Event*) OVERRIDE; | |
79 virtual Document* document() OVERRIDE; | |
80 | 79 |
81 // DOMWindowLifecycleObserver | 80 // DOMWindowLifecycleObserver |
82 virtual void didAddEventListener(DOMWindow*, const AtomicString&) OVERRIDE; | 81 virtual void didAddEventListener(DOMWindow*, const AtomicString&) OVERRIDE; |
83 virtual void didRemoveEventListener(DOMWindow*, const AtomicString&) OVERRID
E; | 82 virtual void didRemoveEventListener(DOMWindow*, const AtomicString&) OVERRID
E; |
84 virtual void didRemoveAllEventListeners(DOMWindow*) OVERRIDE; | 83 virtual void didRemoveAllEventListeners(DOMWindow*) OVERRIDE; |
85 | 84 |
86 PersistentWillBeMember<GamepadList> m_gamepads; | 85 PersistentWillBeMember<GamepadList> m_gamepads; |
87 PersistentWillBeMember<WebKitGamepadList> m_webkitGamepads; | 86 PersistentWillBeMember<WebKitGamepadList> m_webkitGamepads; |
88 }; | 87 }; |
89 | 88 |
90 } // namespace WebCore | 89 } // namespace WebCore |
91 | 90 |
92 #endif // NavigatorGamepad_h | 91 #endif // NavigatorGamepad_h |
OLD | NEW |