OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "device/generic_sensor/sensor_provider_impl.h" | 5 #include "device/generic_sensor/sensor_provider_impl.h" |
6 | 6 |
7 #include <utility> | 7 #include <utility> |
8 | 8 |
9 #include "device/generic_sensor/platform_sensor_provider.h" | 9 #include "device/generic_sensor/platform_sensor_provider.h" |
10 #include "device/generic_sensor/sensor_impl.h" | 10 #include "device/generic_sensor/sensor_impl.h" |
(...skipping 14 matching lines...) Expand all Loading... |
25 mojom::SensorClientRequest client, | 25 mojom::SensorClientRequest client, |
26 const SensorProviderImpl::GetSensorCallback& callback) { | 26 const SensorProviderImpl::GetSensorCallback& callback) { |
27 base::ThreadTaskRunnerHandle::Get()->PostTask( | 27 base::ThreadTaskRunnerHandle::Get()->PostTask( |
28 FROM_HERE, base::Bind(RunCallback, base::Passed(&init_params), | 28 FROM_HERE, base::Bind(RunCallback, base::Passed(&init_params), |
29 base::Passed(&client), callback)); | 29 base::Passed(&client), callback)); |
30 } | 30 } |
31 | 31 |
32 } // namespace | 32 } // namespace |
33 | 33 |
34 // static | 34 // static |
35 void SensorProviderImpl::Create(mojom::SensorProviderRequest request) { | 35 void SensorProviderImpl::Create( |
| 36 scoped_refptr<base::SingleThreadTaskRunner> file_task_runner, |
| 37 mojom::SensorProviderRequest request) { |
36 PlatformSensorProvider* provider = PlatformSensorProvider::GetInstance(); | 38 PlatformSensorProvider* provider = PlatformSensorProvider::GetInstance(); |
37 if (provider) { | 39 if (provider) { |
| 40 provider->SetFileTaskRunner(file_task_runner); |
38 mojo::MakeStrongBinding(base::WrapUnique(new SensorProviderImpl(provider)), | 41 mojo::MakeStrongBinding(base::WrapUnique(new SensorProviderImpl(provider)), |
39 std::move(request)); | 42 std::move(request)); |
40 } | 43 } |
41 } | 44 } |
42 | 45 |
43 SensorProviderImpl::SensorProviderImpl(PlatformSensorProvider* provider) | 46 SensorProviderImpl::SensorProviderImpl(PlatformSensorProvider* provider) |
44 : provider_(provider), weak_ptr_factory_(this) { | 47 : provider_(provider), weak_ptr_factory_(this) { |
45 DCHECK(provider_); | 48 DCHECK(provider_); |
46 } | 49 } |
47 | 50 |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
89 init_params->mode = sensor->GetReportingMode(); | 92 init_params->mode = sensor->GetReportingMode(); |
90 init_params->default_configuration = sensor->GetDefaultConfiguration(); | 93 init_params->default_configuration = sensor->GetDefaultConfiguration(); |
91 | 94 |
92 NotifySensorCreated(std::move(init_params), sensor_impl->GetClient(), | 95 NotifySensorCreated(std::move(init_params), sensor_impl->GetClient(), |
93 callback); | 96 callback); |
94 | 97 |
95 mojo::MakeStrongBinding(std::move(sensor_impl), std::move(sensor_request)); | 98 mojo::MakeStrongBinding(std::move(sensor_impl), std::move(sensor_request)); |
96 } | 99 } |
97 | 100 |
98 } // namespace device | 101 } // namespace device |
OLD | NEW |