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 24 matching lines...) Expand all Loading... | |
35 #include "platform/heap/Handle.h" | 35 #include "platform/heap/Handle.h" |
36 #include "public/platform/WebGamepads.h" | 36 #include "public/platform/WebGamepads.h" |
37 | 37 |
38 namespace blink { | 38 namespace blink { |
39 | 39 |
40 class Document; | 40 class Document; |
41 class Gamepad; | 41 class Gamepad; |
42 class GamepadList; | 42 class GamepadList; |
43 class Navigator; | 43 class Navigator; |
44 | 44 |
45 class MODULES_EXPORT NavigatorGamepad final : public NoBaseWillBeGarbageCollecte dFinalized<NavigatorGamepad>, public WillBeHeapSupplement<Navigator>, public DOM WindowProperty, public PlatformEventController, public DOMWindowLifecycleObserve r { | 45 // TODO(Oilpan): when ~DOMWindowProperty is removed, derive from GarbageCollecte d<> instead. |
haraken
2015/04/24 15:32:36
Can we move these comments to DOMWindowProperty an
sof
2015/04/24 21:25:08
Done; I considered some time ago adding DOMWindowP
| |
46 WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(NavigatorGamepad); | 46 class MODULES_EXPORT NavigatorGamepad final : public GarbageCollectedFinalized<N avigatorGamepad>, public HeapSupplement<Navigator>, DOMWindowProperty, public Pl atformEventController, public DOMWindowLifecycleObserver { |
47 USING_GARBAGE_COLLECTED_MIXIN(NavigatorGamepad); | |
47 public: | 48 public: |
48 static NavigatorGamepad* from(Document&); | 49 static NavigatorGamepad* from(Document&); |
49 static NavigatorGamepad& from(Navigator&); | 50 static NavigatorGamepad& from(Navigator&); |
50 virtual ~NavigatorGamepad(); | 51 virtual ~NavigatorGamepad(); |
51 | 52 |
52 static GamepadList* getGamepads(Navigator&); | 53 static GamepadList* getGamepads(Navigator&); |
53 GamepadList* gamepads(); | 54 GamepadList* gamepads(); |
54 | 55 |
55 DECLARE_VIRTUAL_TRACE(); | 56 DECLARE_VIRTUAL_TRACE(); |
56 | 57 |
(...skipping 17 matching lines...) Expand all Loading... | |
74 virtual void unregisterWithDispatcher() override; | 75 virtual void unregisterWithDispatcher() override; |
75 virtual bool hasLastData() override; | 76 virtual bool hasLastData() override; |
76 virtual void didUpdateData() override; | 77 virtual void didUpdateData() override; |
77 virtual void pageVisibilityChanged() override; | 78 virtual void pageVisibilityChanged() override; |
78 | 79 |
79 // DOMWindowLifecycleObserver | 80 // DOMWindowLifecycleObserver |
80 virtual void didAddEventListener(LocalDOMWindow*, const AtomicString&) overr ide; | 81 virtual void didAddEventListener(LocalDOMWindow*, const AtomicString&) overr ide; |
81 virtual void didRemoveEventListener(LocalDOMWindow*, const AtomicString&) ov erride; | 82 virtual void didRemoveEventListener(LocalDOMWindow*, const AtomicString&) ov erride; |
82 virtual void didRemoveAllEventListeners(LocalDOMWindow*) override; | 83 virtual void didRemoveAllEventListeners(LocalDOMWindow*) override; |
83 | 84 |
84 PersistentWillBeMember<GamepadList> m_gamepads; | 85 Member<GamepadList> m_gamepads; |
85 PersistentHeapDequeWillBeHeapDeque<Member<Gamepad>> m_pendingEvents; | 86 HeapDeque<Member<Gamepad>> m_pendingEvents; |
86 AsyncMethodRunner<NavigatorGamepad> m_dispatchOneEventRunner; | 87 AsyncMethodRunner<NavigatorGamepad> m_dispatchOneEventRunner; |
haraken
2015/04/24 15:37:17
It seems that AsyncMethodRunner is not safe for la
sof
2015/04/24 15:40:10
You have looked at the comment next to AsyncMethod
haraken
2015/04/24 15:44:44
That is a different issue than the issue mentioned
sof
2015/04/24 15:55:13
Thanks, now I remember the non-local nature of thi
sof
2015/04/24 21:25:08
Addressing this one via https://codereview.chromiu
| |
87 }; | 88 }; |
88 | 89 |
89 } // namespace blink | 90 } // namespace blink |
90 | 91 |
91 #endif // NavigatorGamepad_h | 92 #endif // NavigatorGamepad_h |
OLD | NEW |