| Index: chrome/browser/geolocation/geolocation_permission_context_extensions.cc
|
| diff --git a/chrome/browser/geolocation/geolocation_permission_context_extensions.cc b/chrome/browser/geolocation/geolocation_permission_context_extensions.cc
|
| index 884562588ef4c949f59427ebf73a0bc139ef7835..6a13b353137221d5a32f2377b82925f6b3e5c06c 100644
|
| --- a/chrome/browser/geolocation/geolocation_permission_context_extensions.cc
|
| +++ b/chrome/browser/geolocation/geolocation_permission_context_extensions.cc
|
| @@ -20,6 +20,16 @@ using extensions::APIPermission;
|
| using extensions::ExtensionRegistry;
|
| #endif
|
|
|
| +namespace {
|
| +
|
| +void CallbackContentSettingWrapper(
|
| + const base::Callback<void(ContentSetting)>& callback,
|
| + bool allowed) {
|
| + callback.Run(allowed ? CONTENT_SETTING_ALLOW : CONTENT_SETTING_BLOCK);
|
| +}
|
| +
|
| +} // anonymous namespace
|
| +
|
| GeolocationPermissionContextExtensions::
|
| GeolocationPermissionContextExtensions(Profile* profile)
|
| : profile_(profile) {
|
| @@ -35,7 +45,7 @@ bool GeolocationPermissionContextExtensions::RequestPermission(
|
| int bridge_id,
|
| const GURL& requesting_frame,
|
| bool user_gesture,
|
| - base::Callback<void(bool)> callback,
|
| + const base::Callback<void(ContentSetting)>& callback,
|
| bool* permission_set,
|
| bool* new_permission) {
|
| #if defined(ENABLE_EXTENSIONS)
|
| @@ -45,7 +55,8 @@ bool GeolocationPermissionContextExtensions::RequestPermission(
|
| extensions::WebViewPermissionHelper::FromWebContents(web_contents);
|
| if (web_view_permission_helper) {
|
| web_view_permission_helper->RequestGeolocationPermission(
|
| - bridge_id, requesting_frame, user_gesture, callback);
|
| + bridge_id, requesting_frame, user_gesture,
|
| + base::Bind(&CallbackContentSettingWrapper, callback));
|
| *permission_set = false;
|
| *new_permission = false;
|
| return true;
|
|
|