diff --git a/scriptengines/javascript/runner/javascriptrunner.cpp b/scriptengines/javascript/runner/javascriptrunner.cpp index c101dfc6f..6c6f1b669 100644 --- a/scriptengines/javascript/runner/javascriptrunner.cpp +++ b/scriptengines/javascript/runner/javascriptrunner.cpp @@ -147,9 +147,19 @@ void JavaScriptRunner::reportError(ScriptEnv *env, bool fatal) kDebug() << env->engine()->uncaughtExceptionBacktrace(); } +QString JavaScriptRunner::filePath(const char *type, const QString &file) const +{ + const QString path = m_env->filePathFromScriptContext(type, file); + if (path.isEmpty()) { + return path; + } + + return package()->filePath(type, file); +} + bool JavaScriptRunner::include(const QString &script) { - const QString path = package()->filePath("scripts", script); + const QString path = filePath("scripts", script); if (path.isEmpty()) { return false; } diff --git a/scriptengines/javascript/runner/javascriptrunner.h b/scriptengines/javascript/runner/javascriptrunner.h index 7ae38e8c2..4d84390c0 100644 --- a/scriptengines/javascript/runner/javascriptrunner.h +++ b/scriptengines/javascript/runner/javascriptrunner.h @@ -51,12 +51,12 @@ public: public Q_SLOTS: bool include(const QString &script); -protected: +private: void setupObjects(); void importExtensions(); void reportError(ScriptEnv *engine, bool fatal); + QString filePath(const char *type, const QString &file) const; -private: QScriptEngine *m_engine; ScriptEnv *m_env; QScriptValue m_self;