Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(266)

Side by Side Diff: third_party/WebKit/Source/modules/vibration/VibrationController.h

Issue 2138663003: Rename PageLifecycleObserver to PageVisibilityObserver (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2012 Samsung Electronics 2 * Copyright (C) 2012 Samsung Electronics
3 * 3 *
4 * This library is free software; you can redistribute it and/or 4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Library General Public 5 * modify it under the terms of the GNU Library General Public
6 * License as published by the Free Software Foundation; either 6 * License as published by the Free Software Foundation; either
7 * version 2 of the License, or (at your option) any later version. 7 * version 2 of the License, or (at your option) any later version.
8 * 8 *
9 * This library is distributed in the hope that it will be useful, 9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Library General Public License for more details. 12 * Library General Public License for more details.
13 * 13 *
14 * You should have received a copy of the GNU Library General Public License 14 * You should have received a copy of the GNU Library General Public License
15 * along with this library; see the file COPYING.LIB. If not, write to 15 * along with this library; see the file COPYING.LIB. If not, write to
16 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 16 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17 * Boston, MA 02110-1301, USA. 17 * Boston, MA 02110-1301, USA.
18 */ 18 */
19 19
20 #ifndef VibrationController_h 20 #ifndef VibrationController_h
21 #define VibrationController_h 21 #define VibrationController_h
22 22
23 #include "core/dom/ContextLifecycleObserver.h" 23 #include "core/dom/ContextLifecycleObserver.h"
24 #include "core/page/PageLifecycleObserver.h" 24 #include "core/page/PageVisibilityObserver.h"
25 #include "device/vibration/vibration_manager.mojom-blink.h" 25 #include "device/vibration/vibration_manager.mojom-blink.h"
26 #include "modules/ModulesExport.h" 26 #include "modules/ModulesExport.h"
27 #include "platform/Timer.h" 27 #include "platform/Timer.h"
28 #include "platform/heap/GarbageCollected.h" 28 #include "platform/heap/GarbageCollected.h"
29 #include "platform/heap/Handle.h" 29 #include "platform/heap/Handle.h"
30 #include "wtf/Noncopyable.h" 30 #include "wtf/Noncopyable.h"
31 #include "wtf/Vector.h" 31 #include "wtf/Vector.h"
32 32
33 namespace blink { 33 namespace blink {
34 34
35 class Document; 35 class Document;
36 class ExecutionContext; 36 class ExecutionContext;
37 class UnsignedLongOrUnsignedLongSequence; 37 class UnsignedLongOrUnsignedLongSequence;
38 38
39 class MODULES_EXPORT VibrationController final 39 class MODULES_EXPORT VibrationController final
40 : public GarbageCollectedFinalized<VibrationController> 40 : public GarbageCollectedFinalized<VibrationController>
41 , public ContextLifecycleObserver 41 , public ContextLifecycleObserver
42 , public PageLifecycleObserver { 42 , public PageVisibilityObserver {
43 USING_GARBAGE_COLLECTED_MIXIN(VibrationController); 43 USING_GARBAGE_COLLECTED_MIXIN(VibrationController);
44 WTF_MAKE_NONCOPYABLE(VibrationController); 44 WTF_MAKE_NONCOPYABLE(VibrationController);
45 public: 45 public:
46 using VibrationPattern = Vector<unsigned>; 46 using VibrationPattern = Vector<unsigned>;
47 47
48 explicit VibrationController(Document&); 48 explicit VibrationController(Document&);
49 virtual ~VibrationController(); 49 virtual ~VibrationController();
50 50
51 static VibrationPattern sanitizeVibrationPattern(const UnsignedLongOrUnsigne dLongSequence&); 51 static VibrationPattern sanitizeVibrationPattern(const UnsignedLongOrUnsigne dLongSequence&);
52 52
53 bool vibrate(const VibrationPattern&); 53 bool vibrate(const VibrationPattern&);
54 void doVibrate(Timer<VibrationController>*); 54 void doVibrate(Timer<VibrationController>*);
55 void didVibrate(); 55 void didVibrate();
56 56
57 // Cancels the ongoing vibration if there is one. 57 // Cancels the ongoing vibration if there is one.
58 void cancel(); 58 void cancel();
59 void didCancel(); 59 void didCancel();
60 60
61 // Whether a pattern is being processed. If this is true, the vibration 61 // Whether a pattern is being processed. If this is true, the vibration
62 // hardware may currently be active, but during a pause it may be inactive. 62 // hardware may currently be active, but during a pause it may be inactive.
63 bool isRunning() const { return m_isRunning; } 63 bool isRunning() const { return m_isRunning; }
64 64
65 VibrationPattern pattern() const { return m_pattern; } 65 VibrationPattern pattern() const { return m_pattern; }
66 66
67 DECLARE_VIRTUAL_TRACE(); 67 DECLARE_VIRTUAL_TRACE();
68 68
69 private: 69 private:
70 // Inherited from ContextLifecycleObserver AND PageLifecycleObserver. 70 // Inherited from ContextLifecycleObserver AND PageVisibilityObserver.
71 void contextDestroyed() override; 71 void contextDestroyed() override;
72 72
73 // Inherited from PageLifecycleObserver. 73 // Inherited from PageVisibilityObserver.
74 void pageVisibilityChanged() override; 74 void pageVisibilityChanged() override;
75 75
76 // The VibrationManager mojo service. This is reset in |contextDestroyed| 76 // The VibrationManager mojo service. This is reset in |contextDestroyed|
77 // and must not be called or recreated after it is reset. 77 // and must not be called or recreated after it is reset.
78 device::blink::VibrationManagerPtr m_service; 78 device::blink::VibrationManagerPtr m_service;
79 79
80 // Timer for calling |doVibrate| after a delay. It is safe to call 80 // Timer for calling |doVibrate| after a delay. It is safe to call
81 // |startOneshot| when the timer is already running: it may affect the time 81 // |startOneshot| when the timer is already running: it may affect the time
82 // at which it fires, but |doVibrate| will still be called only once. 82 // at which it fires, but |doVibrate| will still be called only once.
83 Timer<VibrationController> m_timerDoVibrate; 83 Timer<VibrationController> m_timerDoVibrate;
84 84
85 // Whether a pattern is being processed. The vibration hardware may 85 // Whether a pattern is being processed. The vibration hardware may
86 // currently be active, or during a pause it may be inactive. 86 // currently be active, or during a pause it may be inactive.
87 bool m_isRunning; 87 bool m_isRunning;
88 88
89 // Whether an async mojo call to cancel is pending. 89 // Whether an async mojo call to cancel is pending.
90 bool m_isCallingCancel; 90 bool m_isCallingCancel;
91 91
92 // Whether an async mojo call to vibrate is pending. 92 // Whether an async mojo call to vibrate is pending.
93 bool m_isCallingVibrate; 93 bool m_isCallingVibrate;
94 94
95 VibrationPattern m_pattern; 95 VibrationPattern m_pattern;
96 }; 96 };
97 97
98 } // namespace blink 98 } // namespace blink
99 99
100 #endif // VibrationController_h 100 #endif // VibrationController_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698