diff options
Diffstat (limited to 'Source/WebKit/android')
-rw-r--r-- | Source/WebKit/android/jni/WebCoreFrameBridge.cpp | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/Source/WebKit/android/jni/WebCoreFrameBridge.cpp b/Source/WebKit/android/jni/WebCoreFrameBridge.cpp index 61ffd29..ecda831 100644 --- a/Source/WebKit/android/jni/WebCoreFrameBridge.cpp +++ b/Source/WebKit/android/jni/WebCoreFrameBridge.cpp @@ -61,6 +61,7 @@ #include "IconDatabase.h" #include "Image.h" #include "InspectorClientAndroid.h" +#include "JavaClassJobjectV8.h" #include "JavaNPObjectV8.h" #include "JavaInstanceJobjectV8.h" #include "KURL.h" @@ -1504,14 +1505,14 @@ static jobject StringByEvaluatingJavaScriptFromString(JNIEnv *env, jobject obj, // and virtualEnd and swap the weak reference for the real object. class WeakJavaInstance : public JavaInstanceJobject { public: - static PassRefPtr<WeakJavaInstance> create(jobject obj) + static PassRefPtr<WeakJavaInstance> create(jobject obj, bool requireAnnotation) { - return adoptRef(new WeakJavaInstance(obj)); + return adoptRef(new WeakJavaInstance(obj, requireAnnotation)); } private: - WeakJavaInstance(jobject instance) - : JavaInstanceJobject(instance) + WeakJavaInstance(jobject instance, bool requireAnnotation) + : JavaInstanceJobject(instance, requireAnnotation) , m_beginEndDepth(0) { JNIEnv* env = getJNIEnv(); @@ -1568,7 +1569,7 @@ private: }; static void AddJavascriptInterface(JNIEnv *env, jobject obj, jint nativeFramePointer, - jobject javascriptObj, jstring interfaceName) + jobject javascriptObj, jstring interfaceName, jboolean requireAnnotation) { WebCore::Frame* pFrame = 0; if (nativeFramePointer == 0) @@ -1582,7 +1583,8 @@ static void AddJavascriptInterface(JNIEnv *env, jobject obj, jint nativeFramePoi ALOGV("::WebCore:: addJSInterface: %p", pFrame); if (pFrame) { - RefPtr<JavaInstance> addedObject = WeakJavaInstance::create(javascriptObj); + RefPtr<JavaInstance> addedObject = WeakJavaInstance::create(javascriptObj, + requireAnnotation); const char* name = getCharactersFromJStringInEnv(env, interfaceName); // Pass ownership of the added object to bindToWindowObject. NPObject* npObject = JavaInstanceToNPObject(addedObject.get()); @@ -1950,7 +1952,7 @@ static JNINativeMethod gBrowserFrameNativeMethods[] = { (void*) Reload }, { "nativeGoBackOrForward", "(I)V", (void*) GoBackOrForward }, - { "nativeAddJavascriptInterface", "(ILjava/lang/Object;Ljava/lang/String;)V", + { "nativeAddJavascriptInterface", "(ILjava/lang/Object;Ljava/lang/String;Z)V", (void*) AddJavascriptInterface }, { "stringByEvaluatingJavaScriptFromString", "(Ljava/lang/String;)Ljava/lang/String;", @@ -1985,6 +1987,8 @@ static JNINativeMethod gBrowserFrameNativeMethods[] = { int registerWebFrame(JNIEnv* env) { + JavaClassJobject::RegisterJavaClassJobject(env); + jclass clazz = env->FindClass("android/webkit/BrowserFrame"); ALOG_ASSERT(clazz, "Cannot find BrowserFrame"); gFrameField = env->GetFieldID(clazz, "mNativeFrame", "I"); |