| Index: third_party/WebKit/Source/modules/sensor/SensorReading.cpp
|
| diff --git a/third_party/WebKit/Source/modules/sensor/SensorReading.cpp b/third_party/WebKit/Source/modules/sensor/SensorReading.cpp
|
| index 12c14881bc9af7be3a74f93e364ea500abd8c641..675d6c286fa83c730c5fee569fb26bc80f4c5108 100644
|
| --- a/third_party/WebKit/Source/modules/sensor/SensorReading.cpp
|
| +++ b/third_party/WebKit/Source/modules/sensor/SensorReading.cpp
|
| @@ -14,9 +14,10 @@ namespace blink {
|
| SensorReading::SensorReading(SensorProxy* sensorProxy)
|
| : m_sensorProxy(sensorProxy)
|
| {
|
| - DCHECK(m_sensorProxy);
|
| }
|
|
|
| +SensorReading::~SensorReading() = default;
|
| +
|
| DEFINE_TRACE(SensorReading)
|
| {
|
| visitor->trace(m_sensorProxy);
|
| @@ -31,6 +32,15 @@ DOMHighResTimeStamp SensorReading::timeStamp(ScriptState* scriptState) const
|
| Performance* performance = DOMWindowPerformance::performance(*window);
|
| DCHECK(performance);
|
|
|
| + if (!m_sensorProxy) {
|
| + // In cases when SensorReading derived classes are constructed from JS
|
| + // side, e.g. to create syntetic SensorReadingEvent for testing
|
| + // purposes, |m_sensorProxy| will be null and SensorReading.timeStamp
|
| + // would return current DOMHighResTimeStamp, while reading value should
|
| + // be provided by derived classes.
|
| + return performance->now();
|
| + }
|
| +
|
| return performance->monotonicTimeToDOMHighResTimeStamp(m_sensorProxy->reading().timestamp);
|
| }
|
|
|
|
|