Index: third_party/WebKit/Source/modules/sensor/SensorUpdateNotificationStrategy.cpp |
diff --git a/third_party/WebKit/Source/modules/sensor/SensorUpdateNotificationStrategy.cpp b/third_party/WebKit/Source/modules/sensor/SensorUpdateNotificationStrategy.cpp |
deleted file mode 100644 |
index 14823984f0fd22a101a7a121532f38974390eff3..0000000000000000000000000000000000000000 |
--- a/third_party/WebKit/Source/modules/sensor/SensorUpdateNotificationStrategy.cpp |
+++ /dev/null |
@@ -1,85 +0,0 @@ |
-// Copyright 2016 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "modules/sensor/SensorUpdateNotificationStrategy.h" |
- |
-#include "device/generic_sensor/public/interfaces/sensor.mojom-blink.h" |
-#include "platform/Timer.h" |
-#include "wtf/CurrentTime.h" |
- |
-namespace blink { |
- |
-// Polls the buffer on signal from platform but not more frequently |
-// than the given 'pollingPeriod'. |
-class SensorUpdateNotificationStrategyImpl |
- : public SensorUpdateNotificationStrategy { |
- public: |
- SensorUpdateNotificationStrategyImpl(double frequency, |
- std::unique_ptr<Function<void()>> func) |
- : m_pollingPeriod(1 / frequency), |
- m_func(std::move(func)), |
- m_timer(this, &SensorUpdateNotificationStrategyImpl::onTimer), |
- m_lastPollingTimestamp(0.0) { |
- DCHECK_GT(frequency, 0.0); |
- DCHECK(m_func); |
- } |
- |
- private: |
- // SensorUpdateNotificationStrategy overrides. |
- void onSensorReadingChanged() override; |
- void cancelPendingNotifications() override; |
- |
- void onTimer(TimerBase*); |
- void notifyUpdate(); |
- |
- double m_pollingPeriod; |
- std::unique_ptr<Function<void()>> m_func; |
- Timer<SensorUpdateNotificationStrategyImpl> m_timer; |
- double m_lastPollingTimestamp; |
-}; |
- |
-void SensorUpdateNotificationStrategyImpl::onSensorReadingChanged() { |
- if (m_timer.isActive()) |
- return; // Skipping changes if update notification was already sheduled. |
- |
- double elapsedTime = |
- WTF::monotonicallyIncreasingTime() - m_lastPollingTimestamp; |
- |
- double waitingTime = m_pollingPeriod - elapsedTime; |
- const double minInterval = |
- 1 / device::mojom::blink::SensorConfiguration::kMaxAllowedFrequency; |
- |
- // Negative or zero 'waitingTime' means that polling period has elapsed. |
- // We also avoid scheduling if the elapsed time is slightly behind the |
- // polling period. |
- if (waitingTime < minInterval) { |
- notifyUpdate(); |
- } else { |
- m_timer.startOneShot(waitingTime, BLINK_FROM_HERE); |
- } |
-} |
- |
-void SensorUpdateNotificationStrategyImpl::cancelPendingNotifications() { |
- m_timer.stop(); |
-} |
- |
-void SensorUpdateNotificationStrategyImpl::notifyUpdate() { |
- m_lastPollingTimestamp = WTF::monotonicallyIncreasingTime(); |
- (*m_func)(); |
-} |
- |
-void SensorUpdateNotificationStrategyImpl::onTimer(TimerBase*) { |
- notifyUpdate(); |
-} |
- |
-// static |
-std::unique_ptr<SensorUpdateNotificationStrategy> |
-SensorUpdateNotificationStrategy::create( |
- double pollingPeriod, |
- std::unique_ptr<Function<void()>> func) { |
- return std::unique_ptr<SensorUpdateNotificationStrategy>( |
- new SensorUpdateNotificationStrategyImpl(pollingPeriod, std::move(func))); |
-} |
- |
-} // namespace blink |