Index: android_webview/native/aw_contents.h |
diff --git a/android_webview/native/aw_contents.h b/android_webview/native/aw_contents.h |
index 6747ac7373e7e7440aa038781e2185bdde42a030..03f5b7291170021870700b375747527978887dc2 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" |
@@ -127,11 +130,10 @@ 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 OnGeolocationShowPrompt(const GURL& origin, base::Callback<void(bool)>); |
+ void OnGeolocationHidePrompt(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); |
@@ -183,6 +185,9 @@ class AwContents : public FindHelper::Listener, |
scoped_ptr<IconHelper> icon_helper_; |
scoped_ptr<content::WebContents> pending_contents_; |
+ typedef std::pair<const GURL&, base::Callback<void(bool)> > OriginCallback; |
+ std::list<OriginCallback> geolocation_callbacks_; |
boliu
2013/02/06 20:29:54
man this just begs for a native->java callback tra
Kristian Monsen
2013/02/08 00:07:44
The problem here is that these have to be stored n
|
+ |
// Compositor-specific state. |
scoped_ptr<content::Compositor> compositor_; |
scoped_refptr<cc::Layer> scissor_clip_layer_; |