diff options
author | Jedrzej Nowacki <jedrzej.nowacki@nokia.com> | 2009-08-10 15:46:01 (GMT) |
---|---|---|
committer | Jedrzej Nowacki <jedrzej.nowacki@nokia.com> | 2009-08-10 15:46:01 (GMT) |
commit | 43c82a93c698f4a1eaa460839f905f1923c2b046 (patch) | |
tree | ad409fb124dadac75fa58d0be8c80136a3a9f0e3 /src | |
parent | a6c03442be39dca911c2f3391618e3f7dca96595 (diff) | |
parent | 1eb03f059ee879b830fc22c151265543b40043a5 (diff) | |
download | Qt-43c82a93c698f4a1eaa460839f905f1923c2b046.zip Qt-43c82a93c698f4a1eaa460839f905f1923c2b046.tar.gz Qt-43c82a93c698f4a1eaa460839f905f1923c2b046.tar.bz2 |
Merge branch 'qtscript-jsc-backend' of git@scm.dev.nokia.troll.no:qt/qt-webkit into qtscript-jsc-backend
Diffstat (limited to 'src')
-rw-r--r-- | src/script/api/qscriptengine.cpp | 13 | ||||
-rw-r--r-- | src/script/api/qscriptengine_p.h | 3 |
2 files changed, 12 insertions, 4 deletions
diff --git a/src/script/api/qscriptengine.cpp b/src/script/api/qscriptengine.cpp index 3ae1502..cc7ead3 100644 --- a/src/script/api/qscriptengine.cpp +++ b/src/script/api/qscriptengine.cpp @@ -1186,6 +1186,11 @@ void QScriptEnginePrivate::collectGarbage() globalData->heap.collect(); } +QScript::TimeoutCheckerProxy *QScriptEnginePrivate::timeoutChecker() const +{ + return static_cast<QScript::TimeoutCheckerProxy*>(globalData->timeoutChecker); +} + #ifndef QT_NO_QOBJECT JSC::JSValue QScriptEnginePrivate::newQObject( @@ -2173,10 +2178,10 @@ QScriptValue QScriptEngine::evaluate(const QString &program, const QString &file JSC::JSValue thisValue = d->thisForContext(exec); JSC::JSObject* thisObject = (!thisValue || thisValue.isUndefinedOrNull()) ? exec->dynamicGlobalObject() : thisValue.toObject(exec); JSC::JSValue exceptionValue; - dynamic_cast<QScript::TimeoutCheckerProxy*>(d->globalData->timeoutChecker)->setShouldAbort(false); + d->timeoutChecker()->setShouldAbort(false); JSC::JSValue result = exec->interpreter()->execute(evalNode.get(), exec, thisObject, exec->scopeChain(), &exceptionValue); - if (dynamic_cast<QScript::TimeoutCheckerProxy*>(d->globalData->timeoutChecker)->shouldAbort()) { + if (d->timeoutChecker()->shouldAbort()) { if (d->abortResult.isError()) exec->setException(d->scriptValueToJSCValue(d->abortResult)); return d->abortResult; @@ -3384,7 +3389,7 @@ void QScriptEngine::setProcessEventsInterval(int interval) if (interval > 0) d->globalData->timeoutChecker->setCheckInterval(interval); - dynamic_cast<QScript::TimeoutCheckerProxy*>(d->globalData->timeoutChecker)->setShouldProcessEvents(interval > 0); + d->timeoutChecker()->setShouldProcessEvents(interval > 0); } /*! @@ -3434,7 +3439,7 @@ void QScriptEngine::abortEvaluation(const QScriptValue &result) { Q_D(QScriptEngine); - dynamic_cast<QScript::TimeoutCheckerProxy*>(d->globalData->timeoutChecker)->setShouldAbort(true); + d->timeoutChecker()->setShouldAbort(true); d->abortResult = result; } diff --git a/src/script/api/qscriptengine_p.h b/src/script/api/qscriptengine_p.h index 472b0da..1506e7e 100644 --- a/src/script/api/qscriptengine_p.h +++ b/src/script/api/qscriptengine_p.h @@ -94,6 +94,7 @@ namespace QScript #ifndef QT_NO_QOBJECT class QObjectData; #endif + class TimeoutCheckerProxy; //some conversion helper functions JSC::UString qtStringToJSCUString(const QString &str); @@ -160,6 +161,8 @@ public: bool isCollecting() const; void collectGarbage(); + QScript::TimeoutCheckerProxy *timeoutChecker() const; + #ifndef QT_NO_QOBJECT JSC::JSValue newQObject(QObject *object, QScriptEngine::ValueOwnership ownership = QScriptEngine::QtOwnership, |