[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.19-706-ge5415e9
steveblock at google.com
steveblock at google.com
Thu Feb 4 21:35:50 UTC 2010
The following commit has been merged in the webkit-1.1 branch:
commit 68ae45c7ea5fb0849938e90d5acc7a3357134d3c
Author: steveblock at google.com <steveblock at google.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Tue Feb 2 00:35:18 2010 +0000
Adds V8-specific JNI bridge classes
https://bugs.webkit.org/show_bug.cgi?id=34166
Reviewed by Ariya Hidayat.
This is the V8 equivalent of bridge/jni/jsc/JNIBridgeJSC.
No new tests, build fix only.
* Android.v8bindings.mk: Modified. Added JNIBridge.cpp and JNIBridgeV8.cpp
* bridge/Bridge.h: Modified. Added missing include for Noncopyable.h
* bridge/jni/v8/JNIBridgeV8.cpp: Added.
(JavaField::JavaField):
* bridge/jni/v8/JNIBridgeV8.h: Added.
(JSC::Bindings::JavaField::name):
(JSC::Bindings::JavaField::type):
(JSC::Bindings::JavaField::getJNIType):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@54175 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/Android.v8bindings.mk b/WebCore/Android.v8bindings.mk
index 0e89071..9d7ab39 100644
--- a/WebCore/Android.v8bindings.mk
+++ b/WebCore/Android.v8bindings.mk
@@ -178,6 +178,8 @@ LOCAL_SRC_FILES += \
LOCAL_SRC_FILES += \
bridge/jni/JNIUtility.cpp \
+ bridge/jni/JNIBridge.cpp \
+ bridge/jni/v8/JNIBridgeV8.cpp \
bridge/jni/v8/JNIUtilityPrivate.cpp \
bridge/jni/v8/JavaClassV8.cpp \
bridge/jni/v8/JavaInstanceV8.cpp
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 34c75e2..283e5af 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -2,6 +2,26 @@
Reviewed by Ariya Hidayat.
+ Adds V8-specific JNI bridge classes
+ https://bugs.webkit.org/show_bug.cgi?id=34166
+
+ This is the V8 equivalent of bridge/jni/jsc/JNIBridgeJSC.
+
+ No new tests, build fix only.
+
+ * Android.v8bindings.mk: Modified. Added JNIBridge.cpp and JNIBridgeV8.cpp
+ * bridge/Bridge.h: Modified. Added missing include for Noncopyable.h
+ * bridge/jni/v8/JNIBridgeV8.cpp: Added.
+ (JavaField::JavaField):
+ * bridge/jni/v8/JNIBridgeV8.h: Added.
+ (JSC::Bindings::JavaField::name):
+ (JSC::Bindings::JavaField::type):
+ (JSC::Bindings::JavaField::getJNIType):
+
+2010-02-01 Steve Block <steveblock at google.com>
+
+ Reviewed by Ariya Hidayat.
+
Adds V8-specific JNI utility functions.
https://bugs.webkit.org/show_bug.cgi?id=33901
diff --git a/WebCore/bridge/Bridge.h b/WebCore/bridge/Bridge.h
index d92cd15..50efc64 100644
--- a/WebCore/bridge/Bridge.h
+++ b/WebCore/bridge/Bridge.h
@@ -28,6 +28,7 @@
#define Bridge_h
#include "BridgeJSC.h"
+#include <wtf/Noncopyable.h>
namespace JSC {
diff --git a/WebCore/bridge/jni/v8/JNIBridgeV8.cpp b/WebCore/bridge/jni/v8/JNIBridgeV8.cpp
new file mode 100644
index 0000000..9fb1bf3
--- /dev/null
+++ b/WebCore/bridge/jni/v8/JNIBridgeV8.cpp
@@ -0,0 +1,44 @@
+/*
+ * Copyright 2010, The Android Open Source Project
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "JNIBridgeV8.h"
+
+using namespace JSC::Bindings;
+
+JavaField::JavaField(JNIEnv* env, jobject aField)
+{
+ // Get field type
+ jobject fieldType = callJNIMethod<jobject>(aField, "getType", "()Ljava/lang/Class;");
+ jstring fieldTypeName = static_cast<jstring>(callJNIMethod<jobject>(fieldType, "getName", "()Ljava/lang/String;"));
+ m_type = JavaString(env, fieldTypeName);
+ m_JNIType = JNITypeFromClassName(m_type.UTF8String());
+
+ // Get field name
+ jstring fieldName = static_cast<jstring>(callJNIMethod<jobject>(aField, "getName", "()Ljava/lang/String;"));
+ m_name = JavaString(env, fieldName);
+
+ m_field = new JObjectWrapper(aField);
+}
diff --git a/WebCore/bridge/jni/v8/JNIBridgeV8.h b/WebCore/bridge/jni/v8/JNIBridgeV8.h
new file mode 100644
index 0000000..23989ce
--- /dev/null
+++ b/WebCore/bridge/jni/v8/JNIBridgeV8.h
@@ -0,0 +1,56 @@
+/*
+ * Copyright 2010, The Android Open Source Project
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef JNIBridgeV8_h
+#define JNIBridgeV8_h
+
+#include "JNIBridge.h" // For JavaString
+#include "JavaInstanceV8.h" // For JObjectWrapper
+
+namespace JSC {
+
+namespace Bindings {
+
+class JavaField {
+public:
+ JavaField(JNIEnv*, jobject aField);
+
+ const JavaString& name() const { return m_name; }
+ const char* type() const { return m_type.UTF8String(); }
+
+ JNIType getJNIType() const { return m_JNIType; }
+
+private:
+ JavaString m_name;
+ JavaString m_type;
+ JNIType m_JNIType;
+ RefPtr<JObjectWrapper> m_field;
+};
+
+} // namespace Bindings
+
+} // namespace JSC
+
+#endif // JNIBridgeV8_h
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list