diff options
Diffstat (limited to 'Source/WebCore/bridge/jni/v8/JavaInstanceJobjectV8.cpp')
-rw-r--r-- | Source/WebCore/bridge/jni/v8/JavaInstanceJobjectV8.cpp | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/Source/WebCore/bridge/jni/v8/JavaInstanceJobjectV8.cpp b/Source/WebCore/bridge/jni/v8/JavaInstanceJobjectV8.cpp index e7b854d..c97a67f 100644 --- a/Source/WebCore/bridge/jni/v8/JavaInstanceJobjectV8.cpp +++ b/Source/WebCore/bridge/jni/v8/JavaInstanceJobjectV8.cpp @@ -41,8 +41,15 @@ using namespace JSC::Bindings; +#if PLATFORM(ANDROID) +JavaInstanceJobject::JavaInstanceJobject(jobject instance, bool requireAnnotation) +#else JavaInstanceJobject::JavaInstanceJobject(jobject instance) +#endif : m_instance(new JobjectWrapper(instance)) +#if PLATFORM(ANDROID) + , m_requireAnnotation(requireAnnotation) +#endif { } @@ -61,7 +68,11 @@ void JavaInstanceJobject::end() JavaClass* JavaInstanceJobject::getClass() const { if (!m_class) +#if PLATFORM(ANDROID) + m_class = adoptPtr(new JavaClassJobject(javaInstance(), m_requireAnnotation)); +#else m_class = adoptPtr(new JavaClassJobject(javaInstance())); +#endif return m_class.get(); } @@ -86,7 +97,7 @@ JavaValue JavaInstanceJobject::invokeMethod(const JavaMethod* method, JavaValue* return JavaValue(); } - return jvalueToJavaValue(result, method->returnType()); + return jvalueToJavaValue(result, method->returnType(), m_requireAnnotation); // END ANDROID } @@ -113,7 +124,11 @@ JavaValue JavaInstanceJobject::getField(const JavaField* field) appendClassName(signature, field->typeClassName()); signature.append(';'); } +#if PLATFORM(ANDROID) + return jvalueToJavaValue(getJNIField(javaInstance(), field->type(), field->name().utf8().data(), signature.toString().utf8().data()), field->type(), m_requireAnnotation); +#else return jvalueToJavaValue(getJNIField(javaInstance(), field->type(), field->name().utf8().data(), signature.toString().utf8().data()), field->type()); +#endif } #endif // ENABLE(JAVA_BRIDGE) |