aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/qml/v8/qjsvalue.cpp
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@digia.com>2013-06-02 23:25:52 +0200
committerSimon Hausmann <simon.hausmann@digia.com>2013-06-03 07:06:10 +0200
commit1ec64aeb045e108b6de54ec792ff3c43aca9995a (patch)
tree9da5a3bfce39704edf05987f6197f0de3165e2a4 /src/qml/qml/v8/qjsvalue.cpp
parent20a6d9d2aba189eb52bc9986f83c8083a6a32fd9 (diff)
Implement QJSValue::toQObject and isQObject
Change-Id: I03c4dc285039503762c65936a7e66714754ea2e1 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Diffstat (limited to 'src/qml/qml/v8/qjsvalue.cpp')
-rw-r--r--src/qml/qml/v8/qjsvalue.cpp17
1 files changed, 13 insertions, 4 deletions
diff --git a/src/qml/qml/v8/qjsvalue.cpp b/src/qml/qml/v8/qjsvalue.cpp
index 7a1b794737..32fd249b29 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