Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1683)

Unified Diff: device/geolocation/geolocation_provider_impl.h

Issue 2226143002: Gets rid of the LocationArbitrator interface, in preference for LocationProvider. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addresses kmarshall's #41 comments Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);
};

Powered by Google App Engine
This is Rietveld 408576698