#include "qqmlvmemetaobject_p.h"
#include "qqmlexpression_p.h"
#include "qqmlvaluetypeproxybinding_p.h"
+#include <private/qjsvalue_p.h>
#include <private/qv8bindings_p.h>
#include <QStringList>
expression->delayedError()->setErrorDescription(QLatin1String("Invalid use of Qt.binding() in a binding declaration."));
return false;
}
- writeValueProperty(object, core, QVariant::fromValue(v8engine->scriptValueFromInternal(result->v4Value())), context, flags);
+ writeValueProperty(object, core, QVariant::fromValue(
+ QJSValue(new QJSValuePrivate(QV8Engine::getV4(v8engine), result->v4Value()))),
+ context, flags);
} else if (isUndefined) {
QString errorStr = QLatin1String("Unable to assign [undefined] to ");
if (!QMetaType::typeName(type))
{
// ###
Q_D(QJSEngine);
- return d->scriptValueFromInternal(d->newQObject(object, QV8Engine::JavaScriptOwnership));
+ return new QJSValuePrivate(QV8Engine::getV4(d), d->newQObject(object, QV8Engine::JavaScriptOwnership));
}
/*!
return QVariant::fromValue(jsonValueFromJS(value));
if (typeHint == qMetaTypeId<QJSValue>())
- return QVariant::fromValue(scriptValueFromInternal(value));
+ return QVariant::fromValue(QJSValue(new QJSValuePrivate(m_v4Engine, value)));
if (QV4::Object *object = value.asObject()) {
QV8ObjectResource *r = (QV8ObjectResource *)v8::Handle<v8::Value>(value)->ToObject()->GetExternalResource();
return 0;
}
-QJSValue QV8Engine::scriptValueFromInternal(const QV4::Value &value) const
-{
- return new QJSValuePrivate(m_v4Engine, value);
-}
-
void QV8Engine::startTimer(const QString &timerName)
{
if (!m_time.isValid())
const QByteArray &targetType,
void **result);
- QJSValue scriptValueFromInternal(const QV4::Value &) const;
-
// used for console.time(), console.timeEnd()
void startTimer(const QString &timerName);
qint64 stopTimer(const QString &timerName, bool *wasRunning);
} else if (value->IsUndefined() && property->propType == QMetaType::QJsonValue) {
PROPERTY_STORE(QJsonValue, QJsonValue(QJsonValue::Undefined));
} else if (!newBinding && property->propType == qMetaTypeId<QJSValue>()) {
- PROPERTY_STORE(QJSValue, engine->scriptValueFromInternal(value->v4Value()));
+ PROPERTY_STORE(QJSValue, new QJSValuePrivate(QV8Engine::getV4(engine), value->v4Value()));
} else if (value->IsUndefined()) {
QString error = QLatin1String("Cannot assign [undefined] to ");
if (!QMetaType::typeName(property->propType))