History

pre-CR cleanup

Atlante45 committed 12 years ago

Commit 30fd4e21 parent 8b50fba13 files · +241 −268Browse files

Showing the changes to libraries/script-engine/src/ArrayBufferClass.cpp (1 of 13 files). Show all

Unified · Split

libraries/script-engine/src/ArrayBufferClass.cpp+8−8
@@ -23,10 +23,9 @@ static const QString CLASS_NAME = "ArrayBuffer"; · 22 unmodified lines
23Q_DECLARE_METATYPE(QByteArray*)23Q_DECLARE_METATYPE(QByteArray*)
24 24
25ArrayBufferClass::ArrayBufferClass(ScriptEngine* scriptEngine) :25ArrayBufferClass::ArrayBufferClass(ScriptEngine* scriptEngine) :
26QObject(scriptEngine->getScriptEngine()),26QObject(scriptEngine->getEngine()),
27QScriptClass(scriptEngine->getScriptEngine()),27QScriptClass(scriptEngine->getEngine()),
28_scriptEngine(scriptEngine) {28_scriptEngine(scriptEngine) {
29 qDebug() << "Created with engine: " << engine();
30 qScriptRegisterMetaType<QByteArray>(engine(), toScriptValue, fromScriptValue);29 qScriptRegisterMetaType<QByteArray>(engine(), toScriptValue, fromScriptValue);
31 QScriptValue global = engine()->globalObject();30 QScriptValue global = engine()->globalObject();
32 31
@@ -40,15 +39,16 @@ _scriptEngine(scriptEngine) { · 7 unmodified lines
40 QScriptEngine::SkipMethodsInEnumeration |39 QScriptEngine::SkipMethodsInEnumeration |
41 QScriptEngine::ExcludeSuperClassMethods |40 QScriptEngine::ExcludeSuperClassMethods |
42 QScriptEngine::ExcludeSuperClassProperties);41 QScriptEngine::ExcludeSuperClassProperties);
43
44 _proto.setPrototype(global.property("Object").property("prototype"));42 _proto.setPrototype(global.property("Object").property("prototype"));
45 43
44 // Register constructor
46 _ctor = engine()->newFunction(construct, _proto);45 _ctor = engine()->newFunction(construct, _proto);
47 _ctor.setData(engine()->toScriptValue(this));46 _ctor.setData(engine()->toScriptValue(this));
48 47
49 engine()->globalObject().setProperty(name(), _ctor);48 engine()->globalObject().setProperty(name(), _ctor);
50 49
51 // Registering other array types50 // Registering other array types
51 // The script engine is there parent so it'll delete them with itself
52 new DataViewClass(scriptEngine);52 new DataViewClass(scriptEngine);
53 new Int8ArrayClass(scriptEngine);53 new Int8ArrayClass(scriptEngine);
54 new Uint8ArrayClass(scriptEngine);54 new Uint8ArrayClass(scriptEngine);
@@ -87,11 +87,10 @@ QScriptValue ArrayBufferClass::newInstance(const QByteArray& ba) { · 32 unmodified lines
87QScriptValue ArrayBufferClass::construct(QScriptContext* context, QScriptEngine* engine) {87QScriptValue ArrayBufferClass::construct(QScriptContext* context, QScriptEngine* engine) {
88 ArrayBufferClass* cls = qscriptvalue_cast<ArrayBufferClass*>(context->callee().data());88 ArrayBufferClass* cls = qscriptvalue_cast<ArrayBufferClass*>(context->callee().data());
89 if (!cls) {89 if (!cls) {
90 // return if callee (function called) is not of type ArrayBuffer
90 return QScriptValue();91 return QScriptValue();
91 }92 }
92
93 QScriptValue arg = context->argument(0);93 QScriptValue arg = context->argument(0);
94
95 if (!arg.isValid() || !arg.isNumber()) {94 if (!arg.isValid() || !arg.isNumber()) {
96 return QScriptValue();95 return QScriptValue();
97 }96 }
@@ -100,6 +99,7 @@ QScriptValue ArrayBufferClass::construct(QScriptContext* context, QScriptEngine* · 2 unmodified lines
100 QScriptValue newObject = cls->newInstance(size);99 QScriptValue newObject = cls->newInstance(size);
101 100
102 if (context->isCalledAsConstructor()) {101 if (context->isCalledAsConstructor()) {
102 // if called with keyword new, replace this object.
103 context->setThisObject(newObject);103 context->setThisObject(newObject);
104 return engine->undefinedValue();104 return engine->undefinedValue();
105 }105 }
@@ -118,8 +118,8 @@ QScriptClass::QueryFlags ArrayBufferClass::queryProperty(const QScriptValue& obj · 12 unmodified lines
118 return 0; // No access118 return 0; // No access
119}119}
120 120
121QScriptValue ArrayBufferClass::property(const QScriptValue &object,121QScriptValue ArrayBufferClass::property(const QScriptValue& object,
122 const QScriptString &name, uint id) {122 const QScriptString& name, uint id) {
123 QByteArray* ba = qscriptvalue_cast<QByteArray*>(object.data());123 QByteArray* ba = qscriptvalue_cast<QByteArray*>(object.data());
124 if (ba && name == _byteLength) {124 if (ba && name == _byteLength) {
125 return ba->length();125 return ba->length();