Move V8 jni_class to bridge/jni/v8/JavaClassV8 and fix style
This is the V8 equivalent of http://trac.webkit.org/changeset/53443
It is being upstreamed to webkit.org in https://bugs.webkit.org/show_bug.cgi?id=33898
Change-Id: I27dcf73cc7d8c0303243ea632361f2210819cbc4
diff --git a/Android.mk b/Android.mk
index 6df03ae..931ebf7 100644
--- a/Android.mk
+++ b/Android.mk
@@ -185,7 +185,6 @@
$(LOCAL_PATH)/bridge/jni \
$(LOCAL_PATH)/bridge/jni/v8
JNI_SRC_FILES := \
- jni_class.cpp \
jni_instance.cpp \
jni_npobject.cpp \
jni_runtime.cpp
diff --git a/V8Binding/jni/jni_instance.cpp b/V8Binding/jni/jni_instance.cpp
index c674e88..205e3f4 100644
--- a/V8Binding/jni/jni_instance.cpp
+++ b/V8Binding/jni/jni_instance.cpp
@@ -30,7 +30,7 @@
#include "jni_instance.h"
#include "JNIUtility.h"
-#include "jni_class.h"
+#include "JavaClassV8.h"
#include "jni_runtime.h"
#include <assert.h>
diff --git a/V8Binding/jni/jni_npobject.cpp b/V8Binding/jni/jni_npobject.cpp
index d736cdd..31196fc 100644
--- a/V8Binding/jni/jni_npobject.cpp
+++ b/V8Binding/jni/jni_npobject.cpp
@@ -28,7 +28,7 @@
#include "jni_npobject.h"
#include "JNIUtility.h"
-#include "jni_class.h"
+#include "JavaClassV8.h"
#include "jni_instance.h"
#include "jni_runtime.h"
// This source file should be in bridge/jni, so it's OK to use the private
diff --git a/WebCore/Android.v8bindings.mk b/WebCore/Android.v8bindings.mk
index ac88cf7..88b28c9 100644
--- a/WebCore/Android.v8bindings.mk
+++ b/WebCore/Android.v8bindings.mk
@@ -172,4 +172,5 @@
LOCAL_SRC_FILES += \
bridge/jni/JNIUtility.cpp \
+ bridge/jni/v8/JavaClassV8.cpp \
bridge/jni/v8/jni_utility_private.cpp
diff --git a/V8Binding/jni/jni_class.cpp b/WebCore/bridge/jni/v8/JavaClassV8.cpp
similarity index 69%
rename from V8Binding/jni/jni_class.cpp
rename to WebCore/bridge/jni/v8/JavaClassV8.cpp
index 2c577d8..54b40c9 100644
--- a/V8Binding/jni/jni_class.cpp
+++ b/WebCore/bridge/jni/v8/JavaClassV8.cpp
@@ -1,31 +1,31 @@
/*
- * Copyright (C) 2003 Apple Computer, Inc. All rights reserved.
- * Copyright 2009, The Android Open Source Project
+ * Copyright (C) 2010 Apple Computer, Inc. All rights reserved.
+ * 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:
- * 1. Redistributions of source code must retain the above copyright
+ * * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
+ * * 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 APPLE COMPUTER, INC. ``AS IS'' AND ANY
+ * 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 APPLE COMPUTER, INC. OR
+ * 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.
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include "config.h"
-#include "jni_class.h"
+#include "JavaClassV8.h"
#include "JNIUtility.h"
#include "jni_runtime.h"
@@ -35,28 +35,28 @@
JavaClass::JavaClass(jobject anInstance)
{
jobject aClass = callJNIMethod<jobject>(anInstance, "getClass", "()Ljava/lang/Class;");
-
+
if (!aClass) {
fprintf(stderr, "%s: unable to call getClass on instance %p\n", __PRETTY_FUNCTION__, anInstance);
return;
}
-
+
jstring className = (jstring)callJNIMethod<jobject>(aClass, "getName", "()Ljava/lang/String;");
- const char *classNameC = getCharactersFromJString(className);
- _name = strdup(classNameC);
+ const char* classNameC = getCharactersFromJString(className);
+ m_name = strdup(classNameC);
releaseCharactersForJString(className, classNameC);
int i;
- JNIEnv *env = getJNIEnv();
+ JNIEnv* env = getJNIEnv();
// Get the fields
jarray fields = (jarray)callJNIMethod<jobject>(aClass, "getFields", "()[Ljava/lang/reflect/Field;");
- int numFields = env->GetArrayLength(fields);
+ int numFields = env->GetArrayLength(fields);
for (i = 0; i < numFields; i++) {
jobject aJField = env->GetObjectArrayElement((jobjectArray)fields, i);
- JavaField *aField = new JavaField(env, aJField); // deleted in the JavaClass destructor
+ JavaField* aField = new JavaField(env, aJField); // deleted in the JavaClass destructor
{
- _fields.set(aField->name(), aField);
+ m_fields.set(aField->name(), aField);
}
env->DeleteLocalRef(aJField);
}
@@ -66,42 +66,43 @@
int numMethods = env->GetArrayLength(methods);
for (i = 0; i < numMethods; i++) {
jobject aJMethod = env->GetObjectArrayElement((jobjectArray)methods, i);
- JavaMethod *aMethod = new JavaMethod(env, aJMethod); // deleted in the JavaClass destructor
+ JavaMethod* aMethod = new JavaMethod(env, aJMethod); // deleted in the JavaClass destructor
MethodList* methodList;
{
- methodList = _methods.get(aMethod->name());
+ methodList = m_methods.get(aMethod->name());
if (!methodList) {
methodList = new MethodList();
- _methods.set(aMethod->name(), methodList);
+ m_methods.set(aMethod->name(), methodList);
}
}
methodList->append(aMethod);
env->DeleteLocalRef(aJMethod);
- }
+ }
env->DeleteLocalRef(fields);
env->DeleteLocalRef(methods);
env->DeleteLocalRef(aClass);
}
-JavaClass::~JavaClass() {
- free((void *)_name);
+JavaClass::~JavaClass()
+{
+ free((void*)m_name);
- deleteAllValues(_fields);
- _fields.clear();
+ deleteAllValues(m_fields);
+ m_fields.clear();
- MethodListMap::const_iterator end = _methods.end();
- for (MethodListMap::const_iterator it = _methods.begin(); it != end; ++it) {
+ MethodListMap::const_iterator end = m_methods.end();
+ for (MethodListMap::const_iterator it = m_methods.begin(); it != end; ++it) {
const MethodList* methodList = it->second;
deleteAllValues(*methodList);
delete methodList;
}
- _methods.clear();
+ m_methods.clear();
}
MethodList JavaClass::methodsNamed(const char* name) const
{
- MethodList *methodList = _methods.get(name);
-
+ MethodList* methodList = m_methods.get(name);
+
if (methodList)
return *methodList;
return MethodList();
@@ -109,5 +110,5 @@
JavaField* JavaClass::fieldNamed(const char* name) const
{
- return _fields.get(name);
+ return m_fields.get(name);
}
diff --git a/V8Binding/jni/jni_class.h b/WebCore/bridge/jni/v8/JavaClassV8.h
similarity index 67%
rename from V8Binding/jni/jni_class.h
rename to WebCore/bridge/jni/v8/JavaClassV8.h
index 58787d3..12cdf93 100644
--- a/V8Binding/jni/jni_class.h
+++ b/WebCore/bridge/jni/v8/JavaClassV8.h
@@ -1,37 +1,37 @@
/*
- * Copyright (C) 2003 Apple Computer, Inc. All rights reserved.
- * Copyright 2009, The Android Open Source Project
+ * Copyright (C) 2010 Apple Computer, Inc. All rights reserved.
+ * 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:
- * 1. Redistributions of source code must retain the above copyright
+ * * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
+ * * 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 APPLE COMPUTER, INC. ``AS IS'' AND ANY
+ * 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 APPLE COMPUTER, INC. OR
+ * 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.
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef JNI_CLASS_H_
-#define JNI_CLASS_H_
+#ifndef JavaClassV8_h
+#define JavaClassV8_h
-#include <jni_runtime.h>
-#include <wtf/HashMap.h>
-#include <wtf/Vector.h>
#include "PlatformString.h"
#include "StringHash.h"
+#include "jni_runtime.h"
+#include <wtf/HashMap.h>
+#include <wtf/Vector.h>
namespace JSC {
@@ -43,20 +43,20 @@
class JavaClass {
public:
- JavaClass (jobject anInstance);
- ~JavaClass ();
+ JavaClass(jobject anInstance);
+ ~JavaClass();
- MethodList methodsNamed(const char* name) const;
+ MethodList methodsNamed(const char* name) const;
JavaField* fieldNamed(const char* name) const;
private:
- const char *_name;
- MethodListMap _methods;
- FieldMap _fields;
+ const char* m_name;
+ MethodListMap m_methods;
+ FieldMap m_fields;
};
} // namespace Bindings
} // namespace JSC
-#endif // JNI_CLASS_H_
+#endif // JavaClassV8_h