| Index: chrome/browser/chrome_content_browser_client.cc | 
| diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc | 
| index 3e15ef8eefcb3059f7ff20a89220258ed905d854..d2cb7343cd009cc4e1109eb7bf1ccb8f5c7d22e2 100644 | 
| --- a/chrome/browser/chrome_content_browser_client.cc | 
| +++ b/chrome/browser/chrome_content_browser_client.cc | 
| @@ -1945,13 +1945,35 @@ void ChromeContentBrowserClient::RequestGeolocationPermission( | 
| int bridge_id, | 
| const GURL& requesting_frame, | 
| bool user_gesture, | 
| -    base::Callback<void(bool)> result_callback, | 
| -    base::Closure* cancel_callback) { | 
| +    const base::Callback<void(bool)>& result_callback) { | 
| +  int render_process_id = web_contents->GetRenderProcessHost()->GetID(); | 
| +  int render_view_id = web_contents->GetRenderViewHost()->GetRoutingID(); | 
| + | 
| +  const PermissionRequestID request_id(render_process_id, | 
| +                                       render_view_id, | 
| +                                       bridge_id, | 
| +                                       requesting_frame); | 
| GeolocationPermissionContextFactory::GetForProfile( | 
| Profile::FromBrowserContext(web_contents->GetBrowserContext()))-> | 
| -          RequestGeolocationPermission(web_contents, bridge_id, | 
| -                                       requesting_frame, user_gesture, | 
| -                                       result_callback, cancel_callback); | 
| +          RequestPermission(web_contents, request_id, | 
| +                            requesting_frame.GetOrigin(), user_gesture, | 
| +                            result_callback); | 
| +} | 
| + | 
| +void ChromeContentBrowserClient::CancelGeolocationPermissionRequest( | 
| +    content::WebContents* web_contents, | 
| +    int bridge_id, | 
| +    const GURL& requesting_frame) { | 
| +  int render_process_id = web_contents->GetRenderProcessHost()->GetID(); | 
| +  int render_view_id = web_contents->GetRenderViewHost()->GetRoutingID(); | 
| + | 
| +  const PermissionRequestID request_id(render_process_id, | 
| +                                       render_view_id, | 
| +                                       bridge_id, | 
| +                                       requesting_frame); | 
| +  GeolocationPermissionContextFactory::GetForProfile( | 
| +        Profile::FromBrowserContext(web_contents->GetBrowserContext()))-> | 
| +            CancelPermissionRequest(web_contents, request_id); | 
| } | 
|  | 
| void ChromeContentBrowserClient::RequestMidiSysExPermission( | 
|  |