Index: Source/modules/vibration/Vibration.cpp |
diff --git a/Source/modules/vibration/Vibration.cpp b/Source/modules/vibration/Vibration.cpp |
index ca1a6595aa2b6ac3e7d290495ccf2c20306baf29..64a93f70b83edd4d97b1adcf2315e9f3b6666210 100644 |
--- a/Source/modules/vibration/Vibration.cpp |
+++ b/Source/modules/vibration/Vibration.cpp |
@@ -20,15 +20,12 @@ |
#include "config.h" |
#include "modules/vibration/Vibration.h" |
-#if ENABLE(VIBRATION) |
- |
-#include "modules/vibration/VibrationClient.h" |
+#include "public/platform/Platform.h" |
namespace WebCore { |
-Vibration::Vibration(VibrationClient* client) |
- : m_vibrationClient(client) |
- , m_timerStart(this, &Vibration::timerStartFired) |
+Vibration::Vibration() |
+ : m_timerStart(this, &Vibration::timerStartFired) |
, m_timerStop(this, &Vibration::timerStopFired) |
, m_isVibrating(false) |
{ |
@@ -36,12 +33,13 @@ Vibration::Vibration(VibrationClient* client) |
Vibration::~Vibration() |
{ |
- m_vibrationClient->vibrationDestroyed(); |
+ if (m_isVibrating) |
+ cancelVibration(); |
} |
-PassOwnPtr<Vibration> Vibration::create(VibrationClient* client) |
+PassOwnPtr<Vibration> Vibration::create() |
Peter Beverloo
2013/06/11 13:50:12
This method isn't being used anymore, please remov
Michael van Ouwerkerk
2013/06/11 14:16:43
Done.
|
{ |
- return adoptPtr(new Vibration(client)); |
+ return adoptPtr(new Vibration()); |
} |
void Vibration::vibrate(const unsigned& time) |
@@ -78,7 +76,7 @@ void Vibration::cancelVibration() |
{ |
m_pattern.clear(); |
if (m_isVibrating) { |
- m_vibrationClient->cancelVibration(); |
+ WebKit::Platform::current()->cancelVibration(); |
m_isVibrating = false; |
m_timerStop.stop(); |
} |
@@ -107,7 +105,7 @@ void Vibration::timerStartFired(Timer<Vibration>* timer) |
if (m_pattern.size()) { |
m_isVibrating = true; |
- m_vibrationClient->vibrate(m_pattern[0]); |
+ WebKit::Platform::current()->vibrate(m_pattern[0]); |
m_timerStop.startOneShot(m_pattern[0] / 1000.0); |
m_pattern.remove(0); |
} |
@@ -131,17 +129,16 @@ const char* Vibration::supplementName() |
return "Vibration"; |
} |
-bool Vibration::isActive(Page* page) |
+Vibration* Vibration::from(Page* page) |
{ |
- return static_cast<bool>(Vibration::from(page)); |
+ if (!Supplement<Page>::from(page, supplementName())) |
+ Supplement<Page>::provideTo(page, supplementName(), adoptPtr(new Vibration())); |
+ return static_cast<Vibration*>(Supplement<Page>::from(page, supplementName())); |
} |
-void provideVibrationTo(Page* page, VibrationClient* client) |
+bool Vibration::isActive(Page* page) |
{ |
- Vibration::provideTo(page, Vibration::supplementName(), Vibration::create(client)); |
+ return static_cast<bool>(Vibration::from(page)); |
} |
} // namespace WebCore |
- |
-#endif // ENABLE(VIBRATION) |
- |