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 ca97bfad53c30733a0bc396e44f5df521a127247..c28fcfe6b29c22292bcdccc7abd90ef94f97e8ff 100644 |
--- a/chrome/browser/geolocation/geolocation_permission_context.cc |
+++ b/chrome/browser/geolocation/geolocation_permission_context.cc |
@@ -34,6 +34,7 @@ class GeolocationPermissionRequest : public PermissionBubbleRequest { |
const PermissionRequestID& id, |
const GURL& requesting_frame, |
bool user_gesture, |
+ const GURL& embedder, |
Michael van Ouwerkerk
2014/07/01 12:55:59
Nit: move this before user_gesture so it is paired
Greg Billock
2014/07/01 17:03:33
Done.
|
base::Callback<void(bool)> callback, |
const std::string& display_languages); |
virtual ~GeolocationPermissionRequest(); |
@@ -54,6 +55,7 @@ class GeolocationPermissionRequest : public PermissionBubbleRequest { |
PermissionRequestID id_; |
GURL requesting_frame_; |
bool user_gesture_; |
+ GURL embedder_; |
base::Callback<void(bool)> callback_; |
std::string display_languages_; |
}; |
@@ -63,12 +65,14 @@ GeolocationPermissionRequest::GeolocationPermissionRequest( |
const PermissionRequestID& id, |
const GURL& requesting_frame, |
bool user_gesture, |
+ const GURL& embedder, |
base::Callback<void(bool)> callback, |
const std::string& display_languages) |
: context_(context), |
id_(id), |
requesting_frame_(requesting_frame), |
user_gesture_(user_gesture), |
+ embedder_(embedder), |
callback_(callback), |
display_languages_(display_languages) {} |
@@ -96,10 +100,14 @@ GURL GeolocationPermissionRequest::GetRequestingHostname() const { |
} |
void GeolocationPermissionRequest::PermissionGranted() { |
+ context_->QueueController()->UpdateContentSetting( |
+ requesting_frame_, embedder_, true); |
context_->NotifyPermissionSet(id_, requesting_frame_, callback_, true); |
} |
void GeolocationPermissionRequest::PermissionDenied() { |
+ context_->QueueController()->UpdateContentSetting( |
+ requesting_frame_, embedder_, false); |
context_->NotifyPermissionSet(id_, requesting_frame_, callback_, false); |
} |
@@ -214,7 +222,7 @@ void GeolocationPermissionContext::DecidePermission( |
if (mgr) { |
scoped_ptr<GeolocationPermissionRequest> request_ptr( |
new GeolocationPermissionRequest( |
- this, id, requesting_frame, user_gesture, callback, |
+ this, id, requesting_frame, user_gesture, embedder, callback, |
profile_->GetPrefs()->GetString(prefs::kAcceptLanguages))); |
GeolocationPermissionRequest* request = request_ptr.get(); |
pending_requests_.add(id.ToString(), request_ptr.Pass()); |