Chromium Code Reviews| Index: device/geolocation/geolocation_provider_impl.h |
| diff --git a/device/geolocation/geolocation_provider_impl.h b/device/geolocation/geolocation_provider_impl.h |
| index e092b8b27ee299cc57da0848d66330c10eb1edc7..32eeb7b36233bd77a44667a6b2f70408763b8aaa 100644 |
| --- a/device/geolocation/geolocation_provider_impl.h |
| +++ b/device/geolocation/geolocation_provider_impl.h |
| @@ -16,6 +16,7 @@ |
| #include "device/geolocation/geolocation_export.h" |
| #include "device/geolocation/geolocation_provider.h" |
| #include "device/geolocation/geoposition.h" |
| +#include "device/geolocation/location_provider.h" |
| namespace base { |
| template <typename Type> |
| @@ -24,7 +25,6 @@ class SingleThreadTaskRunner; |
| } |
| namespace device { |
| -class LocationArbitrator; |
| class DEVICE_GEOLOCATION_EXPORT GeolocationProviderImpl |
| : public NON_EXPORTED_BASE(GeolocationProvider), |
| @@ -50,16 +50,15 @@ class DEVICE_GEOLOCATION_EXPORT GeolocationProviderImpl |
| return user_did_opt_into_location_services_; |
| } |
| - protected: |
| + // Safe to call from the caller thread while there are no |
|
Kevin M
2016/08/15 19:12:46
Safe to call from any thread?
CJ
2016/08/15 20:11:51
Done.
|
| + // GeolocationProviderImpl clients registered. |
| + void SetArbitratorForTesting(std::unique_ptr<LocationProvider> arbitrator); |
| + |
| + private: |
| friend struct base::DefaultSingletonTraits<GeolocationProviderImpl>; |
| GeolocationProviderImpl(); |
| ~GeolocationProviderImpl() override; |
| - // Useful for injecting mock geolocation arbitrator in tests. |
| - // TODO(mvanouwerkerk): Use something like SetArbitratorForTesting instead. |
| - virtual std::unique_ptr<LocationArbitrator> CreateArbitrator(); |
| - |
| - private: |
| bool OnGeolocationThread() const; |
| // Start and stop providers as needed when clients are added or removed. |
| @@ -93,12 +92,12 @@ class DEVICE_GEOLOCATION_EXPORT GeolocationProviderImpl |
| // True only in testing, where we want to use a custom position. |
| bool ignore_location_updates_; |
| - // Only to be used on the geolocation thread. |
| - std::unique_ptr<LocationArbitrator> arbitrator_; |
| - |
| // Used to PostTask()s from the geolocation thread to creation thread. |
| const scoped_refptr<base::SingleThreadTaskRunner> main_task_runner_; |
| + // Only to be used on the geolocation thread. |
| + std::unique_ptr<LocationProvider> arbitrator_; |
| + |
| DISALLOW_COPY_AND_ASSIGN(GeolocationProviderImpl); |
| }; |