Index: device/generic_sensor/platform_sensor_provider_base.cc |
diff --git a/device/generic_sensor/platform_sensor_provider_base.cc b/device/generic_sensor/platform_sensor_provider_base.cc |
index 8224964d939b5fc271acd937ba8c51aff0ab0dde..c3f30ceb648966f50954ee5717d6e42ac4686551 100644 |
--- a/device/generic_sensor/platform_sensor_provider_base.cc |
+++ b/device/generic_sensor/platform_sensor_provider_base.cc |
@@ -79,8 +79,10 @@ void PlatformSensorProviderBase::RemoveSensor(mojom::SensorType type) { |
DCHECK(ContainsKey(sensor_map_, type)); |
sensor_map_.erase(type); |
- if (sensor_map_.empty()) |
+ if (sensor_map_.empty()) { |
+ AllSensorsRemoved(); |
shared_buffer_handle_.reset(); |
+ } |
} |
mojo::ScopedSharedBufferHandle |
@@ -91,6 +93,11 @@ PlatformSensorProviderBase::CloneSharedBufferHandle() { |
mojo::SharedBufferHandle::AccessMode::READ_ONLY); |
} |
+bool PlatformSensorProviderBase::HasSensors() const { |
+ DCHECK(CalledOnValidThread()); |
+ return !sensor_map_.empty(); |
+} |
+ |
void PlatformSensorProviderBase::NotifySensorCreated( |
mojom::SensorType type, |
scoped_refptr<PlatformSensor> sensor) { |