Chromium Code Reviews| 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..135dd1e3d6f3e58bbb193fa5eb8bce76ec8bdffc 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,19 @@ void PlatformSensorProviderBase::NotifySensorCreated( |
| requests_map_.erase(type); |
| } |
| +std::vector<mojom::SensorType> PlatformSensorProviderBase::GetRequestTypes() { |
|
Mikhail
2016/12/08 11:15:22
GetPendingRequestedTypes
|
| + 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( |
| + mojom::SensorType type) { |
| + mojo::ScopedSharedBufferMapping mapping = shared_buffer_handle_->MapAtOffset( |
|
Mikhail
2016/12/08 11:15:22
this should not be called several times, map once
maksims (do not use this acc)
2016/12/08 18:39:17
But it does not actually overwrite existing mappin
|
| + kReadingBufferSize, SensorReadingSharedBuffer::GetOffset(type)); |
| + return mapping; |
| +} |
| + |
| } // namespace device |