diff options
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/api/qwebenginepage.cpp | 19 | ||||
-rw-r--r-- | src/core/api/qwebenginepage.h | 3 | ||||
-rw-r--r-- | src/core/doc/src/qwebenginepage_lgpl.qdoc | 3 |
3 files changed, 8 insertions, 17 deletions
diff --git a/src/core/api/qwebenginepage.cpp b/src/core/api/qwebenginepage.cpp index 973826efb..131210fbc 100644 --- a/src/core/api/qwebenginepage.cpp +++ b/src/core/api/qwebenginepage.cpp @@ -2015,17 +2015,6 @@ void QWebEnginePage::runJavaScript(const QString& scriptSource, const std::funct d->m_variantCallbacks.insert(requestId, resultCallback); } -void QWebEnginePage::runJavaScript(const QString &scriptSource, quint32 worldId) -{ - Q_D(QWebEnginePage); - d->ensureInitialized(); - if (d->adapter->lifecycleState() == WebContentsAdapter::LifecycleState::Discarded) { - qWarning("runJavaScript: disabled in Discarded state"); - return; - } - d->adapter->runJavaScript(scriptSource, worldId); -} - void QWebEnginePage::runJavaScript(const QString& scriptSource, quint32 worldId, const std::function<void(const QVariant &)> &resultCallback) { Q_D(QWebEnginePage); @@ -2036,8 +2025,12 @@ void QWebEnginePage::runJavaScript(const QString& scriptSource, quint32 worldId, resultCallback(QVariant()); return; } - quint64 requestId = d->adapter->runJavaScriptCallbackResult(scriptSource, worldId); - d->m_variantCallbacks.insert(requestId, resultCallback); + if (resultCallback) { + quint64 requestId = d->adapter->runJavaScriptCallbackResult(scriptSource, worldId); + d->m_variantCallbacks.insert(requestId, resultCallback); + } else { + d->adapter->runJavaScript(scriptSource, worldId); + } } /*! diff --git a/src/core/api/qwebenginepage.h b/src/core/api/qwebenginepage.h index 73b1bfd3a..4f99d0107 100644 --- a/src/core/api/qwebenginepage.h +++ b/src/core/api/qwebenginepage.h @@ -283,9 +283,8 @@ public: QPointF scrollPosition() const; QSizeF contentsSize() const; - void runJavaScript(const QString &scriptSource, quint32 worldId = 0); void runJavaScript(const QString &scriptSource, const std::function<void(const QVariant &)> &resultCallback); - void runJavaScript(const QString &scriptSource, quint32 worldId, const std::function<void(const QVariant &)> &resultCallback); + void runJavaScript(const QString &scriptSource, quint32 worldId = 0, const std::function<void(const QVariant &)> &resultCallback = {}); QWebEngineScriptCollection &scripts(); QWebEngineSettings *settings() const; diff --git a/src/core/doc/src/qwebenginepage_lgpl.qdoc b/src/core/doc/src/qwebenginepage_lgpl.qdoc index d250e0356..43195deb2 100644 --- a/src/core/doc/src/qwebenginepage_lgpl.qdoc +++ b/src/core/doc/src/qwebenginepage_lgpl.qdoc @@ -740,8 +740,7 @@ */ /*! - \fn void QWebEnginePage::runJavaScript(const QString &scriptSource, quint32 worldId, const std::function<void(const QVariant &)> &resultCallback) - \fn void QWebEnginePage::runJavaScript(const QString &scriptSource, quint32 worldId = 0) + \fn void QWebEnginePage::runJavaScript(const QString &scriptSource, quint32 worldId = 0, const std::function<void(const QVariant &)> &resultCallback = {}) \fn void QWebEnginePage::runJavaScript(const QString &scriptSource, const std::function<void(const QVariant &)> &resultCallback) \since 5.7 |