Get rid of Instance::setRootObject and pass the root object to the instance constructor instead.
* bindings/c/c_instance.cpp:
(KJS::Bindings::CInstance::CInstance):
* bindings/c/c_instance.h:
* bindings/jni/jni_instance.cpp:
(JavaInstance::JavaInstance):
* bindings/jni/jni_instance.h:
* bindings/jni/jni_jsobject.cpp:
(JavaJSObject::convertJObjectToValue):
* bindings/objc/objc_instance.h:
* bindings/objc/objc_instance.mm:
(ObjcInstance::ObjcInstance):
* bindings/runtime.cpp:
(KJS::Bindings::Instance::Instance):
(KJS::Bindings::Instance::createBindingForLanguageInstance):
* bindings/runtime.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@22056
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
+2007-06-07 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Geoff.
+
+ Get rid of Instance::setRootObject and pass the root object to the instance constructor instead.
+
+ * bindings/c/c_instance.cpp:
+ (KJS::Bindings::CInstance::CInstance):
+ * bindings/c/c_instance.h:
+ * bindings/jni/jni_instance.cpp:
+ (JavaInstance::JavaInstance):
+ * bindings/jni/jni_instance.h:
+ * bindings/jni/jni_jsobject.cpp:
+ (JavaJSObject::convertJObjectToValue):
+ * bindings/objc/objc_instance.h:
+ * bindings/objc/objc_instance.mm:
+ (ObjcInstance::ObjcInstance):
+ * bindings/runtime.cpp:
+ (KJS::Bindings::Instance::Instance):
+ (KJS::Bindings::Instance::createBindingForLanguageInstance):
+ * bindings/runtime.h:
+
2007-06-07 Anders Carlsson <andersca@apple.com>
Reviewed by Adam.
namespace KJS {
namespace Bindings {
-CInstance::CInstance(NPObject* o)
+CInstance::CInstance(NPObject* o, PassRefPtr<RootObject> rootObject)
+ : Instance(rootObject)
{
_object = _NPN_RetainObject(o);
_class = 0;
- setRootObject(0);
}
CInstance::~CInstance()
class CInstance : public Instance {
public:
- CInstance (NPObject*);
+ CInstance (NPObject*, PassRefPtr<RootObject>);
~CInstance ();
virtual Class *getClass() const;
using namespace KJS::Bindings;
using namespace KJS;
-JavaInstance::JavaInstance (jobject instance)
+JavaInstance::JavaInstance (jobject instance, PassRefPtr<RootObject> rootObject)
+ : Instance(rootObject)
{
_instance = new JObjectWrapper (instance);
_class = 0;
class JavaInstance : public Instance
{
public:
- JavaInstance(jobject instance);
+ JavaInstance(jobject instance, PassRefPtr<RootObject>);
~JavaInstance();
virtual Class *getClass() const;
}
JSLock lock;
- JavaInstance* javaInstance = new JavaInstance(theObject);
- javaInstance->setRootObject(rootObject());
+ JavaInstance* javaInstance = new JavaInstance(theObject, _rootObject);
RuntimeObjectImp* newImp = new RuntimeObjectImp(javaInstance);
return newImp;
class ObjcInstance : public Instance {
public:
- ObjcInstance(ObjectStructPtr instance);
+ ObjcInstance(ObjectStructPtr instance, PassRefPtr<RootObject>);
~ObjcInstance();
using namespace KJS::Bindings;
using namespace KJS;
-ObjcInstance::ObjcInstance(ObjectStructPtr instance)
+ObjcInstance::ObjcInstance(ObjectStructPtr instance, PassRefPtr<RootObject> rootObject)
+ : Instance(rootObject)
{
_instance = instance;
if (_instance)
}
-Instance::Instance()
- : _refCount(0)
+Instance::Instance(PassRefPtr<RootObject> rootObject)
+ : _rootObject(rootObject)
+ , _refCount(0)
{
}
switch (language) {
#if HAVE(JNI)
case Instance::JavaLanguage: {
- newInstance = new Bindings::JavaInstance((jobject)nativeInstance);
+ newInstance = new Bindings::JavaInstance((jobject)nativeInstance, rootObject);
break;
}
#endif
#if PLATFORM(MAC)
case Instance::ObjectiveCLanguage: {
- newInstance = new Bindings::ObjcInstance((ObjectStructPtr)nativeInstance);
+ newInstance = new Bindings::ObjcInstance((ObjectStructPtr)nativeInstance, rootObject);
break;
}
#endif
case Instance::CLanguage: {
- newInstance = new Bindings::CInstance((NPObject *)nativeInstance);
+ newInstance = new Bindings::CInstance((NPObject *)nativeInstance, rootObject);
break;
}
#if PLATFORM(QT)
case Instance::QtLanguage: {
- newInstance = new Bindings::QtInstance((QObject *)nativeInstance);
+ newInstance = new Bindings::QtInstance((QObject *)nativeInstance, rootObject);
break;
}
#endif
break;
}
- if (newInstance)
- newInstance->setRootObject(rootObject);
-
return newInstance;
}
return new RuntimeObjectImp(instance);
}
-void Instance::setRootObject(PassRefPtr<RootObject> rootObject)
-{
- _rootObject = rootObject;
-}
-
RootObject* Instance::rootObject() const
{
return _rootObject && _rootObject->isValid() ? _rootObject.get() : 0;
#endif
} BindingLanguage;
- Instance();
+ Instance(PassRefPtr<RootObject>);
static void setDidExecuteFunction(KJSDidExecuteFunctionPtr func);
static KJSDidExecuteFunctionPtr didExecuteFunction();
virtual JSValue* valueOf() const { return jsString(getClass()->name()); }
- void setRootObject(PassRefPtr<RootObject>);
RootObject* rootObject() const;
virtual ~Instance();