Remove some more v8 usage
authorLars Knoll <lars.knoll@digia.com>
Mon, 3 Jun 2013 13:59:00 +0000 (15:59 +0200)
committerSimon Hausmann <simon.hausmann@digia.com>
Mon, 3 Jun 2013 14:02:24 +0000 (16:02 +0200)
Change-Id: I00c4a2403e12bc87743a073f245c38b007e9531d
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
src/qml/types/qquickworkerscript.cpp
src/qmltest/quicktestresult.cpp

index daaa9e2..f05d8e4 100644 (file)
@@ -180,7 +180,7 @@ public:
 
     int m_nextId;
 
-    static QV4::Value sendMessage(const v8::Arguments &args);
+    static QV4::Value sendMessage(QV4::SimpleCallContext *ctx);
 
 signals:
     void stopThread();
@@ -231,7 +231,8 @@ void QQuickWorkerScriptEnginePrivate::WorkerEngine::init()
     QV4::FunctionObject *createsendconstructor = createsendscript.run().asFunctionObject();
 
     QV4::Value args[] = {
-        V8FUNCTION(QQuickWorkerScriptEnginePrivate::sendMessage, this)->v4Value()
+        QV4::Value::fromObject(m_v4Engine->newBuiltinFunction(m_v4Engine->rootContext, m_v4Engine->newString(QStringLiteral("sendMessage")),
+                                                              QQuickWorkerScriptEnginePrivate::sendMessage))
     };
     createsend = createsendconstructor->call(global(), args, 1);
 }
@@ -269,13 +270,13 @@ QQuickWorkerScriptEnginePrivate::QQuickWorkerScriptEnginePrivate(QQmlEngine *eng
 {
 }
 
-QV4::Value QQuickWorkerScriptEnginePrivate::sendMessage(const v8::Arguments &args)
+QV4::Value QQuickWorkerScriptEnginePrivate::sendMessage(QV4::SimpleCallContext *ctx)
 {
-    WorkerEngine *engine = (WorkerEngine*)V8ENGINE();
+    WorkerEngine *engine = (WorkerEngine*)ctx->engine->publicEngine->handle();
 
-    int id = args[1]->Int32Value();
+    int id = ctx->argument(1).toInt32();
 
-    QByteArray data = QV4::Serialize::serialize(args[2]->v4Value(), engine);
+    QByteArray data = QV4::Serialize::serialize(ctx->argument(2), engine);
 
     QMutexLocker locker(&engine->p->m_lock);
     WorkerScript *script = engine->p->workers.value(id);
index c14da7f..d33687d 100644 (file)
@@ -477,18 +477,16 @@ void QuickTestResult::stringify(QQmlV4Function *args)
     if (args->length() < 1)
         args->setReturnValue(QV4::Value::nullValue());
 
-    v8::Handle<v8::Value> value = (*args)[0];
+    QV4::Value value = (*args)[0];
 
     QString result;
     QV8Engine *engine = args->engine();
 
     //Check for Object Type
-    if (value->IsObject()
-    && !value->IsFunction()
-    && !value->IsArray()
-    && !value->IsDate()
-    && !value->IsRegExp()) {
-        QVariant v = engine->toVariant(value->v4Value(), QMetaType::UnknownType);
+    if (value.isObject()
+    && !value.asFunctionObject()
+    && !value.asArrayObject()) {
+        QVariant v = engine->toVariant(value, QMetaType::UnknownType);
         if (v.isValid()) {
             switch (v.type()) {
             case QVariant::Vector3D:
@@ -505,9 +503,8 @@ void QuickTestResult::stringify(QQmlV4Function *args)
             result = QLatin1String("Object");
         }
     } else {
-        v8::Handle<v8::String> jsstr = value->ToString();
-        QString tmp = jsstr->v4Value().toQString();
-        if (value->IsArray())
+        QString tmp = value.toQString();
+        if (value.asArrayObject())
             result.append(QString::fromLatin1("[%1]").arg(tmp));
         else
             result.append(tmp);