aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@digia.com>2013-04-28 05:09:39 +0200
committerSimon Hausmann <simon.hausmann@digia.com>2013-04-29 13:13:05 +0200
commit1a6dd638b830a5353fb2321b74a57d380539c92d (patch)
tree9123fa75f233b10ba49fc20fac358ffea1258c13
parentd09c05954867b57b3ae00499a1552f022d33e74c (diff)
Get rid of QV8Engine::toString()
It's easier to use toQString() on a QV4::Value Change-Id: I9bf22cb72607b32948e77c632d2f9b8fe120ea41 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
-rw-r--r--src/imports/localstorage/plugin.cpp14
-rw-r--r--src/qml/qml/qqmllocale.cpp14
-rw-r--r--src/qml/qml/qqmlproperty.cpp2
-rw-r--r--src/qml/qml/qqmlxmlhttprequest.cpp18
-rw-r--r--src/qml/qml/v8/qqmlbuiltinfunctions.cpp46
-rw-r--r--src/qml/qml/v8/qv8contextwrapper.cpp4
-rw-r--r--src/qml/qml/v8/qv8engine.cpp10
-rw-r--r--src/qml/qml/v8/qv8engine_p.h2
-rw-r--r--src/qml/qml/v8/qv8include.cpp2
-rw-r--r--src/qml/qml/v8/qv8qobjectwrapper.cpp14
-rw-r--r--src/qml/qml/v8/qv8sequencewrapper_p_p.h8
-rw-r--r--src/qml/qml/v8/qv8typewrapper.cpp4
-rw-r--r--src/qml/qml/v8/qv8valuetypewrapper.cpp4
-rw-r--r--src/qml/types/qqmldelegatemodel.cpp6
-rw-r--r--src/qmltest/quicktestresult.cpp2
-rw-r--r--src/quick/items/context2d/qquickcontext2d.cpp51
-rw-r--r--src/quick/items/qquickitem.cpp4
-rw-r--r--src/quick/items/qquickloader.cpp3
-rw-r--r--src/quick/util/qquickglobal.cpp2
19 files changed, 90 insertions, 120 deletions
diff --git a/src/imports/localstorage/plugin.cpp b/src/imports/localstorage/plugin.cpp
index 1584cdb5d5..261f3b2dd8 100644
--- a/src/imports/localstorage/plugin.cpp
+++ b/src/imports/localstorage/plugin.cpp
@@ -243,7 +243,7 @@ static v8::Handle<v8::Value> qmlsqldatabase_executeSql(const v8::Arguments& args
QSqlDatabase db = r->database;
- QString sql = engine->toString(args[0]);
+ QString sql = args[0]->v4Value().toQString();
if (r->readonly && !sql.startsWith(QLatin1String("SELECT"),Qt::CaseInsensitive)) {
V8THROW_SQL(SQLEXCEPTION_SYNTAX_ERR, QQmlEngine::tr("Read-only Transaction"));
@@ -267,7 +267,7 @@ static v8::Handle<v8::Value> qmlsqldatabase_executeSql(const v8::Arguments& args
v8::Local<v8::Array> names = object->GetPropertyNames();
uint32_t size = names->Length();
for (uint32_t ii = 0; ii < size; ++ii)
- query.bindValue(engine->toString(names->Get(ii)),
+ query.bindValue(names->Get(ii)->v4Value().toQString(),
engine->toVariant(object->Get(names->Get(ii)), -1));
} else {
query.bindValue(0, engine->toVariant(values, -1));
@@ -311,8 +311,8 @@ static v8::Handle<v8::Value> qmlsqldatabase_changeVersion(const v8::Arguments& a
QV8Engine *engine = r->engine;
QSqlDatabase db = r->database;
- QString from_version = engine->toString(args[0]);
- QString to_version = engine->toString(args[1]);
+ QString from_version = args[0]->v4Value().toQString();
+ QString to_version = args[1]->v4Value().toQString();
v8::Handle<v8::Value> callback = args[2];
if (from_version != r->version)
@@ -611,9 +611,9 @@ void QQuickLocalStorage::openDatabaseSync(QQmlV8Function *args)
QSqlDatabase database;
- QString dbname = engine->toString((*args)[0]);
- QString dbversion = engine->toString((*args)[1]);
- QString dbdescription = engine->toString((*args)[2]);
+ QString dbname = (*args)[0]->v4Value().toQString();
+ QString dbversion = (*args)[1]->v4Value().toQString();
+ QString dbdescription = (*args)[2]->v4Value().toQString();
int dbestimatedsize = (*args)[3]->Int32Value();
v8::Handle<v8::Value> dbcreationCallback = (*args)[4];
diff --git a/src/qml/qml/qqmllocale.cpp b/src/qml/qml/qqmllocale.cpp
index 99e82bb30e..52acd85c7a 100644
--- a/src/qml/qml/qqmllocale.cpp
+++ b/src/qml/qml/qqmllocale.cpp
@@ -301,10 +301,10 @@ v8::Handle<v8::Value> QQmlDateExtension::fromLocaleString(const v8::Arguments& a
QLocale::FormatType enumFormat = QLocale::LongFormat;
QDateTime dt;
- QString dateString = r->engine->toString(args[1]->ToString());
+ QString dateString = args[1]->v4Value().toQString();
if (args.Length() == 3) {
if (args[2]->IsString()) {
- QString format = r->engine->toString(args[2]->ToString());
+ QString format = args[2]->v4Value().toQString();
dt = r->locale.toDateTime(dateString, format);
} else if (args[2]->IsNumber()) {
quint32 intFormat = args[2]->ToNumber()->Value();
@@ -338,10 +338,10 @@ v8::Handle<v8::Value> QQmlDateExtension::fromLocaleTimeString(const v8::Argument
QLocale::FormatType enumFormat = QLocale::LongFormat;
QTime tm;
- QString dateString = r->engine->toString(args[1]->ToString());
+ QString dateString = args[1]->v4Value().toQString();
if (args.Length() == 3) {
if (args[2]->IsString()) {
- QString format = r->engine->toString(args[2]->ToString());
+ QString format = args[2]->v4Value().toQString();
tm = r->locale.toTime(dateString, format);
} else if (args[2]->IsNumber()) {
quint32 intFormat = args[2]->ToNumber()->Value();
@@ -376,10 +376,10 @@ v8::Handle<v8::Value> QQmlDateExtension::fromLocaleDateString(const v8::Argument
QLocale::FormatType enumFormat = QLocale::LongFormat;
QDate dt;
- QString dateString = r->engine->toString(args[1]->ToString());
+ QString dateString = args[1]->v4Value().toQString();
if (args.Length() == 3) {
if (args[2]->IsString()) {
- QString format = r->engine->toString(args[2]->ToString());
+ QString format = args[2]->v4Value().toQString();
dt = r->locale.toDate(dateString, format);
} else if (args[2]->IsNumber()) {
quint32 intFormat = args[2]->ToNumber()->Value();
@@ -502,7 +502,7 @@ v8::Handle<v8::Value> QQmlNumberExtension::toLocaleCurrencyString(const v8::Argu
if (args.Length() > 1) {
if (!args[1]->IsString())
V8THROW_ERROR("Locale: Number.toLocaleString(): Invalid arguments");
- symbol = r->engine->toString(args[1]->ToString());
+ symbol = args[1]->v4Value().toQString();
}
return r->engine->toString(r->locale.toCurrencyString(number, symbol));
diff --git a/src/qml/qml/qqmlproperty.cpp b/src/qml/qml/qqmlproperty.cpp
index fa728fec0d..b29861c4dc 100644
--- a/src/qml/qml/qqmlproperty.cpp
+++ b/src/qml/qml/qqmlproperty.cpp
@@ -1521,7 +1521,7 @@ bool QQmlPropertyPrivate::writeBinding(QObject *object,
break;
case QMetaType::QString:
if (result->IsString())
- QUICK_STORE(QString, v8engine->toString(result))
+ QUICK_STORE(QString, result->v4Value().toQString())
break;
default:
break;
diff --git a/src/qml/qml/qqmlxmlhttprequest.cpp b/src/qml/qml/qqmlxmlhttprequest.cpp
index ca2871d225..ebdd9ea3d8 100644
--- a/src/qml/qml/qqmlxmlhttprequest.cpp
+++ b/src/qml/qml/qqmlxmlhttprequest.cpp
@@ -839,7 +839,7 @@ v8::Handle<v8::Value> NamedNodeMap::named(v8::Local<v8::String> property, const
if (!r || !r->list) return v8::Undefined();
QV8Engine *engine = V8ENGINE();
- QString str = engine->toString(property);
+ QString str = property->v4Value().toQString();
for (int ii = 0; ii < r->list->count(); ++ii) {
if (r->list->at(ii)->name == str) {
return Node::create(engine, r->list->at(ii));
@@ -1534,7 +1534,7 @@ static v8::Handle<v8::Value> qmlxmlhttprequest_open(const v8::Arguments &args)
QV8Engine *engine = r->engine;
// Argument 0 - Method
- QString method = engine->toString(args[0]).toUpper();
+ QString method = args[0]->v4Value().toQString().toUpper();
if (method != QLatin1String("GET") &&
method != QLatin1String("PUT") &&
method != QLatin1String("HEAD") &&
@@ -1543,7 +1543,7 @@ static v8::Handle<v8::Value> qmlxmlhttprequest_open(const v8::Arguments &args)
V8THROW_DOM(DOMEXCEPTION_SYNTAX_ERR, "Unsupported HTTP method type");
// Argument 1 - URL
- QUrl url = QUrl(engine->toString(args[1]));
+ QUrl url = QUrl(args[1]->v4Value().toQString());
if (url.isRelative())
url = engine->callingContext()->resolvedUrl(url);
@@ -1555,9 +1555,9 @@ static v8::Handle<v8::Value> qmlxmlhttprequest_open(const v8::Arguments &args)
// Argument 3/4 - user/pass (optional)
QString username, password;
if (args.Length() > 3)
- username = engine->toString(args[3]);
+ username = args[3]->v4Value().toQString();
if (args.Length() > 4)
- password = engine->toString(args[4]);
+ password = args[4]->v4Value().toQString();
// Clear the fragment (if any)
url.setFragment(QString());
@@ -1583,8 +1583,8 @@ static v8::Handle<v8::Value> qmlxmlhttprequest_setRequestHeader(const v8::Argume
QV8Engine *engine = r->engine;
- QString name = engine->toString(args[0]);
- QString value = engine->toString(args[1]);
+ QString name = args[0]->v4Value().toQString();
+ QString value = args[1]->v4Value().toQString();
// ### Check that name and value are well formed
@@ -1630,7 +1630,7 @@ static v8::Handle<v8::Value> qmlxmlhttprequest_send(const v8::Arguments &args)
QByteArray data;
if (args.Length() > 0)
- data = engine->toString(args[0]).toUtf8();
+ data = args[0]->v4Value().toQString().toUtf8();
return r->send(constructMeObject(args.This(), engine), data);
}
@@ -1660,7 +1660,7 @@ static v8::Handle<v8::Value> qmlxmlhttprequest_getResponseHeader(const v8::Argum
r->readyState() != QQmlXMLHttpRequest::HeadersReceived)
V8THROW_DOM(DOMEXCEPTION_INVALID_STATE_ERR, "Invalid state");
- return engine->toString(r->header(engine->toString(args[0])));
+ return engine->toString(r->header(args[0]->v4Value().toQString()));
}
static v8::Handle<v8::Value> qmlxmlhttprequest_getAllResponseHeaders(const v8::Arguments &args)
diff --git a/src/qml/qml/v8/qqmlbuiltinfunctions.cpp b/src/qml/qml/v8/qqmlbuiltinfunctions.cpp
index 6a884a8a1f..11a8565604 100644
--- a/src/qml/qml/v8/qqmlbuiltinfunctions.cpp
+++ b/src/qml/qml/v8/qqmlbuiltinfunctions.cpp
@@ -132,13 +132,13 @@ v8::Handle<v8::Value> console(ConsoleLogTypes logType, const v8::Arguments &args
} else {
toString = tryCatch.Exception()->ToString();
str = QStringLiteral("toString() threw exception: %1")
- .arg(engine->toString(toString));
+ .arg(toString->v4Value().toQString());
}
result.append(str);
continue;
}
- QString tmp = engine->toString(toString);
+ QString tmp = toString->v4Value().toQString();
if (value->IsArray())
result.append(QStringLiteral("[%1]").arg(tmp));
else
@@ -260,7 +260,7 @@ v8::Handle<v8::Value> consoleTime(const v8::Arguments &args)
{
if (args.Length() != 1)
V8THROW_ERROR("console.time(): Invalid arguments");
- QString name = V8ENGINE()->toString(args[0]);
+ QString name = args[0]->v4Value().toQString();
V8ENGINE()->startTimer(name);
return v8::Undefined();
}
@@ -269,7 +269,7 @@ v8::Handle<v8::Value> consoleTimeEnd(const v8::Arguments &args)
{
if (args.Length() != 1)
V8THROW_ERROR("console.time(): Invalid arguments");
- QString name = V8ENGINE()->toString(args[0]);
+ QString name = args[0]->v4Value().toQString();
bool wasRunning;
qint64 elapsed = V8ENGINE()->stopTimer(name, &wasRunning);
if (wasRunning) {
@@ -283,7 +283,7 @@ v8::Handle<v8::Value> consoleCount(const v8::Arguments &args)
// first argument: name to print. Ignore any additional arguments
QString name;
if (args.Length() > 0)
- name = V8ENGINE()->toString(args[0]);
+ name = args[0]->v4Value().toQString();
v8::Handle<v8::StackTrace> stackTrace =
v8::StackTrace::CurrentStackTrace(1, v8::StackTrace::kOverview);
@@ -291,8 +291,8 @@ v8::Handle<v8::Value> consoleCount(const v8::Arguments &args)
if (stackTrace->GetFrameCount()) {
v8::Local<v8::StackFrame> frame = stackTrace->GetFrame(0);
- QString scriptName = V8ENGINE()->toString(frame->GetScriptName());
- QString functionName = V8ENGINE()->toString(frame->GetFunctionName());
+ QString scriptName = frame->GetScriptName()->v4Value().toQString();
+ QString functionName = frame->GetFunctionName()->v4Value().toQString();
int line = frame->GetLineNumber();
int column = frame->GetColumn();
@@ -340,7 +340,7 @@ v8::Handle<v8::Value> consoleAssert(const v8::Arguments &args)
message.append(QLatin1Char(' '));
v8::Local<v8::Value> value = args[i];
- message.append(V8ENGINE()->toString(value->ToString()));
+ message.append(value->v4Value().toQString());
}
QString stack = jsStack();
@@ -369,7 +369,7 @@ v8::Handle<v8::Value> consoleException(const v8::Arguments &args)
v8::Handle<v8::Value> stringArg(const v8::Arguments &args)
{
- QString value = V8ENGINE()->toString(args.This()->ToString());
+ QString value = args.This()->v4Value().toQString();
if (args.Length() != 1)
V8THROW_ERROR("String.arg(): Invalid arguments");
@@ -383,7 +383,7 @@ v8::Handle<v8::Value> stringArg(const v8::Arguments &args)
else if (arg->IsBoolean())
return V8ENGINE()->toString(value.arg(arg->BooleanValue()));
- return V8ENGINE()->toString(value.arg(V8ENGINE()->toString(arg)));
+ return V8ENGINE()->toString(value.arg(arg->v4Value().toQString()));
}
/*!
@@ -1073,7 +1073,7 @@ v8::Handle<v8::Value> md5(const v8::Arguments &args)
if (args.Length() != 1)
V8THROW_ERROR("Qt.md5(): Invalid arguments");
- QByteArray data = V8ENGINE()->toString(args[0]->ToString()).toUtf8();
+ QByteArray data = args[0]->v4Value().toQString().toUtf8();
QByteArray result = QCryptographicHash::hash(data, QCryptographicHash::Md5);
return V8ENGINE()->toString(QLatin1String(result.toHex()));
}
@@ -1087,7 +1087,7 @@ v8::Handle<v8::Value> btoa(const v8::Arguments &args)
if (args.Length() != 1)
V8THROW_ERROR("Qt.btoa(): Invalid arguments");
- QByteArray data = V8ENGINE()->toString(args[0]->ToString()).toUtf8();
+ QByteArray data = args[0]->v4Value().toQString().toUtf8();
return V8ENGINE()->toString(QLatin1String(data.toBase64()));
}
@@ -1101,7 +1101,7 @@ v8::Handle<v8::Value> atob(const v8::Arguments &args)
if (args.Length() != 1)
V8THROW_ERROR("Qt.atob(): Invalid arguments");
- QByteArray data = V8ENGINE()->toString(args[0]->ToString()).toUtf8();
+ QByteArray data = args[0]->v4Value().toQString().toUtf8();
return V8ENGINE()->toString(QLatin1String(QByteArray::fromBase64(data)));
}
@@ -1182,13 +1182,13 @@ v8::Handle<v8::Value> createQmlObject(const v8::Arguments &args)
effectiveContext = context->asQQmlContext();
Q_ASSERT(context && effectiveContext);
- QString qml = v8engine->toString(args[0]->ToString());
+ QString qml = args[0]->v4Value().toQString();
if (qml.isEmpty())
return v8::Null();
QUrl url;
if (args.Length() > 2)
- url = QUrl(v8engine->toString(args[2]->ToString()));
+ url = QUrl(args[2]->v4Value().toQString());
else
url = QUrl(QLatin1String("inline"));
@@ -1283,7 +1283,7 @@ v8::Handle<v8::Value> createComponent(const v8::Arguments &args)
effectiveContext = 0;
Q_ASSERT(context);
- QString arg = v8engine->toString(args[0]->ToString());
+ QString arg = args[0]->v4Value().toQString();
if (arg.isEmpty())
return v8::Null();
@@ -1359,10 +1359,10 @@ v8::Handle<v8::Value> qsTranslate(const v8::Arguments &args)
V8THROW_ERROR("qsTranslate(): third argument (disambiguation) must be a string");
QV8Engine *v8engine = V8ENGINE();
- QString context = v8engine->toString(args[0]);
- QString text = v8engine->toString(args[1]);
+ QString context = args[0]->v4Value().toQString();
+ QString text = args[1]->v4Value().toQString();
QString comment;
- if (args.Length() > 2) comment = v8engine->toString(args[2]);
+ if (args.Length() > 2) comment = args[2]->v4Value().toQString();
int i = 3;
if (args.Length() > i && args[i]->IsString()) {
@@ -1446,10 +1446,10 @@ v8::Handle<v8::Value> qsTr(const v8::Arguments &args)
int lastSlash = path.lastIndexOf(QLatin1Char('/'));
QString context = (lastSlash > -1) ? path.mid(lastSlash + 1, path.length()-lastSlash-5) : QString();
- QString text = v8engine->toString(args[0]);
+ QString text = args[0]->v4Value().toQString();
QString comment;
if (args.Length() > 1)
- comment = v8engine->toString(args[1]);
+ comment = args[1]->v4Value().toQString();
int n = -1;
if (args.Length() > 2)
n = args[2]->Int32Value();
@@ -1533,7 +1533,7 @@ v8::Handle<v8::Value> qsTrId(const v8::Arguments &args)
n = args[1]->Int32Value();
QV8Engine *v8engine = V8ENGINE();
- return v8engine->toString(qtTrId(v8engine->toString(args[0]).toUtf8().constData(), n));
+ return v8engine->toString(qtTrId(args[0]->v4Value().toQString().toUtf8().constData(), n));
}
/*!
@@ -1590,7 +1590,7 @@ v8::Handle<v8::Value> locale(const v8::Arguments &args)
QV8Engine *v8engine = V8ENGINE();
if (args.Length() == 1)
- code = v8engine->toString(args[0]);
+ code = args[0]->v4Value().toQString();
return QQmlLocale::locale(v8engine, code);
}
diff --git a/src/qml/qml/v8/qv8contextwrapper.cpp b/src/qml/qml/v8/qv8contextwrapper.cpp
index 9c37d87a48..b056cc111e 100644
--- a/src/qml/qml/v8/qv8contextwrapper.cpp
+++ b/src/qml/qml/v8/qv8contextwrapper.cpp
@@ -362,7 +362,7 @@ v8::Handle<v8::Value> QV8ContextWrapper::NullSetter(v8::Local<v8::String> proper
if (!resource->readOnly) {
return v8::Handle<v8::Value>();
} else {
- QString error = QLatin1String("Invalid write to global property \"") + engine->toString(property) +
+ QString error = QLatin1String("Invalid write to global property \"") + property->v4Value().toQString() +
QLatin1Char('"');
v8::ThrowException(v8::Exception::Error(engine->toString(error)));
return v8::Handle<v8::Value>();
@@ -420,7 +420,7 @@ v8::Handle<v8::Value> QV8ContextWrapper::Setter(v8::Local<v8::String> property,
if (!resource->readOnly) {
return v8::Handle<v8::Value>();
} else {
- QString error = QLatin1String("Invalid write to global property \"") + engine->toString(property) +
+ QString error = QLatin1String("Invalid write to global property \"") + property->v4Value().toQString() +
QLatin1Char('"');
v8::ThrowException(v8::Exception::Error(engine->toString(error)));
return v8::Undefined();
diff --git a/src/qml/qml/v8/qv8engine.cpp b/src/qml/qml/v8/qv8engine.cpp
index 4794c221ca..1526e40d16 100644
--- a/src/qml/qml/v8/qv8engine.cpp
+++ b/src/qml/qml/v8/qv8engine.cpp
@@ -1560,16 +1560,6 @@ QV8Engine::ThreadData::~ThreadData()
}
}
-QString QV8Engine::toString(v8::Handle<v8::Value> string)
-{
- return string.get()->v4Value().toString(m_v4Engine->current)->toQString();
-}
-
-QString QV8Engine::toString(v8::Handle<v8::String> string)
-{
- return string.get()->v4Value().toString(m_v4Engine->current)->toQString();
-}
-
v8::Local<v8::String> QV8Engine::toString(const QString &string)
{
return QJSConverter::toString(string);
diff --git a/src/qml/qml/v8/qv8engine_p.h b/src/qml/qml/v8/qv8engine_p.h
index 8cb6d02b83..fe22b991e4 100644
--- a/src/qml/qml/v8/qv8engine_p.h
+++ b/src/qml/qml/v8/qv8engine_p.h
@@ -312,8 +312,6 @@ public:
QV4::Value getOwnPropertyNames(const QV4::Value &o);
void freezeObject(const QV4::Value &value);
- QString toString(v8::Handle<v8::Value> string);
- QString toString(v8::Handle<v8::String> string);
static inline bool startsWithUpper(v8::Handle<v8::String>);
QVariant toVariant(v8::Handle<v8::Value>, int typeHint);
diff --git a/src/qml/qml/v8/qv8include.cpp b/src/qml/qml/v8/qv8include.cpp
index 101c3d24c3..b5ba87b718 100644
--- a/src/qml/qml/v8/qv8include.cpp
+++ b/src/qml/qml/v8/qv8include.cpp
@@ -180,7 +180,7 @@ v8::Handle<v8::Value> QV8Include::include(const v8::Arguments &args)
if (!context || !context->isJSContext)
V8THROW_ERROR("Qt.include(): Can only be called from JavaScript files");
- QUrl url(context->resolvedUrl(QUrl(engine->toString(args[0]->ToString()))));
+ QUrl url(context->resolvedUrl(QUrl(args[0]->v4Value().toQString())));
v8::Local<v8::Function> callbackFunction;
if (args.Length() >= 2 && args[1]->IsFunction())
diff --git a/src/qml/qml/v8/qv8qobjectwrapper.cpp b/src/qml/qml/v8/qv8qobjectwrapper.cpp
index 13574e1543..db9ac6959b 100644
--- a/src/qml/qml/v8/qv8qobjectwrapper.cpp
+++ b/src/qml/qml/v8/qv8qobjectwrapper.cpp
@@ -618,7 +618,7 @@ static inline void StoreProperty(QV8Engine *engine, QObject *object, QQmlPropert
v8::Local<v8::StackFrame> frame = trace->GetFrame(0);
int lineNumber = frame->GetLineNumber();
int columnNumber = frame->GetColumn();
- QString url = engine->toString(frame->GetScriptName());
+ QString url = frame->GetScriptName()->v4Value().toQString();
newBinding = new QQmlBinding(&function, object, context, url, qmlSourceCoordinate(lineNumber), qmlSourceCoordinate(columnNumber));
newBinding->setTarget(object, *property, context);
@@ -676,7 +676,7 @@ static inline void StoreProperty(QV8Engine *engine, QObject *object, QQmlPropert
} else if (property->propType == QMetaType::Double && value->IsNumber()) {
PROPERTY_STORE(double, double(value->ToNumber()->Value()));
} else if (property->propType == QMetaType::QString && value->IsString()) {
- PROPERTY_STORE(QString, engine->toString(value->ToString()));
+ PROPERTY_STORE(QString, value->v4Value().toQString());
} else if (property->isVarProperty()) {
QQmlVMEMetaObject *vmemo = QQmlVMEMetaObject::get(object);
Q_ASSERT(vmemo);
@@ -732,7 +732,7 @@ bool QV8QObjectWrapper::SetProperty(QV8Engine *engine, QObject *object, const QH
if (!result->isWritable() && !result->isQList()) {
QString error = QLatin1String("Cannot assign to read-only property \"") +
- engine->toString(property.string()) + QLatin1Char('\"');
+ property.string()->v4Value().toQString() + QLatin1Char('\"');
v8::ThrowException(v8::Exception::Error(engine->toString(error)));
return true;
}
@@ -804,7 +804,7 @@ v8::Handle<v8::Value> QV8QObjectWrapper::Setter(v8::Local<v8::String> property,
if (!result) {
QString error = QLatin1String("Cannot assign to non-existent property \"") +
- v8engine->toString(property) + QLatin1Char('\"');
+ property->v4Value().toQString() + QLatin1Char('\"');
v8::ThrowException(v8::Exception::Error(v8engine->toString(error)));
return value;
}
@@ -920,7 +920,7 @@ static void FastValueSetterReadOnly(v8::Local<v8::String> property, v8::Local<v8
QV8Engine *v8engine = resource->engine;
QString error = QLatin1String("Cannot assign to read-only property \"") +
- v8engine->toString(property) + QLatin1Char('\"');
+ property->v4Value().toQString() + QLatin1Char('\"');
v8::ThrowException(v8::Exception::Error(v8engine->toString(error)));
}
@@ -1337,7 +1337,7 @@ int QV8QObjectConnectionList::qt_metacall(QMetaObject::Call method, int index, v
if (try_catch.HasCaught()) {
QQmlError error;
- error.setDescription(QString(QLatin1String("Unknown exception occurred during evaluation of connected function: %1")).arg(engine->toString(connection.function->GetName())));
+ error.setDescription(QString(QLatin1String("Unknown exception occurred during evaluation of connected function: %1")).arg(connection.function->GetName()->v4Value().toQString()));
v8::Local<v8::Message> message = try_catch.Message();
if (!message.IsEmpty())
QQmlExpressionPrivate::exceptionToError(message, error);
@@ -2164,7 +2164,7 @@ void CallArgument::fromValue(int callType, QV8Engine *engine, v8::Handle<v8::Val
if (value->IsNull() || value->IsUndefined())
qstringPtr = new (&allocData) QString();
else
- qstringPtr = new (&allocData) QString(engine->toString(value->ToString()));
+ qstringPtr = new (&allocData) QString(value->v4Value().toQString());
type = callType;
} else if (callType == QMetaType::QObjectStar) {
qobjectPtr = engine->toQObject(value);
diff --git a/src/qml/qml/v8/qv8sequencewrapper_p_p.h b/src/qml/qml/v8/qv8sequencewrapper_p_p.h
index 41bfb4b76a..0c486b8321 100644
--- a/src/qml/qml/v8/qv8sequencewrapper_p_p.h
+++ b/src/qml/qml/v8/qv8sequencewrapper_p_p.h
@@ -117,7 +117,7 @@ static void generateWarning(QV8Engine *engine, const QString& description)
QQmlError retn;
retn.setDescription(description);
retn.setLine(currFrame->GetLineNumber());
- retn.setUrl(QUrl(engine->toString(currFrame->GetScriptName())));
+ retn.setUrl(QUrl(currFrame->GetScriptName()->v4Value().toQString()));
QQmlEnginePrivate::warning(engine->engine(), retn);
}
@@ -171,7 +171,7 @@ static QString convertBoolToString(QV8Engine *, bool v)
static QString convertV8ValueToString(QV8Engine *e, v8::Handle<v8::Value> v)
{
- return e->toString(v->ToString());
+ return v->v4Value().toQString();
}
static v8::Handle<v8::Value> convertStringToV8Value(QV8Engine *e, const QString &v)
@@ -186,7 +186,7 @@ static QString convertStringToString(QV8Engine *, const QString &v)
static QString convertV8ValueToQString(QV8Engine *e, v8::Handle<v8::Value> v)
{
- return e->toString(v->ToString());
+ return v->v4Value().toQString();
}
static v8::Handle<v8::Value> convertQStringToV8Value(QV8Engine *e, const QString &v)
@@ -201,7 +201,7 @@ static QString convertQStringToString(QV8Engine *, const QString &v)
static QUrl convertV8ValueToUrl(QV8Engine *e, v8::Handle<v8::Value> v)
{
- return QUrl(e->toString(v->ToString()));
+ return QUrl(v->v4Value().toQString());
}
static v8::Handle<v8::Value> convertUrlToV8Value(QV8Engine *e, const QUrl &v)
diff --git a/src/qml/qml/v8/qv8typewrapper.cpp b/src/qml/qml/v8/qv8typewrapper.cpp
index 7c77772282..6ebee592c0 100644
--- a/src/qml/qml/v8/qv8typewrapper.cpp
+++ b/src/qml/qml/v8/qv8typewrapper.cpp
@@ -176,7 +176,7 @@ v8::Handle<v8::Value> QV8TypeWrapper::Getter(v8::Local<v8::String> property,
// check for enum value
if (QV8Engine::startsWithUpper(property)) {
if (resource->mode == IncludeEnums) {
- QString name = v8engine->toString(property);
+ QString name = property->v4Value().toQString();
// ### Optimize
QByteArray enumName = name.toUtf8();
@@ -294,7 +294,7 @@ v8::Handle<v8::Value> QV8TypeWrapper::Setter(v8::Local<v8::String> property,
QV4::Object *apiprivate = QJSValuePrivate::get(siinfo->scriptApi(e))->value.asObject();
if (!apiprivate) {
QString error = QLatin1String("Cannot assign to read-only property \"") +
- v8engine->toString(property) + QLatin1Char('\"');
+ property->v4Value().toQString() + QLatin1Char('\"');
v8::ThrowException(v8::Exception::Error(v8engine->toString(error)));
} else {
apiprivate->put(v8::Isolate::GetEngine()->current, property.get()->v4Value().stringValue(), setVal);
diff --git a/src/qml/qml/v8/qv8valuetypewrapper.cpp b/src/qml/qml/v8/qv8valuetypewrapper.cpp
index 42e40fd33e..0e9984316c 100644
--- a/src/qml/qml/v8/qv8valuetypewrapper.cpp
+++ b/src/qml/qml/v8/qv8valuetypewrapper.cpp
@@ -356,7 +356,7 @@ v8::Handle<v8::Value> QV8ValueTypeWrapper::Setter(v8::Local<v8::String> property
QV8ValueTypeResource *r = v8_resource_cast<QV8ValueTypeResource>(info.This());
if (!r) return value;
- QByteArray propName = r->engine->toString(property).toUtf8();
+ QByteArray propName = property->v4Value().toQString().toUtf8();
if (r->objectType == QV8ValueTypeResource::Reference) {
QV8ValueTypeReferenceResource *reference = static_cast<QV8ValueTypeReferenceResource *>(r);
QMetaProperty writebackProperty = reference->object->metaObject()->property(reference->property);
@@ -399,7 +399,7 @@ v8::Handle<v8::Value> QV8ValueTypeWrapper::Setter(v8::Local<v8::String> property
v8::Local<v8::StackFrame> frame = trace->GetFrame(0);
int lineNumber = frame->GetLineNumber();
int columnNumber = frame->GetColumn();
- QString url = r->engine->toString(frame->GetScriptName());
+ QString url = frame->GetScriptName()->v4Value().toQString();
newBinding = new QQmlBinding(&function, reference->object, context,
url, qmlSourceCoordinate(lineNumber), qmlSourceCoordinate(columnNumber));
diff --git a/src/qml/types/qqmldelegatemodel.cpp b/src/qml/types/qqmldelegatemodel.cpp
index 56aed723e2..eb9914c794 100644
--- a/src/qml/types/qqmldelegatemodel.cpp
+++ b/src/qml/types/qqmldelegatemodel.cpp
@@ -1528,7 +1528,7 @@ bool QQmlDelegateModelPrivate::insert(
for (uint i = 0; i < propertyNames->Length(); ++i) {
v8::Local<v8::String> propertyName = propertyNames->Get(i)->ToString();
cacheItem->setValue(
- m_cacheMetaType->v8Engine->toString(propertyName),
+ propertyName->v4Value().toQString(),
m_cacheMetaType->v8Engine->toVariant(object->Get(propertyName), QVariant::Invalid));
}
@@ -1635,14 +1635,14 @@ int QQmlDelegateModelItemMetaType::parseGroups(const v8::Local<v8::Value> &group
{
int groupFlags = 0;
if (groups->IsString()) {
- const QString groupName = v8Engine->toString(groups);
+ const QString groupName = groups->v4Value().toQString();
int index = groupNames.indexOf(groupName);
if (index != -1)
groupFlags |= 2 << index;
} else if (groups->IsArray()) {
v8::Local<v8::Array> array = v8::Local<v8::Array>::Cast(groups);
for (uint i = 0; i < array->Length(); ++i) {
- const QString groupName = v8Engine->toString(array->Get(i));
+ const QString groupName = array->Get(i)->v4Value().toQString();
int index = groupNames.indexOf(groupName);
if (index != -1)
groupFlags |= 2 << index;
diff --git a/src/qmltest/quicktestresult.cpp b/src/qmltest/quicktestresult.cpp
index 4e44f8754b..9fcb60488c 100644
--- a/src/qmltest/quicktestresult.cpp
+++ b/src/qmltest/quicktestresult.cpp
@@ -506,7 +506,7 @@ void QuickTestResult::stringify(QQmlV8Function *args)
}
} else {
v8::Local<v8::String> jsstr = value->ToString();
- QString tmp = engine->toString(jsstr);
+ QString tmp = jsstr->v4Value().toQString();
if (value->IsArray())
result.append(QString::fromLatin1("[%1]").arg(tmp));
else
diff --git a/src/quick/items/context2d/qquickcontext2d.cpp b/src/quick/items/context2d/qquickcontext2d.cpp
index 9b0a09f8de..7892821ed5 100644
--- a/src/quick/items/context2d/qquickcontext2d.cpp
+++ b/src/quick/items/context2d/qquickcontext2d.cpp
@@ -783,10 +783,7 @@ static void ctx2d_globalCompositeOperation_set(v8::Local<v8::String>, v8::Local<
QV8Context2DResource *r = v8_resource_cast<QV8Context2DResource>(info.This());
CHECK_CONTEXT_SETTER(r)
- QV8Engine *engine = V8ENGINE_ACCESSOR();
-
-
- QString mode = engine->toString(value);
+ QString mode = value->v4Value().toQString();
QPainter::CompositionMode cm = qt_composite_mode_from_string(mode);
if (cm == QPainter::CompositionMode_SourceOver && mode != QStringLiteral("source-over"))
return;
@@ -899,12 +896,10 @@ static void ctx2d_fillRule_set(v8::Local<v8::String>, v8::Local<v8::Value> value
QV8Context2DResource *r = v8_resource_cast<QV8Context2DResource>(info.This());
CHECK_CONTEXT_SETTER(r)
- QV8Engine *engine = V8ENGINE_ACCESSOR();
-
- if ((value->IsString() && engine->toString(value) == QStringLiteral("WindingFill"))
+ if ((value->IsString() && value->v4Value().toQString() == QStringLiteral("WindingFill"))
||(value->IsNumber() && value->NumberValue() == Qt::WindingFill)) {
r->context->state.fillRule = Qt::WindingFill;
- } else if ((value->IsString() && engine->toString(value) == QStringLiteral("OddEvenFill"))
+ } else if ((value->IsString() && value->v4Value().toQString() == QStringLiteral("OddEvenFill"))
||(value->IsNumber() && value->NumberValue() == Qt::OddEvenFill)) {
r->context->state.fillRule = Qt::OddEvenFill;
} else {
@@ -1203,13 +1198,13 @@ static v8::Handle<v8::Value> ctx2d_createPattern(const v8::Arguments &args)
patternTexture = pixelData->image;
}
} else {
- patternTexture = r->context->createPixmap(QUrl(engine->toString(args[0]->ToString())))->image();
+ patternTexture = r->context->createPixmap(QUrl(args[0]->v4Value().toQString()))->image();
}
if (!patternTexture.isNull()) {
styleResouce->brush.setTextureImage(patternTexture);
- QString repetition = engine->toString(args[1]);
+ QString repetition = args[1]->v4Value().toQString();
if (repetition == QStringLiteral("repeat") || repetition.isEmpty()) {
styleResouce->patternRepeatX = true;
styleResouce->patternRepeatY = true;
@@ -1272,9 +1267,7 @@ static void ctx2d_lineCap_set(v8::Local<v8::String>, v8::Local<v8::Value> value,
QV8Context2DResource *r = v8_resource_cast<QV8Context2DResource>(info.This());
CHECK_CONTEXT_SETTER(r)
- QV8Engine *engine = V8ENGINE_ACCESSOR();
-
- QString lineCap = engine->toString(value);
+ QString lineCap = value->v4Value().toQString();
Qt::PenCapStyle cap;
if (lineCap == QLatin1String("round"))
cap = Qt::RoundCap;
@@ -1330,9 +1323,7 @@ static void ctx2d_lineJoin_set(v8::Local<v8::String>, v8::Local<v8::Value> value
QV8Context2DResource *r = v8_resource_cast<QV8Context2DResource>(info.This());
CHECK_CONTEXT_SETTER(r)
- QV8Engine *engine = V8ENGINE_ACCESSOR();
-
- QString lineJoin = engine->toString(value);
+ QString lineJoin = value->v4Value().toQString();
Qt::PenJoinStyle join;
if (lineJoin == QLatin1String("round"))
join = Qt::RoundJoin;
@@ -1529,7 +1520,7 @@ static void ctx2d_path_set(v8::Local<v8::String>, v8::Local<v8::Value> value, co
if (path)
r->context->m_path = path->path();
} else {
- QString path = engine->toString(value->ToString());
+ QString path = value->v4Value().toQString();
QQuickSvgParser::parsePathDataFast(path, r->context->m_path);
}
r->context->m_v8path = value;
@@ -1932,14 +1923,13 @@ static v8::Handle<v8::Value> ctx2d_text(const v8::Arguments &args)
QV8Context2DResource *r = v8_resource_cast<QV8Context2DResource>(args.This());
CHECK_CONTEXT(r)
- QV8Engine *engine = V8ENGINE();
if (args.Length() == 3) {
qreal x = args[1]->NumberValue();
qreal y = args[2]->NumberValue();
if (!qIsFinite(x) || !qIsFinite(y))
return args.This();
- r->context->text(engine->toString(args[0]), x, y);
+ r->context->text(args[0]->v4Value().toQString(), x, y);
}
return args.This();
}
@@ -2023,8 +2013,7 @@ static void ctx2d_font_set(v8::Local<v8::String>, v8::Local<v8::Value> value, co
QV8Context2DResource *r = v8_resource_cast<QV8Context2DResource>(info.This());
CHECK_CONTEXT_SETTER(r)
- QV8Engine *engine = V8ENGINE_ACCESSOR();
- QString fs = engine->toString(value);
+ QString fs = value->v4Value().toQString();
QFont font = qt_font_from_string(fs);
if (font != r->context->state.font) {
r->context->state.font = font;
@@ -2071,9 +2060,8 @@ static void ctx2d_textAlign_set(v8::Local<v8::String>, v8::Local<v8::Value> valu
{
QV8Context2DResource *r = v8_resource_cast<QV8Context2DResource>(info.This());
CHECK_CONTEXT_SETTER(r)
- QV8Engine *engine = V8ENGINE_ACCESSOR();
- QString textAlign = engine->toString(value);
+ QString textAlign = value->v4Value().toQString();
QQuickContext2D::TextAlignType ta;
if (textAlign == QLatin1String("start"))
@@ -2136,8 +2124,7 @@ static void ctx2d_textBaseline_set(v8::Local<v8::String>, v8::Local<v8::Value> v
{
QV8Context2DResource *r = v8_resource_cast<QV8Context2DResource>(info.This());
CHECK_CONTEXT_SETTER(r)
- QV8Engine *engine = V8ENGINE_ACCESSOR();
- QString textBaseline = engine->toString(value);
+ QString textBaseline = value->v4Value().toQString();
QQuickContext2D::TextBaseLineType tb;
if (textBaseline == QLatin1String("alphabetic"))
@@ -2171,13 +2158,12 @@ static v8::Handle<v8::Value> ctx2d_fillText(const v8::Arguments &args)
QV8Context2DResource *r = v8_resource_cast<QV8Context2DResource>(args.This());
CHECK_CONTEXT(r)
- QV8Engine *engine = V8ENGINE();
if (args.Length() == 3) {
qreal x = args[1]->NumberValue();
qreal y = args[2]->NumberValue();
if (!qIsFinite(x) || !qIsFinite(y))
return args.This();
- QPainterPath textPath = r->context->createTextGlyphs(x, y, engine->toString(args[0]));
+ QPainterPath textPath = r->context->createTextGlyphs(x, y, args[0]->v4Value().toQString());
r->context->buffer()->fill(textPath);
}
return args.This();
@@ -2195,9 +2181,8 @@ static v8::Handle<v8::Value> ctx2d_strokeText(const v8::Arguments &args)
QV8Context2DResource *r = v8_resource_cast<QV8Context2DResource>(args.This());
CHECK_CONTEXT(r)
- QV8Engine *engine = V8ENGINE();
if (args.Length() == 3)
- r->context->drawText(engine->toString(args[0]), args[1]->NumberValue(), args[2]->NumberValue(), false);
+ r->context->drawText(args[0]->v4Value().toQString(), args[1]->NumberValue(), args[2]->NumberValue(), false);
return args.This();
}
@@ -2230,11 +2215,9 @@ static v8::Handle<v8::Value> ctx2d_measureText(const v8::Arguments &args)
QV8Context2DResource *r = v8_resource_cast<QV8Context2DResource>(args.This());
CHECK_CONTEXT(r)
- QV8Engine *engine = V8ENGINE();
-
if (args.Length() == 1) {
QFontMetrics fm(r->context->state.font);
- uint width = fm.width(engine->toString(args[0]));
+ uint width = fm.width(args[0]->v4Value().toQString());
v8::Local<v8::Object> tm = v8::Object::New();
tm->Set(v8::String::New("width"), v8::Number::New(width));
return tm;
@@ -2319,7 +2302,7 @@ static v8::Handle<v8::Value> ctx2d_drawImage(const v8::Arguments &args)
QQmlRefPointer<QQuickCanvasPixmap> pixmap;
if (args[0]->IsString()) {
- QUrl url(engine->toString(args[0]->ToString()));
+ QUrl url(args[0]->v4Value().toQString());
if (!url.isValid())
V8THROW_DOM(DOMEXCEPTION_TYPE_MISMATCH_ERR, "drawImage(), type mismatch");
@@ -2569,7 +2552,7 @@ static v8::Handle<v8::Value> ctx2d_createImageData(const v8::Arguments &args)
return qt_create_image_data(w, h, engine, QImage());
}
} else if (args[0]->IsString()) {
- QImage image = r->context->createPixmap(QUrl(engine->toString(args[0]->ToString())))->image();
+ QImage image = r->context->createPixmap(QUrl(args[0]->v4Value().toQString()))->image();
return qt_create_image_data(image.width(), image.height(), engine, image);
}
} else if (args.Length() == 2) {
diff --git a/src/quick/items/qquickitem.cpp b/src/quick/items/qquickitem.cpp
index d110a01290..f5be518a91 100644
--- a/src/quick/items/qquickitem.cpp
+++ b/src/quick/items/qquickitem.cpp
@@ -3762,7 +3762,7 @@ void QQuickItem::mapFromItem(QQmlV8Function *args) const
itemObj = qobject_cast<QQuickItem*>(engine->toQObject(item));
if (!itemObj && !item->IsNull()) {
- qmlInfo(this) << "mapFromItem() given argument \"" << engine->toString(item->ToString())
+ qmlInfo(this) << "mapFromItem() given argument \"" << item->v4Value().toQString()
<< "\" which is neither null nor an Item";
return;
}
@@ -3834,7 +3834,7 @@ void QQuickItem::mapToItem(QQmlV8Function *args) const
itemObj = qobject_cast<QQuickItem*>(engine->toQObject(item));
if (!itemObj && !item->IsNull()) {
- qmlInfo(this) << "mapToItem() given argument \"" << engine->toString(item->ToString())
+ qmlInfo(this) << "mapToItem() given argument \"" << item->v4Value().toQString()
<< "\" which is neither null nor an Item";
return;
}
diff --git a/src/quick/items/qquickloader.cpp b/src/quick/items/qquickloader.cpp
index 0d14f3e266..3b662c1696 100644
--- a/src/quick/items/qquickloader.cpp
+++ b/src/quick/items/qquickloader.cpp
@@ -928,8 +928,7 @@ void QQuickLoader::geometryChanged(const QRectF &newGeometry, const QRectF &oldG
QUrl QQuickLoaderPrivate::resolveSourceUrl(QQmlV8Function *args)
{
- QV8Engine *v8engine = args->engine();
- QString arg = v8engine->toString((*args)[0]->ToString());
+ QString arg = (*args)[0]->v4Value().toQString();
if (arg.isEmpty())
return QUrl();
diff --git a/src/quick/util/qquickglobal.cpp b/src/quick/util/qquickglobal.cpp
index 202c0b3def..31b23fbae0 100644
--- a/src/quick/util/qquickglobal.cpp
+++ b/src/quick/util/qquickglobal.cpp
@@ -337,7 +337,7 @@ public:
if (ok) *ok = true;
}
if (!vfam.IsEmpty() && !vfam->IsNull() && !vfam->IsUndefined() && vfam->IsString()) {
- retn.setFamily(e->toString(vfam->ToString()));
+ retn.setFamily(vfam->v4Value().toQString());
if (ok) *ok = true;
}
if (!vital.IsEmpty() && !vital->IsNull() && !vital->IsUndefined() && vital->IsBoolean()) {