diff options
author | Ulf Hermann <ulf.hermann@qt.io> | 2017-12-19 11:14:27 +0100 |
---|---|---|
committer | Ulf Hermann <ulf.hermann@qt.io> | 2018-02-02 09:37:40 +0000 |
commit | 65606ea1559572d66ee8bfac77e87f3e8f447c3e (patch) | |
tree | ac129f9b750303c553bcf2021798ccdb9c24c48c /src/qml/qml/v8/qv8engine.cpp | |
parent | 4939f4dd65ea28268656682ffa1378a9697fe5ac (diff) |
Remove double indirection between QJSEngine and QV4::ExecutionEngine
As QJSEngine's handle() method is internal, we can redefine it to return
a pointer to an ExecutionEngine. That makes many things easier.
Change-Id: Ie3df99e0bad5f00ad4fe73182896cd135fa82994
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'src/qml/qml/v8/qv8engine.cpp')
-rw-r--r-- | src/qml/qml/v8/qv8engine.cpp | 12 |
1 files changed, 2 insertions, 10 deletions
diff --git a/src/qml/qml/v8/qv8engine.cpp b/src/qml/qml/v8/qv8engine.cpp index 2947f7870a..2bf623f144 100644 --- a/src/qml/qml/v8/qv8engine.cpp +++ b/src/qml/qml/v8/qv8engine.cpp @@ -123,9 +123,10 @@ static void restoreJSValue(QDataStream &stream, void *data) } } -QV8Engine::QV8Engine(QJSEngine* qq) +QV8Engine::QV8Engine(QJSEngine *qq, QV4::ExecutionEngine *v4) : q(qq) , m_engine(0) + , m_v4Engine(v4) , m_xmlHttpRequestData(0) { #ifdef Q_PROCESSOR_X86_32 @@ -146,8 +147,6 @@ QV8Engine::QV8Engine(QJSEngine* qq) QMetaType::registerConverter<QJSValue, QStringList>(convertJSValueToVariantType<QStringList>); QMetaType::registerStreamOperators(qMetaTypeId<QJSValue>(), saveJSValue, restoreJSValue); - m_v4Engine = new QV4::ExecutionEngine; - m_v4Engine->v8Engine = this; m_delayedCallQueue.init(m_v4Engine); QV4::QObjectWrapper::initializeBindings(m_v4Engine); @@ -162,8 +161,6 @@ QV8Engine::~QV8Engine() qt_rem_qmlxmlhttprequest(m_v4Engine, m_xmlHttpRequestData); m_xmlHttpRequestData = 0; #endif - - delete m_v4Engine; } #if QT_CONFIG(qml_network) @@ -288,11 +285,6 @@ void QV8Engine::setEngine(QQmlEngine *engine) initQmlGlobalObject(); } -QV4::ReturnedValue QV8Engine::global() -{ - return m_v4Engine->globalObject->asReturnedValue(); -} - void QV8Engine::startTimer(const QString &timerName) { if (!m_time.isValid()) |