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

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: rebase 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
« no previous file with comments | « Source/modules/vibration/Vibration.h ('k') | Source/modules/vibration/VibrationClient.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/modules/vibration/Vibration.cpp
diff --git a/Source/modules/vibration/Vibration.cpp b/Source/modules/vibration/Vibration.cpp
deleted file mode 100644
index ca1a6595aa2b6ac3e7d290495ccf2c20306baf29..0000000000000000000000000000000000000000
--- a/Source/modules/vibration/Vibration.cpp
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
- * Copyright (C) 2012 Samsung Electronics
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public License
- * along with this library; see the file COPYING.LIB. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#include "config.h"
-#include "modules/vibration/Vibration.h"
-
-#if ENABLE(VIBRATION)
-
-#include "modules/vibration/VibrationClient.h"
-
-namespace WebCore {
-
-Vibration::Vibration(VibrationClient* client)
- : m_vibrationClient(client)
- , m_timerStart(this, &Vibration::timerStartFired)
- , m_timerStop(this, &Vibration::timerStopFired)
- , m_isVibrating(false)
-{
-}
-
-Vibration::~Vibration()
-{
- m_vibrationClient->vibrationDestroyed();
-}
-
-PassOwnPtr<Vibration> Vibration::create(VibrationClient* client)
-{
- return adoptPtr(new Vibration(client));
-}
-
-void Vibration::vibrate(const unsigned& time)
-{
- if (!time) {
- cancelVibration();
- return;
- }
- m_pattern.append(time);
- m_timerStart.startOneShot(0);
-}
-
-void Vibration::vibrate(const VibrationPattern& pattern)
-{
- int length = pattern.size();
-
- // Cancel the pre-existing instance of vibration patterns, if the pattern is 0 or an empty list.
- if (!length || (length == 1 && !pattern[0])) {
- cancelVibration();
- return;
- }
-
- if (m_isVibrating)
- cancelVibration();
-
- if (m_timerStart.isActive())
- m_timerStart.stop();
-
- m_pattern = pattern;
- m_timerStart.startOneShot(0);
-}
-
-void Vibration::cancelVibration()
-{
- m_pattern.clear();
- if (m_isVibrating) {
- m_vibrationClient->cancelVibration();
- m_isVibrating = false;
- m_timerStop.stop();
- }
-}
-
-void Vibration::suspendVibration()
-{
- if (!m_isVibrating)
- return;
-
- m_pattern.insert(0, m_timerStop.nextFireInterval());
- m_timerStop.stop();
- cancelVibration();
-}
-
-void Vibration::resumeVibration()
-{
- m_timerStart.startOneShot(0);
-}
-
-void Vibration::timerStartFired(Timer<Vibration>* timer)
-{
- ASSERT_UNUSED(timer, timer == &m_timerStart);
-
- m_timerStart.stop();
-
- if (m_pattern.size()) {
- m_isVibrating = true;
- m_vibrationClient->vibrate(m_pattern[0]);
- m_timerStop.startOneShot(m_pattern[0] / 1000.0);
- m_pattern.remove(0);
- }
-}
-
-void Vibration::timerStopFired(Timer<Vibration>* timer)
-{
- ASSERT_UNUSED(timer, timer == &m_timerStop);
-
- m_timerStop.stop();
- m_isVibrating = false;
-
- if (m_pattern.size()) {
- m_timerStart.startOneShot(m_pattern[0] / 1000.0);
- m_pattern.remove(0);
- }
-}
-
-const char* Vibration::supplementName()
-{
- return "Vibration";
-}
-
-bool Vibration::isActive(Page* page)
-{
- return static_cast<bool>(Vibration::from(page));
-}
-
-void provideVibrationTo(Page* page, VibrationClient* client)
-{
- Vibration::provideTo(page, Vibration::supplementName(), Vibration::create(client));
-}
-
-} // namespace WebCore
-
-#endif // ENABLE(VIBRATION)
-
« no previous file with comments | « Source/modules/vibration/Vibration.h ('k') | Source/modules/vibration/VibrationClient.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698