| Index: content/browser/geolocation/geolocation_service_impl.h
|
| diff --git a/content/browser/geolocation/geolocation_service_impl.h b/content/browser/geolocation/geolocation_service_impl.h
|
| index 45b37e7fd601c21e3b20c4682b559c7d8d5c284c..90cad495ffc69754d17cc664284c409a68b5cdc1 100644
|
| --- a/content/browser/geolocation/geolocation_service_impl.h
|
| +++ b/content/browser/geolocation/geolocation_service_impl.h
|
| @@ -3,28 +3,23 @@
|
| // found in the LICENSE file.
|
|
|
| #include "base/memory/scoped_ptr.h"
|
| -#include "content/browser/geolocation/geolocation_provider_impl.h"
|
| #include "content/common/geolocation_service.mojom.h"
|
| -#include "content/public/common/mojo_geoposition.mojom.h"
|
| -#include "third_party/mojo/src/mojo/public/cpp/bindings/binding.h"
|
| +#include "content/public/browser/geolocation_provider.h"
|
|
|
| #ifndef CONTENT_BROWSER_GEOLOCATION_GEOLOCATION_SERVICE_IMPL_H_
|
| #define CONTENT_BROWSER_GEOLOCATION_GEOLOCATION_SERVICE_IMPL_H_
|
|
|
| namespace content {
|
| -
|
| -class GeolocationProvider;
|
| class GeolocationServiceContext;
|
| +struct Geoposition;
|
| +class RenderFrameHost;
|
|
|
| // Implements the GeolocationService Mojo interface.
|
| class GeolocationServiceImpl : public GeolocationService {
|
| public:
|
| - // |context| must outlive this object. |update_callback| will be called when
|
| - // location updates are sent, allowing the client to know when the service
|
| - // is being used.
|
| - GeolocationServiceImpl(mojo::InterfaceRequest<GeolocationService> request,
|
| - GeolocationServiceContext* context,
|
| - const base::Closure& update_callback);
|
| + // |context| must outlive this object.
|
| + GeolocationServiceImpl(GeolocationServiceContext* context,
|
| + RenderFrameHost* render_frame_host);
|
| ~GeolocationServiceImpl() override;
|
|
|
| // Starts listening for updates.
|
| @@ -35,47 +30,36 @@ class GeolocationServiceImpl : public GeolocationService {
|
| void ResumeUpdates();
|
|
|
| // Enables and disables geolocation override.
|
| - void SetOverride(const Geoposition& position);
|
| + void OnOverrideSet();
|
| void ClearOverride();
|
|
|
| private:
|
| - typedef mojo::Callback<void(MojoGeopositionPtr)> PositionCallback;
|
| + using PositionCallback = QueryNextPositionCallback;
|
|
|
| // GeolocationService:
|
| void SetHighAccuracy(bool high_accuracy) override;
|
| void QueryNextPosition(const PositionCallback& callback) override;
|
|
|
| - void OnConnectionError();
|
| -
|
| void OnLocationUpdate(const Geoposition& position);
|
| void ReportCurrentPosition();
|
|
|
| - // The binding between this object and the other end of the pipe.
|
| - mojo::Binding<GeolocationService> binding_;
|
| + void ReportPermissionUsage();
|
|
|
| // Owns this object.
|
| - GeolocationServiceContext* context_;
|
| + GeolocationServiceContext* const context_;
|
| + const int render_process_id_;
|
| + const int render_frame_id_;
|
| scoped_ptr<GeolocationProvider::Subscription> geolocation_subscription_;
|
|
|
| - // Callback that allows the instantiator of this class to be notified on
|
| - // position updates.
|
| - base::Closure update_callback_;
|
| -
|
| // The callback passed to QueryNextPosition.
|
| PositionCallback position_callback_;
|
|
|
| - // Valid iff SetOverride() has been called and ClearOverride() has not
|
| - // subsequently been called.
|
| - Geoposition position_override_;
|
| -
|
| - MojoGeoposition current_position_;
|
| + MojoGeopositionPtr current_position_;
|
|
|
| // Whether this instance is currently observing location updates with high
|
| // accuracy.
|
| bool high_accuracy_;
|
|
|
| - bool has_position_to_report_;
|
| -
|
| DISALLOW_COPY_AND_ASSIGN(GeolocationServiceImpl);
|
| };
|
|
|
|
|