diff options
-rw-r--r-- | chromium/services/device/generic_sensor/platform_sensor_reader_win.cc | 4 | ||||
-rw-r--r-- | chromium/services/device/generic_sensor/platform_sensor_reader_win.h | 8 |
2 files changed, 8 insertions, 4 deletions
diff --git a/chromium/services/device/generic_sensor/platform_sensor_reader_win.cc b/chromium/services/device/generic_sensor/platform_sensor_reader_win.cc index 93c9e059434..0b654d8b2fe 100644 --- a/chromium/services/device/generic_sensor/platform_sensor_reader_win.cc +++ b/chromium/services/device/generic_sensor/platform_sensor_reader_win.cc @@ -485,7 +485,8 @@ bool PlatformSensorReaderWin::SetReportingInterval( HRESULT PlatformSensorReaderWin::SensorReadingChanged( ISensorDataReport* report, - SensorReading* reading) const { + SensorReading* reading) { + base::AutoLock autolock(lock_); if (!client_) return E_FAIL; @@ -496,6 +497,7 @@ HRESULT PlatformSensorReaderWin::SensorReadingChanged( } void PlatformSensorReaderWin::SensorError() { + base::AutoLock autolock(lock_); if (client_) client_->OnSensorError(); } diff --git a/chromium/services/device/generic_sensor/platform_sensor_reader_win.h b/chromium/services/device/generic_sensor/platform_sensor_reader_win.h index 8b31ae2f4a0..f14474a1ede 100644 --- a/chromium/services/device/generic_sensor/platform_sensor_reader_win.h +++ b/chromium/services/device/generic_sensor/platform_sensor_reader_win.h @@ -8,6 +8,8 @@ #include <SensorsApi.h> #include <wrl/client.h> +#include "base/synchronization/lock.h" +#include "base/thread_annotations.h" #include "services/device/public/mojom/sensor.mojom.h" namespace device { @@ -56,7 +58,7 @@ class PlatformSensorReaderWin { bool SetReportingInterval(const PlatformSensorConfiguration& configuration); void ListenSensorEvent(); HRESULT SensorReadingChanged(ISensorDataReport* report, - SensorReading* reading) const; + SensorReading* reading); void SensorError(); private: @@ -68,8 +70,8 @@ class PlatformSensorReaderWin { // StartSensor and StopSensor are called from another thread by // PlatformSensorWin that can modify internal state of the object. base::Lock lock_; - bool sensor_active_; - Client* client_; + bool sensor_active_ GUARDED_BY(lock_); + Client* client_ GUARDED_BY(lock_); Microsoft::WRL::ComPtr<ISensor> sensor_; scoped_refptr<EventListener> event_listener_; base::WeakPtrFactory<PlatformSensorReaderWin> weak_factory_; |