Get rid of QV8Engine::toString
authorLars Knoll <lars.knoll@theqtcompany.com>
Tue, 30 Dec 2014 17:29:21 +0000 (18:29 +0100)
committerLars Knoll <lars.knoll@digia.com>
Thu, 8 Jan 2015 11:34:32 +0000 (12:34 +0100)
Change-Id: Ib51fa09ae251c1b7b8878ecdf920016f8fcc0067
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
src/imports/localstorage/plugin.cpp
src/qml/jsruntime/qv4qobjectwrapper.cpp
src/qml/qml/qqmlxmlhttprequest.cpp
src/qml/qml/v8/qv8engine.cpp
src/qml/qml/v8/qv8engine_p.h
src/qmltest/quicktestresult.cpp
tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp

index 8dfdde9..7c7989a 100644 (file)
@@ -330,7 +330,7 @@ static ReturnedValue qmlsqldatabase_executeSql(CallContext *ctx)
             ScopedString s(scope);
             ScopedValue v(scope);
             resultObject->put((s = scope.engine->newIdentifier("rowsAffected")).getPointer(), (v = Primitive::fromInt32(query.numRowsAffected())));
-            resultObject->put((s = scope.engine->newIdentifier("insertId")).getPointer(), (v = engine->toString(query.lastInsertId().toString())));
+            resultObject->put((s = scope.engine->newIdentifier("insertId")).getPointer(), (v = scope.engine->newString(query.lastInsertId().toString())));
             resultObject->put((s = scope.engine->newIdentifier("rows")).getPointer(), rows);
         } else {
             err = true;
index d2b98a0..49f9c5d 100644 (file)
@@ -1689,7 +1689,7 @@ QV4::ReturnedValue CallArgument::toValue(QV4::ExecutionEngine *engine)
     } else if (type == QMetaType::Float) {
         return QV4::Encode(floatValue);
     } else if (type == QMetaType::QString) {
-        return engine->v8Engine->toString(*qstringPtr);
+        return QV4::Encode(engine->newString(*qstringPtr));
     } else if (type == QMetaType::QObjectStar) {
         QObject *object = qobjectPtr;
         if (object)
index c2f8a84..6fc25e5 100644 (file)
@@ -683,9 +683,8 @@ ReturnedValue Attr::method_name(CallContext *ctx)
     Scoped<Node> r(scope, ctx->d()->callData->thisObject.as<Node>());
     if (!r)
         return Encode::undefined();
-    QV8Engine *engine = ctx->d()->engine->v8Engine;
 
-    return engine->toString(r->d()->d->name);
+    return QV4::Encode(scope.engine->newString(r->d()->d->name));
 }
 
 ReturnedValue Attr::method_value(CallContext *ctx)
@@ -694,9 +693,8 @@ ReturnedValue Attr::method_value(CallContext *ctx)
     Scoped<Node> r(scope, ctx->d()->callData->thisObject.as<Node>());
     if (!r)
         return Encode::undefined();
-    QV8Engine *engine = ctx->d()->engine->v8Engine;
 
-    return engine->toString(r->d()->d->data);
+    return QV4::Encode(scope.engine->newString(r->d()->d->data));
 }
 
 ReturnedValue Attr::method_ownerElement(CallContext *ctx)
@@ -752,9 +750,8 @@ ReturnedValue Text::method_wholeText(CallContext *ctx)
     Scoped<Node> r(scope, ctx->d()->callData->thisObject.as<Node>());
     if (!r)
         return Encode::undefined();
-    QV8Engine *engine = ctx->d()->engine->v8Engine;
 
-    return engine->toString(r->d()->d->data);
+    return QV4::Encode(scope.engine->newString(r->d()->d->data));
 }
 
 ReturnedValue Text::prototype(ExecutionEngine *v4)
@@ -1020,9 +1017,8 @@ ReturnedValue Document::method_xmlVersion(CallContext *ctx)
     Scoped<Node> r(scope, ctx->d()->callData->thisObject.as<Node>());
     if (!r || r->d()->d->type != NodeImpl::Document)
         return Encode::undefined();
-    QV8Engine *engine = ctx->d()->engine->v8Engine;
 
-    return engine->toString(static_cast<DocumentImpl *>(r->d()->d)->version);
+    return QV4::Encode(scope.engine->newString(static_cast<DocumentImpl *>(r->d()->d)->version));
 }
 
 ReturnedValue Document::method_xmlEncoding(CallContext *ctx)
@@ -1031,9 +1027,8 @@ ReturnedValue Document::method_xmlEncoding(CallContext *ctx)
     Scoped<Node> r(scope, ctx->d()->callData->thisObject.as<Node>());
     if (!r || r->d()->d->type != NodeImpl::Document)
         return Encode::undefined();
-    QV8Engine *engine = ctx->d()->engine->v8Engine;
 
-    return engine->toString(static_cast<DocumentImpl *>(r->d()->d)->encoding);
+    return QV4::Encode(scope.engine->newString(static_cast<DocumentImpl *>(r->d()->d)->encoding));
 }
 
 class QQmlXMLHttpRequest : public QObject
@@ -1889,8 +1884,6 @@ ReturnedValue QQmlXMLHttpRequestCtor::method_getResponseHeader(CallContext *ctx)
         V4THROW_REFERENCE("Not an XMLHttpRequest object");
     QQmlXMLHttpRequest *r = w->d()->request;
 
-    QV8Engine *engine = ctx->d()->engine->v8Engine;
-
     if (ctx->d()->callData->argc != 1)
         V4THROW_DOM(DOMEXCEPTION_SYNTAX_ERR, "Incorrect argument count");
 
