diff options
-rw-r--r-- | V8Binding/jni/jni_instance.cpp | 1 | ||||
-rw-r--r-- | V8Binding/jni/jni_instance.h | 11 |
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; }; |