Chromium Code Reviews| Index: blimp/engine/feature/geolocation/engine_geolocation_feature.cc |
| diff --git a/blimp/engine/feature/geolocation/engine_geolocation_feature.cc b/blimp/engine/feature/geolocation/engine_geolocation_feature.cc |
| index 3e8551db1b6b5b51e3e56513db08cc8ea7af1d8f..e63096fcda772a6202e5ba331c449eec074e6022 100644 |
| --- a/blimp/engine/feature/geolocation/engine_geolocation_feature.cc |
| +++ b/blimp/engine/feature/geolocation/engine_geolocation_feature.cc |
| @@ -27,17 +27,20 @@ class BlimpGeolocationDelegate : public device::GeolocationDelegate { |
| explicit BlimpGeolocationDelegate( |
| base::WeakPtr<BlimpLocationProvider::Delegate> feature_delegate) { |
| feature_delegate_ = feature_delegate; |
| + feature_task_runner_ = base::ThreadTaskRunnerHandle::Get(); |
|
Kevin M
2016/09/09 17:07:05
Do we need to store this as a field? Can we just g
CJ
2016/09/09 19:52:41
I don't believe so, since OverrideSystemLocationPr
|
| } |
| bool UseNetworkLocationProviders() final { return false; } |
| std::unique_ptr<device::LocationProvider> OverrideSystemLocationProvider() |
| final { |
| - return base::MakeUnique<BlimpLocationProvider>(feature_delegate_); |
| + return base::MakeUnique<BlimpLocationProvider>(feature_delegate_, |
| + feature_task_runner_); |
| } |
| private: |
| base::WeakPtr<BlimpLocationProvider::Delegate> feature_delegate_; |
| + scoped_refptr<base::SingleThreadTaskRunner> feature_task_runner_; |
| DISALLOW_COPY_AND_ASSIGN(BlimpGeolocationDelegate); |
| }; |
| @@ -152,11 +155,11 @@ void EngineGeolocationFeature::OnPermissionGranted() { |
| } |
| void EngineGeolocationFeature::SetUpdateCallback( |
| + scoped_refptr<base::SingleThreadTaskRunner> caller_task_runner, |
| const GeopositionReceivedCallback& callback) { |
| geoposition_received_callback_ = callback; |
| - |
| // Set |callback_task_runner_| to run on the current thread. |
|
Kevin M
2016/09/09 17:07:05
This doesn't make sense?
CJ
2016/09/09 19:52:41
Done.
|
| - callback_task_runner_ = base::ThreadTaskRunnerHandle::Get(); |
| + callback_task_runner_ = caller_task_runner; |
| } |
| } // namespace engine |