@@ -1899,7 +1892,7 @@ ReturnedValue QQmlXMLHttpRequestCtor::method_getResponseHeader(CallContext *ctx)
         r->readyState() != QQmlXMLHttpRequest::HeadersReceived)
         V4THROW_DOM(DOMEXCEPTION_INVALID_STATE_ERR, "Invalid state");
 
-    return engine->toString(r->header(ctx->d()->callData->args[0].toQStringNoThrow()));
+    return QV4::Encode(scope.engine->newString(r->header(ctx->d()->callData->args[0].toQStringNoThrow())));
 }
 
 ReturnedValue QQmlXMLHttpRequestCtor::method_getAllResponseHeaders(CallContext *ctx)
@@ -1910,8 +1903,6 @@ ReturnedValue QQmlXMLHttpRequestCtor::method_getAllResponseHeaders(CallContext *
         V4THROW_REFERENCE("Not an XMLHttpRequest object");
     QQmlXMLHttpRequest *r = w->d()->request;
 
-    QV8Engine *engine = ctx->d()->engine->v8Engine;
-
     if (ctx->d()->callData->argc != 0)
         V4THROW_DOM(DOMEXCEPTION_SYNTAX_ERR, "Incorrect argument count");
 
@@ -1920,7 +1911,7 @@ ReturnedValue QQmlXMLHttpRequestCtor::method_getAllResponseHeaders(CallContext *
         r->readyState() != QQmlXMLHttpRequest::HeadersReceived)
         V4THROW_DOM(DOMEXCEPTION_INVALID_STATE_ERR, "Invalid state");
 
-    return engine->toString(r->headers());
+    return QV4::Encode(scope.engine->newString(r->headers()));
 }
 
 // XMLHttpRequest properties
@@ -1961,16 +1952,14 @@ ReturnedValue QQmlXMLHttpRequestCtor::method_get_statusText(CallContext *ctx)
         V4THROW_REFERENCE("Not an XMLHttpRequest object");
     QQmlXMLHttpRequest *r = w->d()->request;
 
-    QV8Engine *engine = ctx->d()->engine->v8Engine;
-
     if (r->readyState() == QQmlXMLHttpRequest::Unsent ||
         r->readyState() == QQmlXMLHttpRequest::Opened)
         V4THROW_DOM(DOMEXCEPTION_INVALID_STATE_ERR, "Invalid state");
 
     if (r->errorFlag())
-        return engine->toString(QString());
+        return QV4::Encode(scope.engine->newString(QString()));
     else
-        return engine->toString(r->replyStatusText());
+        return QV4::Encode(scope.engine->newString(r->replyStatusText()));
 }
 
 ReturnedValue QQmlXMLHttpRequestCtor::method_get_responseText(CallContext *ctx)
@@ -1981,13 +1970,11 @@ ReturnedValue QQmlXMLHttpRequestCtor::method_get_responseText(CallContext *ctx)
         V4THROW_REFERENCE("Not an XMLHttpRequest object");
     QQmlXMLHttpRequest *r = w->d()->request;
 
-    QV8Engine *engine = ctx->d()->engine->v8Engine;
-
     if (r->readyState() != QQmlXMLHttpRequest::Loading &&
         r->readyState() != QQmlXMLHttpRequest::Done)
-        return engine->toString(QString());
+        return QV4::Encode(scope.engine->newString(QString()));
     else
-        return engine->toString(r->responseBody());
+        return QV4::Encode(scope.engine->newString(r->responseBody()));
 }
 
 ReturnedValue QQmlXMLHttpRequestCtor::method_get_responseXML(CallContext *ctx)
index 7014911..4a3156b 100644 (file)
@@ -981,10 +981,5 @@ int QV8Engine::consoleCountHelper(const QString &file, quint16 line, quint16 col
     return number;
 }
 
-QV4::ReturnedValue QV8Engine::toString(const QString &string)
-{
-    return QV4::Encode(m_v4Engine->newString(string));
-}
-
 QT_END_NAMESPACE
 
index 41564cc..7bd3e56 100644 (file)
@@ -203,9 +203,6 @@ public:
     static QVariantMap variantMapFromJS(QV4::Object *o)
     { return objectToVariant(o->engine(), o).toMap(); }
 
-    // Return a JS string for the given QString \a string
-    QV4::ReturnedValue toString(const QString &string);
-
     // Return the network access manager for this engine.  By default this returns the network
     // access manager of the QQmlEngine.  It is overridden in the case of a threaded v8
     // instance (like in WorkerScript).
index 6e64979..e94986f 100644 (file)
@@ -504,7 +504,7 @@ void QuickTestResult::stringify(QQmlV4Function *args)
             result.append(tmp);
     }
 
-    args->setReturnValue(args->v4engine()->v8Engine->toString(result));
+    args->setReturnValue(QV4::Encode(args->v4engine()->newString(result)));
 }
 
 bool QuickTestResult::compare
index 0a0ba3e..3256821 100644 (file)
@@ -2497,7 +2497,7 @@ void tst_qqmlecmascript::callQtInvokables()
     }
 
     o->reset();
-    QVERIFY(EVALUATE_VALUE("object.method_NoArgs_QVariant()", QV4::ScopedValue(scope, engine->toString("QML rocks"))));
+    QVERIFY(EVALUATE_VALUE("object.method_NoArgs_QVariant()", QV4::ScopedValue(scope, scope.engine->newString("QML rocks"))));
     QCOMPARE(o->error(), false);
     QCOMPARE(o->invoked(), 7);
     QCOMPARE(o->actuals().count(), 0);