diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2021-06-04 11:07:25 +0200 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2021-06-18 00:59:32 +0000 |
commit | 75522d57a8a8d4d038dc5c0954ce823f290ca7e7 (patch) | |
tree | 08f24915b696402fc45dc095e288f509750b3081 /src/webenginewidgets | |
parent | 267ea323460766b146cf68d8446b8ea7c45f754f (diff) |
Switch QWebEngineCallbacks in QWebEnginePage to std::function
Change-Id: I5b0c1c7ef0966c3cff79184aa0733b59208d6890
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
(cherry picked from commit 566a4df270911e1656efef5dbb16e4f95bf6ca8d)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Diffstat (limited to 'src/webenginewidgets')
-rw-r--r-- | src/webenginewidgets/api/qwebengineview.cpp | 12 | ||||
-rw-r--r-- | src/webenginewidgets/api/qwebengineview.h | 5 | ||||
-rw-r--r-- | src/webenginewidgets/api/qwebengineview_p.h | 7 | ||||
-rw-r--r-- | src/webenginewidgets/doc/src/qwebenginepage_lgpl.qdoc | 10 |
4 files changed, 19 insertions, 15 deletions
diff --git a/src/webenginewidgets/api/qwebengineview.cpp b/src/webenginewidgets/api/qwebengineview.cpp index 65b53103a..b2eb17ec7 100644 --- a/src/webenginewidgets/api/qwebengineview.cpp +++ b/src/webenginewidgets/api/qwebengineview.cpp @@ -517,7 +517,7 @@ void QWebEngineViewPrivate::didPrintPage(quint64 requestId, QSharedPointer<QByte if (!currentPrinter) { if (!result.data()) return; - page->d_ptr->m_callbacks.invoke(requestId, *(result.data())); + m_callbacks.invoke(requestId, *(result.data())); return; } @@ -545,7 +545,7 @@ void QWebEngineViewPrivate::didPrintPage(quint64 requestId, QSharedPointer<QByte #else // we should never enter this branch, but just for safe-keeping... Q_UNUSED(result); - page->d_ptr->m_callbacks.invoke(requestId, QByteArray()); + m_callbacks.invoke(requestId, QByteArray()); #endif } @@ -1006,19 +1006,19 @@ void QWebEngineView::printToPdf(const QString &filePath, const QPageLayout &layo */ void QWebEngineView::printToPdf(const QWebEngineCallback<const QByteArray&> &resultCallback, const QPageLayout &layout) { -#if QT_CONFIG(webengine_printing_and_pdf) Q_D(QWebEngineView); +#if QT_CONFIG(webengine_printing_and_pdf) if (d->currentPrinter) { qWarning("Cannot print to PDF while printing at the same time."); - page()->d_ptr->m_callbacks.invokeEmpty(resultCallback); + d->m_callbacks.invokeEmpty(resultCallback); return; } page()->d_ptr->ensureInitialized(); quint64 requestId = page()->d_ptr->adapter->printToPDFCallbackResult(layout); - page()->d_ptr->m_callbacks.registerCallback(requestId, resultCallback); + d->m_callbacks.registerCallback(requestId, resultCallback); #else Q_UNUSED(layout); - page()->d_ptr->m_callbacks.invokeEmpty(resultCallback); + d->m_callbacks.invokeEmpty(resultCallback); #endif } diff --git a/src/webenginewidgets/api/qwebengineview.h b/src/webenginewidgets/api/qwebengineview.h index 90a2d4118..3faa07a6b 100644 --- a/src/webenginewidgets/api/qwebengineview.h +++ b/src/webenginewidgets/api/qwebengineview.h @@ -45,9 +45,10 @@ #include <QtWidgets/qwidget.h> #include <QtWebEngineWidgets/qtwebenginewidgetsglobal.h> -#include <QtWebEngineCore/qwebenginepage.h> -#include <QtWebEngineCore/qwebenginehttprequest.h> +#include <QtWebEngineCore/qwebenginecallback.h> #include <QtWebEngineCore/qwebenginecontextmenurequest.h> +#include <QtWebEngineCore/qwebenginehttprequest.h> +#include <QtWebEngineCore/qwebenginepage.h> QT_BEGIN_NAMESPACE class QContextMenuEvent; diff --git a/src/webenginewidgets/api/qwebengineview_p.h b/src/webenginewidgets/api/qwebengineview_p.h index 71e7d04f7..d49b0e74e 100644 --- a/src/webenginewidgets/api/qwebengineview_p.h +++ b/src/webenginewidgets/api/qwebengineview_p.h @@ -52,11 +52,13 @@ // #include <QtWebEngineWidgets/qwebengineview.h> -#include "qwebenginecontextmenurequest.h" -#include "render_view_context_menu_qt.h" +#include <QtWebEngineCore/private/qwebenginecallback_p.h> #include <QtWebEngineCore/private/qwebenginepage_p.h> +#include <QtWebEngineCore/qwebenginecontextmenurequest.h> #include <QtWidgets/qaccessiblewidget.h> +#include "render_view_context_menu_qt.h" + namespace QtWebEngineCore { class QPrinter; class RenderWidgetHostViewQtDelegateWidget; @@ -116,6 +118,7 @@ public: #if QT_CONFIG(webengine_printing_and_pdf) QPrinter *currentPrinter; #endif + mutable QtWebEngineCore::CallbackDirectory m_callbacks; }; #ifndef QT_NO_ACCESSIBILITY diff --git a/src/webenginewidgets/doc/src/qwebenginepage_lgpl.qdoc b/src/webenginewidgets/doc/src/qwebenginepage_lgpl.qdoc index d567f9988..bbd3d886e 100644 --- a/src/webenginewidgets/doc/src/qwebenginepage_lgpl.qdoc +++ b/src/webenginewidgets/doc/src/qwebenginepage_lgpl.qdoc @@ -640,7 +640,7 @@ */ /*! - \fn void QWebEnginePage::toHtml(const QWebEngineCallback<const QString &> &resultCallback) const + \fn void QWebEnginePage::toHtml(const std::function<void(const QString &)> &resultCallback) const Asynchronous method to retrieve the page's content as HTML, enclosed in HTML and BODY tags. Upon successful completion, \a resultCallback is called with the page's content. @@ -654,7 +654,7 @@ */ /*! - \fn void QWebEnginePage::toPlainText(const QWebEngineCallback<const QString &> &resultCallback) const + \fn void QWebEnginePage::toPlainText(const std::function<void(const QString &)> &resultCallback) const Asynchronous method to retrieve the page's content converted to plain text, completely stripped of all HTML formatting. Upon successful completion, \a resultCallback is called with the page's content. @@ -768,10 +768,10 @@ */ /*! - \fn void QWebEnginePage::runJavaScript(const QString &scriptSource, quint32 worldId, const QWebEngineCallback<const QVariant &> &resultCallback) + \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) - \fn void QWebEnginePage::runJavaScript(const QString& scriptSource) - \fn void QWebEnginePage::runJavaScript(const QString &scriptSource, const QWebEngineCallback<const QVariant &> &resultCallback) + \fn void QWebEnginePage::runJavaScript(const QString &scriptSource) + \fn void QWebEnginePage::runJavaScript(const QString &scriptSource, const std::function<void(const QVariant &)> &resultCallback) \since 5.7 Runs the JavaScript code contained in \a scriptSource without checking |