summaryrefslogtreecommitdiffstats
path: root/src/webenginewidgets
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2021-06-04 11:07:25 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2021-06-17 14:41:41 +0200
commit566a4df270911e1656efef5dbb16e4f95bf6ca8d (patch)
tree115caac26af27c2cb3aa55585154842f31d68b03 /src/webenginewidgets
parent450a491b2d6c74512a3f30c0fb15eabd51e15cbc (diff)
Switch QWebEngineCallbacks in QWebEnginePage to std::function
Pick-to: 6.2 Change-Id: I5b0c1c7ef0966c3cff79184aa0733b59208d6890 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
Diffstat (limited to 'src/webenginewidgets')
-rw-r--r--src/webenginewidgets/api/qwebengineview.cpp12
-rw-r--r--src/webenginewidgets/api/qwebengineview.h5
-rw-r--r--src/webenginewidgets/api/qwebengineview_p.h7
-rw-r--r--src/webenginewidgets/doc/src/qwebenginepage_lgpl.qdoc10
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