summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--V8Binding/jni/jni_instance.cpp1
-rw-r--r--V8Binding/jni/jni_instance.h11
2 files changed, 2 insertions, 10 deletions
diff --git a/V8Binding/jni/jni_instance.cpp b/V8Binding/jni/jni_instance.cpp
index 6b83764..657b8c4 100644
--- a/V8Binding/jni/jni_instance.cpp
+++ b/V8Binding/jni/jni_instance.cpp
@@ -42,7 +42,6 @@ JavaInstance::JavaInstance (jobject instance)
{
_instance = new JObjectWrapper(instance);
_class = 0;
- _refCount = 0;
}
JavaInstance::~JavaInstance ()
diff --git a/V8Binding/jni/jni_instance.h b/V8Binding/jni/jni_instance.h
index 94706c8..f8b0d65 100644
--- a/V8Binding/jni/jni_instance.h
+++ b/V8Binding/jni/jni_instance.h
@@ -30,6 +30,7 @@
#include "jni_utility_private.h"
#include <JavaVM/jni.h>
+#include <wtf/RefCounted.h>
#include <wtf/RefPtr.h>
namespace android {
@@ -67,19 +68,12 @@ private:
jmethodID mWeakRefGet; // cache WeakReference::Get method id
};
-class JavaInstance
+class JavaInstance : public RefCounted<JavaInstance>
{
public:
JavaInstance(jobject instance);
~JavaInstance();
- void ref() { _refCount++; }
- void deref()
- {
- if (--_refCount == 0)
- delete this;
- }
-
JavaClass* getClass() const;
bool invokeMethod(const char* name, const NPVariant* args, uint32_t argsCount, NPVariant* result);
@@ -92,7 +86,6 @@ public:
private:
RefPtr<JObjectWrapper> _instance;
- unsigned int _refCount;
mutable JavaClass* _class;
};