Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | implement QScriptEngine::isEvaluating() | Kent Hansen | 2009-07-15 | 1 | -3/+2 |
| | |||||
* | don't assert in QScriptEngine::setGlobalObject() | Kent Hansen | 2009-07-13 | 1 | -2/+2 |
| | | | | allow stuff to run, even though it's likely to crash/not work... | ||||
* | add GC marking guards | Kent Hansen | 2009-07-13 | 1 | -7/+13 |
| | | | | | Caller is responsible for calling marked() before mark(), otherwise you might get infinite recursion. | ||||
* | Merge branch 'qtscript-jsc-backend' of ↵ | Jedrzej Nowacki | 2009-07-13 | 1 | -183/+39 |
|\ | | | | | | | git@scm.dev.nokia.troll.no:qt/qt-webkit into qtscript-jsc-backend | ||||
| * | don't crash during GC if no prototype has been set for a metatype | Kent Hansen | 2009-07-10 | 1 | -4/+7 |
| | | | | | | | | | | | | Also, have pushContext() return currentContext() for now, to avoid crashing, and disable processing of __postInit__ property in importExtension() for same reason. | ||||
| * | implement ability to dynamically change class of script objects | Kent Hansen | 2009-07-10 | 1 | -179/+32 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With an object created by QScriptEngine::newObject(), it should be possible to call QScriptValue::setClass() to dynamically change the behavior of that object. Similarly, it should be possible to promote plain script objects to QObject (QVariant) wrappers by calling the overload of QScriptEngine::newQObject() (newVariant()) that takes a script object as the first argument. This commit implements this capability. The premise is the (internal) QScriptObject class, which inherits JSC::JSObject. It reimplements all the methods for getting/setting properties etc. Then there's a level of indirection to facilitate dynamic change of the class: Each QScriptObject can have a delegate associated with it that will handle operations on the object. By default there is no delegate, so the object behaves as a normal JS object, as you expect. However, once a delegate is set (e.g., when QScriptValue::setScriptClass() is called), QScriptObject will give the delegate the chance to handle the object operation. In addition to a delegate implementation for QScriptClass-based objects, there are also delegates for QObject and QVariant wrappers. These replace the QObjectWrapperObject and QVariantWrapperObject classes. | ||||
* | | fix checkSyntax autotest. | Jedrzej Nowacki | 2009-07-13 | 1 | -17/+38 |
| | | |||||
* | | fix autotest canEvaluate. | Jedrzej Nowacki | 2009-07-13 | 1 | -4/+80 |
|/ | |||||
* | register QScriptValue as meta-type | Kent Hansen | 2009-07-09 | 1 | -0/+2 |
| | | | | The old engine did it as well. Makes more tests pass. | ||||
* | Fix autotest checking QScriptValue::objectId method. | Jedrzej Nowacki | 2009-07-09 | 1 | -4/+13 |
| | | | | (QScriptValue::objectId() and QScriptEnigne::objectById) | ||||
* | use currentFrame instead of globalExec whenever we can | Kent Hansen | 2009-07-09 | 1 | -20/+20 |
| | |||||
* | rewrite most of QScriptContext handling | Kent Hansen | 2009-07-08 | 1 | -31/+40 |
| | | | | Do it The right way(TM), by lazily wrapping JSC::ExecState objects. | ||||
* | Fix engineDelete autotest. | Jedrzej Nowacki | 2009-07-08 | 1 | -0/+14 |
| | |||||
* | work on QScriptEngine::uncaughtException() | Kent Hansen | 2009-07-07 | 1 | -6/+11 |
| | | | | | | It's possible that JSC evaluate() returns a completion of type Throw without hadException() being true, so we need to store the exception value explicitly. | ||||
* | mark the QScriptClass object prototype | Kent Hansen | 2009-07-07 | 1 | -0/+2 |
| | |||||
* | start to implement QScriptEngine::importExtension() | Kent Hansen | 2009-07-06 | 1 | -5/+200 |
| | |||||
* | implement QScriptEngine::availableExtensions() | Kent Hansen | 2009-07-06 | 1 | -3/+71 |
| | |||||
* | make QScriptClass::HasInstance extension work | Kent Hansen | 2009-07-06 | 1 | -1/+1 |
| | |||||
* | start implementing QScriptClass extensions | Kent Hansen | 2009-07-03 | 1 | -0/+43 |
| | | | | Callable seems to work, HasInstance not quite there yet. | ||||
* | make more tests pass | Kent Hansen | 2009-07-03 | 1 | -0/+2 |
| | |||||
* | implement a fair amount of the QScriptClass functionality | Kent Hansen | 2009-07-02 | 1 | -5/+131 |
| | | | | | Enumeration is missing, as is the ability to change the class of an object after it has been created. | ||||
* | first stab at implementing Qt property getter/setters | Kent Hansen | 2009-07-02 | 1 | -0/+6 |
| | | | | Not fully working yet, so disabled for now | ||||
* | don't crash if isFunction() is called with invalid JS value | Kent Hansen | 2009-06-30 | 1 | -1/+1 |
| | |||||
* | implement setting of default prototype in newQObject() | Kent Hansen | 2009-06-30 | 1 | -14/+48 |
| | |||||
* | implement name-based connection, make more tests work | Kent Hansen | 2009-06-30 | 1 | -7/+13 |
| | |||||
* | port recent changes from qt/master | Kent Hansen | 2009-06-30 | 1 | -4/+3 |
| | | | | Makes variant conversion work for signal handlers. | ||||
* | implement QScriptEngine::installTranslatorFunctions() | Kent Hansen | 2009-06-26 | 1 | -2/+134 |
| | |||||
* | cleanup, make print() function handle exceptions | Kent Hansen | 2009-06-26 | 1 | -81/+41 |
| | |||||
* | implement QMetaObject bindings | Kent Hansen | 2009-06-26 | 1 | -2/+18 |
| | |||||
* | work on signal bindings (connect, disconnect, signal emission) | Kent Hansen | 2009-06-24 | 1 | -13/+221 |
| | |||||
* | make more qscriptengine tests run | Kent Hansen | 2009-06-24 | 1 | -37/+62 |
| | | | | | Not everything passes but at least nothing asserts anymore, so the test runs to completion. | ||||
* | make most of the qscriptvalue tests pass | Kent Hansen | 2009-06-23 | 1 | -5/+6 |
| | | | | call(), construct() etc. | ||||
* | toObject({undefined,null}) should return invalid scriptvalue | Kent Hansen | 2009-06-23 | 1 | -1/+1 |
| | | | | JSC will throw an error. | ||||
* | Import JSC-based Qt Script from Kent's tree. | Simon Hausmann | 2009-06-16 | 1 | -0/+2634 |