diff -r b72c6db6890b -r 5dc02b23752f src/script/bridge/qscriptqobject_p.h --- a/src/script/bridge/qscriptqobject_p.h Wed Jun 23 19:07:03 2010 +0300 +++ b/src/script/bridge/qscriptqobject_p.h Tue Jul 06 15:10:48 2010 +0300 @@ -86,14 +86,10 @@ const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&); virtual bool deleteProperty(QScriptObject*, JSC::ExecState*, - const JSC::Identifier& propertyName, - bool checkDontDelete = true); - virtual bool getPropertyAttributes(const QScriptObject*, JSC::ExecState*, - const JSC::Identifier&, - unsigned&) const; + const JSC::Identifier& propertyName); virtual void getOwnPropertyNames(QScriptObject*, JSC::ExecState*, JSC::PropertyNameArray&, - bool includeNonEnumerable = false); + JSC::EnumerationMode mode = JSC::ExcludeDontEnumProperties); virtual void markChildren(QScriptObject*, JSC::MarkStack& markStack); virtual bool compareToObject(QScriptObject*, JSC::ExecState*, JSC::JSObject*); @@ -212,7 +208,6 @@ bool maybeOverloaded() const; int mostGeneralMethod(QMetaMethod *out = 0) const; QList overloadedIndexes() const; - QString functionName() const; private: Data *data; @@ -276,15 +271,15 @@ virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); + virtual bool getOwnPropertyDescriptor(JSC::ExecState*, + const JSC::Identifier& propertyName, + JSC::PropertyDescriptor&); virtual void put(JSC::ExecState* exec, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&); virtual bool deleteProperty(JSC::ExecState*, - const JSC::Identifier& propertyName, - bool checkDontDelete = true); - virtual bool getPropertyAttributes(JSC::ExecState*, const JSC::Identifier&, - unsigned&) const; + const JSC::Identifier& propertyName); virtual void getOwnPropertyNames(JSC::ExecState*, JSC::PropertyNameArray&, - bool includeNonEnumerable = false); + JSC::EnumerationMode mode = JSC::ExcludeDontEnumProperties); virtual void markChildren(JSC::MarkStack& markStack); virtual JSC::CallType getCallData(JSC::CallData&); @@ -304,10 +299,12 @@ static WTF::PassRefPtr createStructure(JSC::JSValue prototype) { - return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::ImplementsHasInstance)); + return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags)); } protected: + static const unsigned StructureFlags = JSC::OverridesGetOwnPropertySlot | JSC::OverridesMarkChildren | JSC::OverridesGetPropertyNames | JSC::ImplementsHasInstance | JSObject::StructureFlags; + Data *data; };