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

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

Issue 11186010: Update geolocation infobar to handle Android system settings (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Updates Created 8 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: chrome/browser/geolocation/chrome_geolocation_permission_context.cc
diff --git a/chrome/browser/geolocation/chrome_geolocation_permission_context.cc b/chrome/browser/geolocation/chrome_geolocation_permission_context.cc
index ea6d79d4acd73c05eceafeb0110078fb55019291..c54d040d9e58d4e9a1a56de926caa00bb1e8b9f4 100644
--- a/chrome/browser/geolocation/chrome_geolocation_permission_context.cc
+++ b/chrome/browser/geolocation/chrome_geolocation_permission_context.cc
@@ -95,6 +95,17 @@ void ChromeGeolocationPermissionContext::DecidePermission(
base::Callback<void(bool)> callback) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+#if defined(OS_ANDROID)
+ // Check to see if the feature in its entirety has been disabled.
+ // This must happen before other services (e.g. tabs, extensions)
+ // get an opportunity to allow the geolocation request.
+ if (!profile()->GetPrefs()->GetBoolean(prefs::kGeolocationEnabled)) {
+ PermissionDecided(render_process_id, render_view_id, bridge_id,
+ requesting_frame, embedder, callback, false);
+ return;
+ }
+#endif
+
ExtensionService* extension_service = profile_->GetExtensionService();
if (extension_service) {
const extensions::Extension* extension =

Powered by Google App Engine
This is Rietveld 408576698