| Index: content/browser/geolocation/geolocation_dispatcher_host.cc | 
| diff --git a/content/browser/geolocation/geolocation_dispatcher_host.cc b/content/browser/geolocation/geolocation_dispatcher_host.cc | 
| index 75abab5a527f91a45d2a76a3a7ee64b39e79c7dd..a778dfab2a3092096f9f43514f2c7b0d1475139d 100644 | 
| --- a/content/browser/geolocation/geolocation_dispatcher_host.cc | 
| +++ b/content/browser/geolocation/geolocation_dispatcher_host.cc | 
| @@ -163,8 +163,7 @@ void GeolocationDispatcherHost::OnRequestPermission( | 
| user_gesture, | 
| base::Bind(&GeolocationDispatcherHost::SendGeolocationPermissionResponse, | 
| weak_factory_.GetWeakPtr(), | 
| -                 render_process_id, render_frame_id, bridge_id), | 
| -      &pending_permissions_.back().cancel); | 
| +                 render_process_id, render_frame_id, bridge_id)); | 
| } | 
|  | 
| void GeolocationDispatcherHost::OnCancelPermissionRequest( | 
| @@ -177,8 +176,9 @@ void GeolocationDispatcherHost::OnCancelPermissionRequest( | 
| if (pending_permissions_[i].render_process_id == render_process_id && | 
| pending_permissions_[i].render_frame_id == render_frame_id && | 
| pending_permissions_[i].bridge_id == bridge_id) { | 
| -      if (!pending_permissions_[i].cancel.is_null()) | 
| -        pending_permissions_[i].cancel.Run(); | 
| +      GetContentClient()->browser()->CancelGeolocationPermissionRequest( | 
| +            web_contents(), bridge_id, requesting_frame); | 
| + | 
| pending_permissions_.erase(pending_permissions_.begin() + i); | 
| return; | 
| } | 
|  |