| Index: android_webview/native/aw_contents.h | 
| diff --git a/android_webview/native/aw_contents.h b/android_webview/native/aw_contents.h | 
| index 31a921dc197e2e6e3348772ab85f95c9ea414c2f..7313027290aed6e12c835410583c73992d72074a 100644 | 
| --- a/android_webview/native/aw_contents.h | 
| +++ b/android_webview/native/aw_contents.h | 
| @@ -6,7 +6,9 @@ | 
| #define ANDROID_WEBVIEW_NATIVE_AW_CONTENTS_H_ | 
|  | 
| #include <jni.h> | 
| +#include <list> | 
| #include <string> | 
| +#include <utility> | 
|  | 
| #include "android_webview/browser/find_helper.h" | 
| #include "android_webview/browser/icon_helper.h" | 
| @@ -14,6 +16,7 @@ | 
| #include "android_webview/public/browser/draw_gl.h" | 
| #include "base/android/scoped_java_ref.h" | 
| #include "base/android/jni_helper.h" | 
| +#include "base/callback_forward.h" | 
| #include "base/memory/scoped_ptr.h" | 
| #include "content/public/browser/android/compositor.h" | 
| #include "content/public/browser/javascript_dialog_manager.h" | 
| @@ -131,11 +134,12 @@ class AwContents : public FindHelper::Listener, | 
| jboolean invalidation_only); | 
|  | 
| // Geolocation API support | 
| -  void OnGeolocationShowPrompt(int render_process_id, | 
| -                             int render_view_id, | 
| -                             int bridge_id, | 
| -                             const GURL& requesting_frame); | 
| -  void OnGeolocationHidePrompt(); | 
| +  void ShowGeolocationPrompt(const GURL& origin, base::Callback<void(bool)>); | 
| +  void HideGeolocationPrompt(const GURL& origin); | 
| +  void InvokeGeolocationCallback(JNIEnv* env, | 
| +                                 jobject obj, | 
| +                                 jboolean value, | 
| +                                 jstring origin); | 
|  | 
| // Find-in-page API and related methods. | 
| jint FindAllSync(JNIEnv* env, jobject obj, jstring search_string); | 
| @@ -187,6 +191,13 @@ class AwContents : public FindHelper::Listener, | 
| scoped_ptr<IconHelper> icon_helper_; | 
| scoped_ptr<content::WebContents> pending_contents_; | 
|  | 
| +  // GURL is supplied by the content layer as requesting frame. | 
| +  // Callback is supplied by the content layer, and is invoked with the result | 
| +  // from the permission prompt. | 
| +  typedef std::pair<const GURL, base::Callback<void(bool)> > OriginCallback; | 
| +  // The first element in the list is always the currently pending request. | 
| +  std::list<OriginCallback> pending_geolocation_prompts_; | 
| + | 
| // Compositor-specific state. | 
| scoped_ptr<content::Compositor> compositor_; | 
| scoped_refptr<cc::Layer> scissor_clip_layer_; | 
|  |