Code cleanup: unify string conversions.
authorJedrzej Nowacki <jedrzej.nowacki@nokia.com>
Thu, 4 Aug 2011 09:21:57 +0000 (11:21 +0200)
committerQt by Nokia <qt-info@nokia.com>
Wed, 10 Aug 2011 10:49:39 +0000 (12:49 +0200)
Unify string conversions when there is not any external string wrapper.

Change-Id: I6665e33c968b9d1c6ad86595639967ddcd257667
Reviewed-on: http://codereview.qt.nokia.com/2701
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>

src/declarative/qml/v8/qjsconverter_p.h
src/declarative/qml/v8/qv8stringwrapper.cpp

index 4aec472..c42381b 100644 (file)
@@ -28,6 +28,7 @@
 #include <QtCore/qglobal.h>
 #include <QtCore/qnumeric.h>
 #include <QtCore/qstring.h>
+#include <QtCore/qstringlist.h>
 #include <QtCore/qvarlengtharray.h>
 #include <QtCore/qregexp.h>
 #include <QtCore/qdatetime.h>
@@ -70,7 +71,7 @@ public:
         return qstr;
     }
 
-    static v8::Handle<v8::String> toString(const QString& string)
+    static v8::Local<v8::String> toString(const QString& string)
     {
         return v8::String::New(reinterpret_cast<const uint16_t*>(string.data()), string.size());
     }
index 5178da0..1fea98f 100644 (file)
@@ -40,6 +40,7 @@
 ****************************************************************************/
 
 #include "qv8stringwrapper_p.h"
+#include "qjsconverter_p.h"
 
 QT_BEGIN_NAMESPACE
 
@@ -73,7 +74,7 @@ void QV8StringWrapper::destroy()
 v8::Local<v8::String> QV8StringWrapper::toString(const QString &qstr)
 {
 //    return v8::String::NewExternal(new QV8StringResource(qstr));
-    return v8::String::New((uint16_t*)qstr.constData(), qstr.length());
+    return QJSConverter::toString(qstr);
 }
 
 QString QV8StringWrapper::toString(v8::Handle<v8::String> jsstr)
@@ -84,10 +85,7 @@ QString QV8StringWrapper::toString(v8::Handle<v8::String> jsstr)
         QV8StringResource *r = (QV8StringResource *)jsstr->GetExternalStringResource();
         return r->str;
     } else {
-        QString qstr;
-        qstr.resize(jsstr->Length());
-        jsstr->Write((uint16_t*)qstr.data());
-        return qstr;
+        return QJSConverter::toString(jsstr);
     }
 }