| Index: third_party/WebKit/Source/modules/sensor/SensorReadingUpdater.cpp
|
| diff --git a/third_party/WebKit/Source/modules/sensor/SensorReadingUpdater.cpp b/third_party/WebKit/Source/modules/sensor/SensorReadingUpdater.cpp
|
| deleted file mode 100644
|
| index 3d35f7da1f8c0a31755ddbe5f2056c1113818b68..0000000000000000000000000000000000000000
|
| --- a/third_party/WebKit/Source/modules/sensor/SensorReadingUpdater.cpp
|
| +++ /dev/null
|
| @@ -1,112 +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/SensorReadingUpdater.h"
|
| -
|
| -#include "core/dom/Document.h"
|
| -#include "device/generic_sensor/public/interfaces/sensor.mojom-blink.h"
|
| -#include "modules/sensor/SensorProxy.h"
|
| -#include "wtf/CurrentTime.h"
|
| -
|
| -using device::mojom::blink::ReportingMode;
|
| -
|
| -namespace blink {
|
| -
|
| -SensorReadingUpdater::SensorReadingUpdater(SensorProxy* sensorProxy)
|
| - : m_sensorProxy(sensorProxy), m_hasPendingAnimationFrameTask(false) {}
|
| -
|
| -void SensorReadingUpdater::enqueueAnimationFrameTask() {
|
| - if (m_hasPendingAnimationFrameTask)
|
| - return;
|
| -
|
| - auto callback = WTF::bind(&SensorReadingUpdater::onAnimationFrame,
|
| - wrapWeakPersistent(this));
|
| - m_sensorProxy->document()->enqueueAnimationFrameTask(std::move(callback));
|
| - m_hasPendingAnimationFrameTask = true;
|
| -}
|
| -
|
| -void SensorReadingUpdater::start() {
|
| - enqueueAnimationFrameTask();
|
| -}
|
| -
|
| -void SensorReadingUpdater::onAnimationFrame() {
|
| - m_hasPendingAnimationFrameTask = false;
|
| - onAnimationFrameInternal();
|
| -}
|
| -
|
| -DEFINE_TRACE(SensorReadingUpdater) {
|
| - visitor->trace(m_sensorProxy);
|
| -}
|
| -
|
| -class SensorReadingUpdaterContinuous : public SensorReadingUpdater {
|
| - public:
|
| - explicit SensorReadingUpdaterContinuous(SensorProxy* sensorProxy)
|
| - : SensorReadingUpdater(sensorProxy) {}
|
| -
|
| - DEFINE_INLINE_VIRTUAL_TRACE() { SensorReadingUpdater::trace(visitor); }
|
| -
|
| - protected:
|
| - void onAnimationFrameInternal() override {
|
| - if (!m_sensorProxy->isActive())
|
| - return;
|
| -
|
| - m_sensorProxy->updateSensorReading();
|
| - m_sensorProxy->notifySensorChanged(WTF::monotonicallyIncreasingTime());
|
| - enqueueAnimationFrameTask();
|
| - }
|
| -};
|
| -
|
| -// New data is fetched from shared buffer only once after 'start()'
|
| -// call. Further, notification is send until every client is updated
|
| -// (i.e. until longest notification period elapses) rAF stops after that.
|
| -class SensorReadingUpdaterOnChange : public SensorReadingUpdater {
|
| - public:
|
| - explicit SensorReadingUpdaterOnChange(SensorProxy* sensorProxy)
|
| - : SensorReadingUpdater(sensorProxy),
|
| - m_newDataArrivedTime(0.0),
|
| - m_newDataArrived(false) {}
|
| -
|
| - DEFINE_INLINE_VIRTUAL_TRACE() { SensorReadingUpdater::trace(visitor); }
|
| -
|
| - void start() override {
|
| - m_newDataArrived = true;
|
| - SensorReadingUpdater::start();
|
| - }
|
| -
|
| - protected:
|
| - void onAnimationFrameInternal() override {
|
| - if (!m_sensorProxy->isActive())
|
| - return;
|
| -
|
| - double timestamp = WTF::monotonicallyIncreasingTime();
|
| -
|
| - if (m_newDataArrived) {
|
| - m_newDataArrived = false;
|
| - m_sensorProxy->updateSensorReading();
|
| - m_newDataArrivedTime = timestamp;
|
| - }
|
| - m_sensorProxy->notifySensorChanged(timestamp);
|
| -
|
| - DCHECK_GT(m_sensorProxy->frequenciesUsed().front(), 0.0);
|
| - double longestNotificationPeriod =
|
| - 1 / m_sensorProxy->frequenciesUsed().front();
|
| -
|
| - if (timestamp - m_newDataArrivedTime <= longestNotificationPeriod)
|
| - enqueueAnimationFrameTask();
|
| - }
|
| -
|
| - private:
|
| - double m_newDataArrivedTime;
|
| - bool m_newDataArrived;
|
| -};
|
| -
|
| -// static
|
| -SensorReadingUpdater* SensorReadingUpdater::create(SensorProxy* proxy,
|
| - ReportingMode mode) {
|
| - if (mode == ReportingMode::CONTINUOUS)
|
| - return new SensorReadingUpdaterContinuous(proxy);
|
| - return new SensorReadingUpdaterOnChange(proxy);
|
| -}
|
| -
|
| -} // namespace blink
|
|
|