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

Unified Diff: Source/modules/vibration/Vibration.cpp

Issue 15724023: Vibration API: use runtime flag, change from client to platform. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Review issues: order vibrate method before cancelVibration, etc. Created 7 years, 6 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 side-by-side diff with in-line comments
Download patch
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)
-

Powered by Google App Engine
This is Rietveld 408576698