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)); |