From: Lars Knoll Date: Sun, 2 Jun 2013 21:25:52 +0000 (+0200) Subject: Implement QJSValue::toQObject and isQObject X-Git-Tag: upstream/5.2.1~669^2~349 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=1ec64aeb045e108b6de54ec792ff3c43aca9995a;p=platform%2Fupstream%2Fqtdeclarative.git Implement QJSValue::toQObject and isQObject Change-Id: I03c4dc285039503762c65936a7e66714754ea2e1 Reviewed-by: Simon Hausmann --- diff --git a/src/qml/qml/v8/qjsengine.cpp b/src/qml/qml/v8/qjsengine.cpp index e23c56a..da214a0 100644 --- a/src/qml/qml/v8/qjsengine.cpp +++ b/src/qml/qml/v8/qjsengine.cpp @@ -317,7 +317,6 @@ QJSValue QJSEngine::newArray(uint length) */ QJSValue QJSEngine::newQObject(QObject *object) { - // ### Q_D(QJSEngine); return new QJSValuePrivate(QV8Engine::getV4(d), d->newQObject(object, QV8Engine::JavaScriptOwnership)); } diff --git a/src/qml/qml/v8/qjsvalue.cpp b/src/qml/qml/v8/qjsvalue.cpp index 7a1b794..32fd249 100644 --- a/src/qml/qml/v8/qjsvalue.cpp +++ b/src/qml/qml/v8/qjsvalue.cpp @@ -53,6 +53,7 @@ #include "qv4v8_p.h" #include "qv4variantobject_p.h" #include "qv4regexpobject_p.h" +#include "qv8engine_p.h" /*! \since 5.0 @@ -924,8 +925,12 @@ bool QJSValue::hasOwnProperty(const QString &name) const */ QObject *QJSValue::toQObject() const { - // ### - return 0; + Object *o = d->value.asObject(); + if (!o) + return 0; + + QV8Engine *v8 = d->engine()->publicEngine->handle(); + return v8->toQObject(d->value); } /*! @@ -974,8 +979,12 @@ bool QJSValue::isRegExp() const */ bool QJSValue::isQObject() const { - // ### - return false; + Object *o = d->value.asObject(); + if (!o) + return false; + + QV8Engine *v8 = d->engine()->publicEngine->handle(); + return v8->isQObject(d->value); } QT_END_NAMESPACE