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

Side by Side Diff: third_party/WebKit/Source/modules/sensor/AmbientLightSensorReading.cpp

Issue 2472403002: [Sensors] Align sensor reading attribute implementation with the specification (Closed)
Patch Set: Comments from Tim Created 4 years, 1 month 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 unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "modules/sensor/AmbientLightSensorReading.h" 5 #include "modules/sensor/AmbientLightSensorReading.h"
6 6
7 #include "modules/sensor/SensorProxy.h" 7 #include "modules/sensor/SensorProxy.h"
8 #include "wtf/CurrentTime.h"
8 9
9 namespace blink { 10 namespace blink {
10 11
12 namespace {
13
14 device::SensorReading ToReadingData(const AmbientLightSensorReadingInit& init) {
15 device::SensorReading result;
16 result.timestamp = WTF::monotonicallyIncreasingTime();
17 if (init.hasIlluminance())
18 result.values[0] = init.illuminance();
19
20 return result;
21 }
22
23 } // namespace
24
11 AmbientLightSensorReading::AmbientLightSensorReading( 25 AmbientLightSensorReading::AmbientLightSensorReading(
12 const AmbientLightSensorReadingInit& init) 26 const AmbientLightSensorReadingInit& init)
13 : SensorReading(nullptr), mAmbientLightSensorReadingInit(init) {} 27 : SensorReading(ToReadingData(init)) {}
14 28
15 AmbientLightSensorReading::AmbientLightSensorReading(SensorProxy* proxy) 29 AmbientLightSensorReading::AmbientLightSensorReading(
16 : SensorReading(proxy), 30 const device::SensorReading& data)
17 mAmbientLightSensorReadingInit(AmbientLightSensorReadingInit()) {} 31 : SensorReading(data) {}
18 32
19 AmbientLightSensorReading::~AmbientLightSensorReading() = default; 33 AmbientLightSensorReading::~AmbientLightSensorReading() = default;
20 34
21 double AmbientLightSensorReading::illuminance() const { 35 double AmbientLightSensorReading::illuminance() const {
22 if (mAmbientLightSensorReadingInit.hasIlluminance()) 36 return data().values[0];
23 return mAmbientLightSensorReadingInit.illuminance();
24
25 if (!m_sensorProxy)
26 return 0.0;
27 return m_sensorProxy->reading().values[0];
28 } 37 }
29 38
30 bool AmbientLightSensorReading::isReadingUpdated( 39 bool AmbientLightSensorReading::isReadingUpdated(
31 const SensorProxy::Reading& previous) const { 40 const device::SensorReading& previous) const {
32 if (!m_sensorProxy)
33 return false;
34 return previous.values[0] != illuminance(); 41 return previous.values[0] != illuminance();
35 } 42 }
36 43
37 DEFINE_TRACE(AmbientLightSensorReading) { 44 DEFINE_TRACE(AmbientLightSensorReading) {
38 SensorReading::trace(visitor); 45 SensorReading::trace(visitor);
39 } 46 }
40 47
41 } // namespace blink 48 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698