QT_BEGIN_NAMESPACE
-class QV8StringResource : public v8::String::ExternalStringResource
-{
-public:
- QV8StringResource(const QString &str) : str(str) {}
- virtual const uint16_t* data() const { return (uint16_t*)str.constData(); }
- virtual size_t length() const { return str.length(); }
- virtual void Dispose() { delete this; }
-
- QString str;
-};
-
QV8StringWrapper::QV8StringWrapper()
{
}
v8::Local<v8::String> QV8StringWrapper::toString(const QString &qstr)
{
-// return v8::String::NewExternal(new QV8StringResource(qstr));
return QJSConverter::toString(qstr);
}
{
if (jsstr.IsEmpty()) {
return QString();
- } else if (jsstr->IsExternal()) {
- QV8StringResource *r = (QV8StringResource *)jsstr->GetExternalStringResource();
- return r->str;
} else {
return QJSConverter::toString(jsstr);
}