Index: Source/modules/vibration/NavigatorVibration.h |
diff --git a/Source/modules/vibration/NavigatorVibration.h b/Source/modules/vibration/NavigatorVibration.h |
index 86ebf08ef76eca3a29dc6e6234c3d3347057b7b5..9812918ce9dfe167c6e79d3b1cc1a1398a0a7e17 100644 |
--- a/Source/modules/vibration/NavigatorVibration.h |
+++ b/Source/modules/vibration/NavigatorVibration.h |
@@ -20,36 +20,41 @@ |
#ifndef NavigatorVibration_h |
#define NavigatorVibration_h |
-#include "core/page/Navigator.h" |
+#include "core/page/Page.h" |
+#include "core/page/PageLifecycleObserver.h" |
#include "core/platform/Timer.h" |
#include "wtf/PassOwnPtr.h" |
#include "wtf/Vector.h" |
namespace WebCore { |
-class NavigatorVibration : public Supplement<Navigator> { |
+class Navigator; |
+ |
+class NavigatorVibration |
+ : public Supplement<Page> |
+ , public PageLifecycleObserver { |
public: |
typedef Vector<unsigned> VibrationPattern; |
- ~NavigatorVibration(); |
+ virtual ~NavigatorVibration(); |
bool vibrate(const VibrationPattern&); |
void cancelVibration(); |
- // FIXME : Hook suspendVibration() and resumeVibration() into the page |
- // visibility feature, when the document.hidden attribute is changed. |
- void suspendVibration(); |
- void resumeVibration(); |
void timerStartFired(Timer<NavigatorVibration>*); |
void timerStopFired(Timer<NavigatorVibration>*); |
+ // Inherited from PageLifecycleObserver |
+ virtual void pageVisibilityChanged() OVERRIDE; |
+ |
static bool vibrate(Navigator*, unsigned time); |
static bool vibrate(Navigator*, const VibrationPattern&); |
- static NavigatorVibration* from(Navigator*); |
+ static NavigatorVibration* from(Page*); |
private: |
- NavigatorVibration(); |
+ explicit NavigatorVibration(Page*); |
static const char* supplementName(); |
+ Page* m_page; |
abarth-chromium
2013/07/09 18:27:52
We should be able to avoid this raw pointer by get
Michael van Ouwerkerk
2013/07/10 13:25:09
Done.
|
Timer<NavigatorVibration> m_timerStart; |
Timer<NavigatorVibration> m_timerStop; |
bool m_isVibrating; |