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