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

Unified Diff: chrome/browser/geolocation/geolocation_permission_context.cc

Issue 5612005: Client-based geolocation support. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase on trunk Created 10 years 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: chrome/browser/geolocation/geolocation_permission_context.cc
diff --git a/chrome/browser/geolocation/geolocation_permission_context.cc b/chrome/browser/geolocation/geolocation_permission_context.cc
index 31fcdb81505eb3a5493dae809c0ca9e788c9d9b6..ed143cab1413868743c3d4854dc5c3beb40e1024 100644
--- a/chrome/browser/geolocation/geolocation_permission_context.cc
+++ b/chrome/browser/geolocation/geolocation_permission_context.cc
@@ -10,7 +10,6 @@
#include "chrome/browser/browser_thread.h"
#include "chrome/browser/extensions/extensions_service.h"
#include "chrome/browser/geolocation/geolocation_content_settings_map.h"
-#include "chrome/browser/geolocation/geolocation_dispatcher_host_old.h"
#include "chrome/browser/geolocation/geolocation_provider.h"
#include "chrome/browser/google/google_util.h"
#include "chrome/browser/prefs/pref_service.h"
@@ -440,6 +439,12 @@ void GeolocationPermissionContext::StartUpdatingRequested(
// Note we cannot store the arbitrator as a member as it is not thread safe.
GeolocationProvider* provider = GeolocationProvider::GetInstance();
+#if defined(ENABLE_CLIENT_BASED_GEOLOCATION)
+ // Client-based Geolocation uses a preemptive permission model, so permission
+ // ought to have been requested and granted before the controller requests
+ // the client to start updating.
+ DCHECK(provider->HasPermissionBeenGranted());
+#else
// WebKit will not request permission until it has received a valid
// location, but the google network location provider will not give a
// valid location until the user has granted permission. So we cut the Gordian
@@ -449,11 +454,14 @@ void GeolocationPermissionContext::StartUpdatingRequested(
RequestGeolocationPermission(render_process_id, render_view_id, bridge_id,
requesting_frame);
}
+#endif
}
void GeolocationPermissionContext::StopUpdatingRequested(
int render_process_id, int render_view_id, int bridge_id) {
+#if !defined(ENABLE_CLIENT_BASED_GEOLOCATION)
CancelPendingInfoBarRequest(render_process_id, render_view_id, bridge_id);
+#endif
}
void GeolocationPermissionContext::NotifyPermissionSet(

Powered by Google App Engine
This is Rietveld 408576698