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..6a16740fae42617bb838ed0de0cfe41335c251ac 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 while there are no 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. |
|
Wez
2016/08/19 01:33:11
s/creation/caller - effectively the caller just ex
CJ
2016/08/22 17:41:31
Done.
|
| 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); |
| }; |