Showing the changes to libraries/script-engine/src/ArrayBufferClass.cpp (1 of 10 files). Show all
Unified · Split
| @@ -9,8 +9,10 @@ · 8 unmodified lines | |||
| 9 | // See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html | 9 | // See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html |
| 10 | // | 10 | // |
| 11 | 11 | ||
| 12 | #include <QDebug> | ||
| 12 | 13 | ||
| 13 | #include "ArrayBufferPrototype.h" | 14 | #include "ArrayBufferPrototype.h" |
| 15 | #include "ScriptEngine.h" | ||
| 14 | 16 | ||
| 15 | #include "ArrayBufferClass.h" | 17 | #include "ArrayBufferClass.h" |
| 16 | 18 | ||
| @@ -19,16 +21,20 @@ static const QString BYTE_LENGTH_PROPERTY_NAME = "byteLength"; · 2 unmodified lines | |||
| 19 | 21 | ||
| 20 | Q_DECLARE_METATYPE(QByteArray*) | 22 | Q_DECLARE_METATYPE(QByteArray*) |
| 21 | 23 | ||
| 22 | ArrayBufferClass::ArrayBufferClass(QScriptEngine* engine) : QObject(engine), QScriptClass(engine) { | 24 | ArrayBufferClass::ArrayBufferClass(ScriptEngine* scriptEngine) : |
| 23 | qScriptRegisterMetaType<QByteArray>(engine, toScriptValue, fromScriptValue); | 25 | QObject(scriptEngine->getScriptEngine()), |
| 24 | QScriptValue global = engine->globalObject(); | 26 | QScriptClass(scriptEngine->getScriptEngine()), |
| 27 | _scriptEngine(scriptEngine) { | ||
| 28 | qDebug() << "Created with engine: " << engine(); | ||
| 29 | qScriptRegisterMetaType<QByteArray>(engine(), toScriptValue, fromScriptValue); | ||
| 30 | QScriptValue global = engine()->globalObject(); | ||
| 25 | 31 | ||
| 26 | // Save string handles for quick lookup | 32 | // Save string handles for quick lookup |
| 27 | _name = engine->toStringHandle(CLASS_NAME.toLatin1()); | 33 | _name = engine()->toStringHandle(CLASS_NAME.toLatin1()); |
| 28 | _byteLength = engine->toStringHandle(BYTE_LENGTH_PROPERTY_NAME.toLatin1()); | 34 | _byteLength = engine()->toStringHandle(BYTE_LENGTH_PROPERTY_NAME.toLatin1()); |
| 29 | 35 | ||
| 30 | // build prototype | 36 | // build prototype |
| 31 | _proto = engine->newQObject(new ArrayBufferPrototype(this), | 37 | _proto = engine()->newQObject(new ArrayBufferPrototype(this), |
| 32 | QScriptEngine::QtOwnership, | 38 | QScriptEngine::QtOwnership, |
| 33 | QScriptEngine::SkipMethodsInEnumeration | | 39 | QScriptEngine::SkipMethodsInEnumeration | |
| 34 | QScriptEngine::ExcludeSuperClassMethods | | 40 | QScriptEngine::ExcludeSuperClassMethods | |
| @@ -36,15 +42,17 @@ ArrayBufferClass::ArrayBufferClass(QScriptEngine* engine) : QObject(engine), QSc · 1 unmodified line | |||
| 36 | 42 | ||
| 37 | _proto.setPrototype(global.property("Object").property("prototype")); | 43 | _proto.setPrototype(global.property("Object").property("prototype")); |
| 38 | 44 | ||
| 39 | _ctor = engine->newFunction(construct, _proto); | 45 | _ctor = engine()->newFunction(construct, _proto); |
| 40 | _ctor.setData(engine->toScriptValue(this)); | 46 | _ctor.setData(engine()->toScriptValue(this)); |
| 41 | 47 | ||
| 42 | engine->globalObject().setProperty(name(), _ctor); | 48 | engine()->globalObject().setProperty(name(), _ctor); |
| 43 | } | 49 | } |
| 44 | 50 | ||
| 45 | QScriptValue ArrayBufferClass::newInstance(quint32 size) { | 51 | QScriptValue ArrayBufferClass::newInstance(quint32 size) { |
| 46 | engine()->reportAdditionalMemoryCost(size); | 52 | engine()->reportAdditionalMemoryCost(size); |
| 47 | QScriptValue data = engine()->newVariant(QVariant::fromValue(QByteArray(size, 0))); | 53 | QScriptEngine* eng = engine(); |
| 54 | QVariant variant = QVariant::fromValue(QByteArray(size, 0)); | ||
| 55 | QScriptValue data = eng->newVariant(variant); | ||
| 48 | return engine()->newObject(this, data); | 56 | return engine()->newObject(this, data); |
| 49 | } | 57 | } |
| 50 | 58 | ||