| Index: content/public/browser/geolocation_provider.h
|
| diff --git a/content/public/browser/geolocation_provider.h b/content/public/browser/geolocation_provider.h
|
| index 0f247a1d2e8d17388814f2acd2ba4e14d1cb1270..bf484a0c814740fead567818cd849222b76b3dbf 100644
|
| --- a/content/public/browser/geolocation_provider.h
|
| +++ b/content/public/browser/geolocation_provider.h
|
| @@ -11,7 +11,9 @@
|
| #include "content/common/content_export.h"
|
|
|
| namespace content {
|
| +class AccessTokenStore;
|
| struct Geoposition;
|
| +class LocationProvider;
|
|
|
| // This is the main API to the geolocation subsystem. The application will hold
|
| // a single instance of this class and can register multiple clients to be
|
| @@ -26,6 +28,29 @@ struct Geoposition;
|
| // uses run on a separate Geolocation thread.
|
| class GeolocationProvider {
|
| public:
|
| + // An embedder of Geolocation may override these class' methods to provide
|
| + // specific functionality.
|
| + // TODO(mcasas): Extract this class into a file of its own.
|
| + class CONTENT_EXPORT Delegate {
|
| + public:
|
| + // Returns true if the location API should use network-based location
|
| + // approximation in addition to the system provider, if any.
|
| + virtual bool UseNetworkLocationProviders();
|
| +
|
| + // Creates a new AccessTokenStore for geolocation. May return nullptr.
|
| + // TODO(mcasas): consider changing it return type to std::unique_ptr<> to
|
| + // clarify ownership, https://crbug.com/623114.
|
| + virtual AccessTokenStore* CreateAccessTokenStore();
|
| +
|
| + // Allows an embedder to return its own LocationProvider implementation.
|
| + // Return nullptr to use the default one for the platform to be created.
|
| + // Caller takes ownership of the returned LocationProvider. FYI: Used by an
|
| + // external project; please don't remove. Contact Viatcheslav Ostapenko at
|
| + // sl.ostapenko@samsung.com for more information.
|
| + // TODO(mcasas): return std::unique_ptr<> instead, https://crbug.com/623132.
|
| + virtual LocationProvider* OverrideSystemLocationProvider();
|
| + };
|
| +
|
| CONTENT_EXPORT static GeolocationProvider* GetInstance();
|
|
|
| typedef base::Callback<void(const Geoposition&)> LocationUpdateCallback;
|
|
|