diff options
author | Peter Varga <pvarga@inf.u-szeged.hu> | 2011-06-22 10:17:42 +0200 |
---|---|---|
committer | Jedrzej Nowacki <jedrzej.nowacki@nokia.com> | 2011-06-22 10:17:42 +0200 |
commit | 76d56a9fe409a345e446b2113c634fb6c57d267c (patch) | |
tree | d6dd6f971b7389fe5ac4b84c113862ff92720ec8 | |
parent | 65bff648ce5af00b11dcdd60679d4cde1d985dc9 (diff) |
Remove QSOGO::getOwnPropertyNames method
Replace the usages of this function by proper V8 API call: Object::GetOwnPropertyNames.
Merge-request: 4
Reviewed-by: Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
-rw-r--r-- | src/script/api/qscriptclass.cpp | 2 | ||||
-rw-r--r-- | src/script/api/qscriptengine_impl_p.h | 9 | ||||
-rw-r--r-- | src/script/api/qscriptengine_p.h | 1 | ||||
-rw-r--r-- | src/script/api/qscriptoriginalglobalobject_p.h | 15 | ||||
-rw-r--r-- | src/script/api/qscriptvalueiterator.cpp | 4 |
5 files changed, 3 insertions, 28 deletions
diff --git a/src/script/api/qscriptclass.cpp b/src/script/api/qscriptclass.cpp index 3d9a7ed..e8d858c 100644 --- a/src/script/api/qscriptclass.cpp +++ b/src/script/api/qscriptclass.cpp @@ -207,7 +207,7 @@ v8::Handle<v8::Array> QScriptClassObject::enumerate() } v8::HandleScope handleScope; - v8::Handle<v8::Array> originalNames = engine->getOwnPropertyNames(m_original); + v8::Handle<v8::Array> originalNames = m_original->GetOwnPropertyNames(); v8::Handle<v8::Array> names; uint32_t idx = 0; if (m_scriptclass) { diff --git a/src/script/api/qscriptengine_impl_p.h b/src/script/api/qscriptengine_impl_p.h index c58441f..d3dc599 100644 --- a/src/script/api/qscriptengine_impl_p.h +++ b/src/script/api/qscriptengine_impl_p.h @@ -68,15 +68,6 @@ inline QScriptEnginePrivate::operator v8::Handle<v8::Context>() /*! \internal - returns all property names of an object (same as ECMA getOwnPropertyNames) -*/ -inline v8::Local<v8::Array> QScriptEnginePrivate::getOwnPropertyNames(v8::Handle<v8::Object> object) const -{ - return m_originalGlobalObject.getOwnPropertyNames(object); -} - -/*! - \internal \note property can be index (v8::Integer) or a property (v8::String) name, according to ECMA script property would be converted to a string. */ diff --git a/src/script/api/qscriptengine_p.h b/src/script/api/qscriptengine_p.h index 08d1ff7..5e006b4 100644 --- a/src/script/api/qscriptengine_p.h +++ b/src/script/api/qscriptengine_p.h @@ -148,7 +148,6 @@ public: inline v8::Handle<v8::Value> makeJSValue(qsreal value); inline v8::Handle<v8::Value> makeJSValue(QScriptValue::SpecialValue value); inline v8::Handle<v8::Value> makeJSValue(const QString& value); - inline v8::Local<v8::Array> getOwnPropertyNames(v8::Handle<v8::Object> object) const; inline QScriptValue::PropertyFlags getPropertyFlags(v8::Handle<v8::Object> object, v8::Handle<v8::Value> property, const QScriptValue::ResolveFlags& mode); inline v8::Local<v8::Value> getOwnProperty(v8::Handle<v8::Object> object, v8::Handle<v8::Value> property) const; inline v8::Local<v8::Value> getOwnProperty(v8::Handle<v8::Object> object, uint32_t index) const; diff --git a/src/script/api/qscriptoriginalglobalobject_p.h b/src/script/api/qscriptoriginalglobalobject_p.h index f6f48b9..9ab2aa1 100644 --- a/src/script/api/qscriptoriginalglobalobject_p.h +++ b/src/script/api/qscriptoriginalglobalobject_p.h @@ -51,7 +51,6 @@ public: inline QScriptOriginalGlobalObject(const QScriptEnginePrivate *engine, v8::Handle<v8::Context> context); inline void destroy(); - inline v8::Local<v8::Array> getOwnPropertyNames(v8::Handle<v8::Object> object) const; inline QScriptValue::PropertyFlags getPropertyFlags(v8::Handle<v8::Object> object, v8::Handle<v8::Value> property, const QScriptValue::ResolveFlags& mode); inline v8::Local<v8::Value> getOwnProperty(v8::Handle<v8::Object> object, v8::Handle<v8::Value> property) const; inline void installArgFunctionOnOrgStringPrototype(v8::Handle<v8::Function> arg); @@ -66,7 +65,6 @@ private: v8::Persistent<v8::Object> m_stringConstructor; v8::Persistent<v8::Value> m_stringPrototype; v8::Persistent<v8::Function> m_ownPropertyDescriptor; - v8::Persistent<v8::Function> m_ownPropertyNames; v8::Persistent<v8::Object> m_globalObject; v8::Persistent<v8::Function> m_defineGetter; v8::Persistent<v8::Function> m_defineSetter; @@ -94,11 +92,6 @@ QScriptOriginalGlobalObject::QScriptOriginalGlobalObject(const QScriptEnginePriv Q_ASSERT(!ownPropertyDescriptor.IsEmpty()); m_ownPropertyDescriptor = v8::Persistent<v8::Function>::New(v8::Local<v8::Function>::Cast(ownPropertyDescriptor)); } - { // Initialize m_ownPropertyNames. - v8::Local<v8::Value> ownPropertyNames = objectConstructor->Get(v8::String::New("getOwnPropertyNames")); - Q_ASSERT(!ownPropertyNames.IsEmpty()); - m_ownPropertyNames = v8::Persistent<v8::Function>::New(v8::Local<v8::Function>::Cast(ownPropertyNames)); - } { //initialize m_defineGetter and m_defineSetter v8::Local<v8::Value> defineGetter = objectConstructor->Get(v8::String::New("__defineGetter__")); @@ -153,20 +146,12 @@ inline void QScriptOriginalGlobalObject::destroy() m_stringConstructor.Dispose(); m_stringPrototype.Dispose(); m_ownPropertyDescriptor.Dispose(); - m_ownPropertyNames.Dispose(); m_globalObject.Dispose(); m_defineGetter.Dispose(); m_defineSetter.Dispose(); // After this line this instance is unusable. } -inline v8::Local<v8::Array> QScriptOriginalGlobalObject::getOwnPropertyNames(v8::Handle<v8::Object> object) const -{ - Q_ASSERT(!object.IsEmpty()); - v8::Handle<v8::Value> argv[] = {object}; - return v8::Local<v8::Array>::Cast(m_ownPropertyNames->Call(m_globalObject, /* argc */ 1, argv)); -} - inline QScriptValue::PropertyFlags QScriptOriginalGlobalObject::getPropertyFlags(v8::Handle<v8::Object> object, v8::Handle<v8::Value> property, const QScriptValue::ResolveFlags& mode) { Q_ASSERT(object->IsObject()); diff --git a/src/script/api/qscriptvalueiterator.cpp b/src/script/api/qscriptvalueiterator.cpp index de0c316..c9bcbd3 100644 --- a/src/script/api/qscriptvalueiterator.cpp +++ b/src/script/api/qscriptvalueiterator.cpp @@ -142,9 +142,9 @@ inline QScriptValueIteratorPrivate::QScriptValueIteratorPrivate(const QScriptVal && data->scriptClass() && (m_classIterator = data->scriptClass()->userCallback()->newIterator(QScriptValuePrivate::get(value)))) { // we need to wrap custom iterator. - names = engine->getOwnPropertyNames(data->original()); + names = data->original()->GetOwnPropertyNames(); } else - names = engine->getOwnPropertyNames(obj); + names = obj->GetOwnPropertyNames(); uint32_t count = names->Length(); Local<String> name; |