Chromium Code Reviews| 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 711caa4c8383cf7a0282a7ed06bae0057c8a6f22..72cd3d2d056a5cc021263667d7057b00cb47f84d 100644 |
| --- a/chrome/browser/geolocation/chrome_geolocation_permission_context.cc |
| +++ b/chrome/browser/geolocation/chrome_geolocation_permission_context.cc |
| @@ -15,6 +15,7 @@ |
| #include "chrome/browser/content_settings/permission_request_id.h" |
| #include "chrome/browser/content_settings/tab_specific_content_settings.h" |
| #include "chrome/browser/extensions/suggest_permission_util.h" |
| +#include "chrome/browser/guestview/webview/webview_guest.h" |
| #include "chrome/browser/profiles/profile.h" |
| #include "chrome/browser/tab_contents/tab_util.h" |
| #include "chrome/browser/ui/website_settings/permission_bubble_manager.h" |
| @@ -157,6 +158,15 @@ void ChromeGeolocationPermissionContext::RequestGeolocationPermission( |
| content::WebContents* web_contents = |
| tab_util::GetWebContentsByID(render_process_id, render_view_id); |
| + |
| + WebViewGuest* guest = WebViewGuest::FromWebContents(web_contents); |
|
lazyboy
2014/04/11 19:27:06
The guest specialization code lying here seems mes
|
| + if (guest) { |
| + guest->RequestGeolocationPermission(bridge_id, |
| + requesting_frame, |
| + user_gesture, |
| + callback); |
| + return; |
| + } |
| const PermissionRequestID id(render_process_id, render_view_id, bridge_id, 0); |
| ExtensionRegistry* extension_registry = ExtensionRegistry::Get(profile_); |
| if (extension_registry) { |
| @@ -206,6 +216,14 @@ void ChromeGeolocationPermissionContext::CancelGeolocationPermissionRequest( |
| int render_view_id, |
| int bridge_id, |
| const GURL& requesting_frame) { |
| + content::WebContents* web_contents = |
| + tab_util::GetWebContentsByID(render_process_id, render_view_id); |
| + WebViewGuest* guest = |
| + web_contents ? WebViewGuest::FromWebContents(web_contents) : NULL; |
| + if (guest) { |
| + guest->CancelGeolocationPermissionRequest(bridge_id); |
| + return; |
| + } |
| // TODO(gbillock): cancel permission bubble request. |
| CancelPendingInfobarRequest(PermissionRequestID( |
| render_process_id, render_view_id, bridge_id, 0)); |