| Index: Source/modules/vibration/Vibration.cpp
|
| diff --git a/Source/modules/vibration/Vibration.cpp b/Source/modules/vibration/Vibration.cpp
|
| index ca1a6595aa2b6ac3e7d290495ccf2c20306baf29..57ddb0fc69da11448eea347a2608422ef3f5fc1b 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,8 @@ Vibration::Vibration(VibrationClient* client)
|
|
|
| Vibration::~Vibration()
|
| {
|
| - m_vibrationClient->vibrationDestroyed();
|
| -}
|
| -
|
| -PassOwnPtr<Vibration> Vibration::create(VibrationClient* client)
|
| -{
|
| - return adoptPtr(new Vibration(client));
|
| + if (m_isVibrating)
|
| + cancelVibration();
|
| }
|
|
|
| void Vibration::vibrate(const unsigned& time)
|
| @@ -78,7 +71,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 +100,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 +124,11 @@ const char* Vibration::supplementName()
|
| return "Vibration";
|
| }
|
|
|
| -bool Vibration::isActive(Page* page)
|
| +Vibration* Vibration::from(Page* page)
|
| {
|
| - return static_cast<bool>(Vibration::from(page));
|
| -}
|
| -
|
| -void provideVibrationTo(Page* page, VibrationClient* client)
|
| -{
|
| - Vibration::provideTo(page, Vibration::supplementName(), Vibration::create(client));
|
| + if (!Supplement<Page>::from(page, supplementName()))
|
| + Supplement<Page>::provideTo(page, supplementName(), adoptPtr(new Vibration()));
|
| + return static_cast<Vibration*>(Supplement<Page>::from(page, supplementName()));
|
| }
|
|
|
| } // namespace WebCore
|
| -
|
| -#endif // ENABLE(VIBRATION)
|
| -
|
|
|