From 8c3178b64d992435cb90a426ff075fee6778e04a Mon Sep 17 00:00:00 2001 From: Andras Becsi Date: Mon, 11 May 2015 14:32:01 +0200 Subject: Move QWebEngineCallback to core API and templatize CallbackDirectory This undocumented helper template will also be utilized by the core API since Chromium's content API heavily relies on callbacks. To make the internal CallbackDirectory easily extendable with new types, templatize its callback registration and dispatching functions to be able to replace its type switches and the internal union. Change-Id: I3f636fef48973ac95253f1c1bd396550286e571e Reviewed-by: Pierre Rossi --- src/webenginewidgets/api/qwebenginepage.h | 32 +------------------------------ 1 file changed, 1 insertion(+), 31 deletions(-) (limited to 'src/webenginewidgets/api/qwebenginepage.h') diff --git a/src/webenginewidgets/api/qwebenginepage.h b/src/webenginewidgets/api/qwebenginepage.h index 4281a70a0..16b33a196 100644 --- a/src/webenginewidgets/api/qwebenginepage.h +++ b/src/webenginewidgets/api/qwebenginepage.h @@ -39,6 +39,7 @@ #include #include +#include #include #include @@ -56,37 +57,6 @@ class QWebEngineProfile; class QWebEngineScriptCollection; class QWebEngineSettings; -namespace QtWebEnginePrivate { - -template -class QWebEngineCallbackPrivateBase : public QSharedData { -public: - virtual ~QWebEngineCallbackPrivateBase() {} - virtual void operator()(T) = 0; -}; - -template -class QWebEngineCallbackPrivate : public QWebEngineCallbackPrivateBase { -public: - QWebEngineCallbackPrivate(F callable) : m_callable(callable) {} - virtual void operator()(T value) Q_DECL_OVERRIDE { m_callable(value); } -private: - F m_callable; -}; - -} // namespace QtWebEnginePrivate - -template -class QWebEngineCallback { -public: - template - QWebEngineCallback(F f) : d(new QtWebEnginePrivate::QWebEngineCallbackPrivate(f)) { } - QWebEngineCallback() { } -private: - QExplicitlySharedDataPointer > d; - friend class QWebEnginePage; -}; - class QWEBENGINEWIDGETS_EXPORT QWebEnginePage : public QObject { Q_OBJECT Q_PROPERTY(QString selectedText READ selectedText) -- cgit v1.2.3