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 c3f30ceb648966f50954ee5717d6e42ac4686551..eac4ae721e5643a96c35d56a27df783189c2853f 100644 |
--- a/device/generic_sensor/platform_sensor_provider_base.cc |
+++ b/device/generic_sensor/platform_sensor_provider_base.cc |
@@ -32,8 +32,7 @@ void PlatformSensorProviderBase::CreateSensor( |
return; |
} |
- mojo::ScopedSharedBufferMapping mapping = shared_buffer_handle_->MapAtOffset( |
- kReadingBufferSize, SensorReadingSharedBuffer::GetOffset(type)); |
+ mojo::ScopedSharedBufferMapping mapping = GetScopedSharedBufferMapping(type); |
if (!mapping) { |
callback.Run(nullptr); |
return; |
@@ -78,6 +77,7 @@ void PlatformSensorProviderBase::RemoveSensor(mojom::SensorType type) { |
DCHECK(CalledOnValidThread()); |
DCHECK(ContainsKey(sensor_map_, type)); |
sensor_map_.erase(type); |
+ SensorRemoved(type); |
if (sensor_map_.empty()) { |
AllSensorsRemoved(); |
@@ -117,4 +117,20 @@ void PlatformSensorProviderBase::NotifySensorCreated( |
requests_map_.erase(type); |
} |
+std::vector<mojom::SensorType> |
+PlatformSensorProviderBase::GetPendingRequestTypes() { |
+ std::vector<mojom::SensorType> request_types; |
+ for (auto const& entry : requests_map_) |
+ request_types.push_back(entry.first); |
+ return request_types; |
+} |
+ |
+mojo::ScopedSharedBufferMapping |
+PlatformSensorProviderBase::GetScopedSharedBufferMapping( |
Mikhail
2016/12/09 08:15:56
pls rename it to 'MapSharedBufferForType()'
maksims (do not use this acc)
2016/12/09 10:22:42
Done.
|
+ mojom::SensorType type) { |
+ mojo::ScopedSharedBufferMapping mapping = shared_buffer_handle_->MapAtOffset( |
+ kReadingBufferSize, SensorReadingSharedBuffer::GetOffset(type)); |
Mikhail
2016/12/09 08:15:56
memset(mapping.get(), 0, kReadingBufferSize);
maksims (do not use this acc)
2016/12/09 10:22:42
Done.
|
+ return mapping; |
+} |
+ |
} // namespace device |