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

Unified Diff: content/browser/geolocation/geolocation_dispatcher_host.h

Issue 628773003: Partially convert geolocation IPC to Mojo. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Response to reviews, port override impl Created 6 years, 2 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: content/browser/geolocation/geolocation_dispatcher_host.h
diff --git a/content/browser/geolocation/geolocation_dispatcher_host.h b/content/browser/geolocation/geolocation_dispatcher_host.h
index c719e7aa2eeafa7b5c2ac73168d64caf1ddddf9e..32a155f85abb6a6784b2f536350b8a79205b69ab 100644
--- a/content/browser/geolocation/geolocation_dispatcher_host.h
+++ b/content/browser/geolocation/geolocation_dispatcher_host.h
@@ -10,38 +10,26 @@
#include "base/callback_forward.h"
#include "base/memory/weak_ptr.h"
-#include "content/browser/geolocation/geolocation_provider_impl.h"
#include "content/public/browser/web_contents_observer.h"
class GURL;
namespace content {
-// GeolocationDispatcherHost is an observer for Geolocation messages.
-// It's the complement of GeolocationDispatcher (owned by RenderView).
+// GeolocationDispatcherHost is an observer for Geolocation permissions-related
+// messages. In this role, it's the complement of GeolocationDispatcher (owned
+// by RenderFrame).
+// TODO(blundell): Eliminate this class in favor of having
+// Mojo handle permissions for geolocation once there is resolution on how
+// that will work. crbug.com/420498
class GeolocationDispatcherHost : public WebContentsObserver {
public:
explicit GeolocationDispatcherHost(WebContents* web_contents);
virtual ~GeolocationDispatcherHost();
- // Pause or resumes geolocation. Resuming when nothing is paused is a no-op.
- // If the web contents is paused while not currently using geolocation but
- // then goes on to do so before being resumed, then it will not get
- // geolocation updates until it is resumed.
- void PauseOrResume(bool should_pause);
-
- // Enables geolocation override. This method is used by DevTools to
- // trigger possible location-specific behavior in particular web contents.
- void SetOverride(scoped_ptr<Geoposition> geoposition);
-
- // Disables geolocation override.
- void ClearOverride();
-
private:
// WebContentsObserver
virtual void RenderFrameDeleted(RenderFrameHost* render_frame_host) override;
- virtual void RenderViewHostChanged(RenderViewHost* old_host,
- RenderViewHost* new_host) override;
virtual void DidNavigateAnyFrame(RenderFrameHost* render_frame_host,
const LoadCommittedDetails& details,
const FrameNavigateParams& params) override;
@@ -55,17 +43,6 @@ class GeolocationDispatcherHost : public WebContentsObserver {
int bridge_id,
const GURL& requesting_origin,
bool user_gesture);
- void OnStartUpdating(RenderFrameHost* render_frame_host,
- const GURL& requesting_origin,
- bool enable_high_accuracy);
- void OnStopUpdating(RenderFrameHost* render_frame_host);
-
- // Updates the geolocation provider with the currently required update
- // options.
- void RefreshGeolocationOptions();
-
- void OnLocationUpdate(const Geoposition& position);
- void UpdateGeoposition(RenderFrameHost* frame, const Geoposition& position);
void SendGeolocationPermissionResponse(int render_process_id,
int render_frame_id,
@@ -76,11 +53,6 @@ class GeolocationDispatcherHost : public WebContentsObserver {
// browser to cancel the permission requests.
void CancelPermissionRequestsForFrame(RenderFrameHost* render_frame_host);
- // A map from the RenderFrameHosts that have requested geolocation updates to
- // the type of accuracy they requested (true = high accuracy).
- std::map<RenderFrameHost*, bool> updating_frames_;
- bool paused_;
-
struct PendingPermission {
PendingPermission(int render_frame_id,
int render_process_id,
@@ -94,9 +66,6 @@ class GeolocationDispatcherHost : public WebContentsObserver {
};
std::vector<PendingPermission> pending_permissions_;
- scoped_ptr<GeolocationProvider::Subscription> geolocation_subscription_;
- scoped_ptr<Geoposition> geoposition_override_;
-
base::WeakPtrFactory<GeolocationDispatcherHost> weak_factory_;
DISALLOW_COPY_AND_ASSIGN(GeolocationDispatcherHost);

Powered by Google App Engine
This is Rietveld 408576698