diff options
Diffstat (limited to 'src/core/api')
-rw-r--r-- | src/core/api/qwebenginecallback.h | 7 | ||||
-rw-r--r-- | src/core/api/qwebenginecallback_p.h | 6 | ||||
-rw-r--r-- | src/core/api/qwebenginecookiestoreclient.cpp | 4 | ||||
-rw-r--r-- | src/core/api/qwebenginecookiestoreclient.h | 2 | ||||
-rw-r--r-- | src/core/api/qwebenginecookiestoreclient_p.h | 11 | ||||
-rw-r--r-- | src/core/api/qwebengineurlschemehandler.cpp | 1 | ||||
-rw-r--r-- | src/core/api/qwebengineurlschemehandler.h | 3 |
7 files changed, 22 insertions, 12 deletions
diff --git a/src/core/api/qwebenginecallback.h b/src/core/api/qwebenginecallback.h index ddee20d06..b675438f5 100644 --- a/src/core/api/qwebenginecallback.h +++ b/src/core/api/qwebenginecallback.h @@ -81,12 +81,19 @@ public: : d(new QtWebEnginePrivate::QWebEngineCallbackPrivate<T, F>(f)) { } QWebEngineCallback() { } + void swap(QWebEngineCallback &other) Q_DECL_NOTHROW { qSwap(d, other.d); } operator bool() const { return d; } private: friend class QtWebEngineCore::CallbackDirectory; QExplicitlySharedDataPointer<QtWebEnginePrivate::QWebEngineCallbackPrivateBase<T> > d; }; +Q_DECLARE_SHARED(QWebEngineCallback<int>) +Q_DECLARE_SHARED(QWebEngineCallback<const QByteArray &>) +Q_DECLARE_SHARED_NOT_MOVABLE_UNTIL_QT6(QWebEngineCallback<bool>) +Q_DECLARE_SHARED_NOT_MOVABLE_UNTIL_QT6(QWebEngineCallback<const QString &>) +Q_DECLARE_SHARED_NOT_MOVABLE_UNTIL_QT6(QWebEngineCallback<const QVariant &>) + QT_END_NAMESPACE #endif // QWEBENGINECALLBACK_H diff --git a/src/core/api/qwebenginecallback_p.h b/src/core/api/qwebenginecallback_p.h index f0c25fe9e..9bc9b9727 100644 --- a/src/core/api/qwebenginecallback_p.h +++ b/src/core/api/qwebenginecallback_p.h @@ -47,6 +47,7 @@ #include <QVariant> #include <type_traits> +// keep in sync with Q_DECLARE_SHARED... in qwebenginecallback.h #define FOR_EACH_TYPE(F) \ F(bool) \ F(int) \ @@ -227,6 +228,11 @@ void CallbackDirectory::CallbackSharedDataPointer<T>::invokeEmpty() parent->invokeEmptyInternal(callback); } +#define CHECK_RELOCATABLE(x) \ + Q_STATIC_ASSERT((QTypeInfoQuery<QWebEngineCallback< x > >::isRelocatable)); +FOR_EACH_TYPE(CHECK_RELOCATABLE) +#undef CHECK_RELOCATABLE + } // namespace QtWebEngineCore #endif // QWEBENGINECALLBACK_P_H diff --git a/src/core/api/qwebenginecookiestoreclient.cpp b/src/core/api/qwebenginecookiestoreclient.cpp index 167b3f68c..bd43b871d 100644 --- a/src/core/api/qwebenginecookiestoreclient.cpp +++ b/src/core/api/qwebenginecookiestoreclient.cpp @@ -181,7 +181,7 @@ bool QWebEngineCookieStoreClientPrivate::canSetCookie(const QUrl &firstPartyUrl, request.firstPartyUrl = firstPartyUrl; request.cookieLine = cookieLine; request.cookieSource = url; - callbackDirectory.invokeDirectly<const QWebEngineCookieStoreClient::FilterRequest&>(filterCallback, request); + callbackDirectory.invokeDirectly<QWebEngineCookieStoreClient::FilterRequest&>(filterCallback, request); return request.accepted; } return true; @@ -394,7 +394,7 @@ void QWebEngineCookieStoreClient::deleteAllCookies() \sa deleteAllCookiesWithCallback(), getAllCookies() */ -void QWebEngineCookieStoreClient::setCookieFilter(const QWebEngineCallback<const QWebEngineCookieStoreClient::FilterRequest&> &filter) +void QWebEngineCookieStoreClient::setCookieFilter(const QWebEngineCallback<QWebEngineCookieStoreClient::FilterRequest&> &filter) { Q_D(QWebEngineCookieStoreClient); d->filterCallback = filter; diff --git a/src/core/api/qwebenginecookiestoreclient.h b/src/core/api/qwebenginecookiestoreclient.h index 8bdb988e2..4664a8459 100644 --- a/src/core/api/qwebenginecookiestoreclient.h +++ b/src/core/api/qwebenginecookiestoreclient.h @@ -77,7 +77,7 @@ public: void deleteSessionCookiesWithCallback(const QWebEngineCallback<int> &resultCallback); void deleteAllCookiesWithCallback(const QWebEngineCallback<int> &resultCallback); void getAllCookies(const QWebEngineCallback<const QByteArray&> &resultCallback); - void setCookieFilter(const QWebEngineCallback<const FilterRequest&> &filterCallback); + void setCookieFilter(const QWebEngineCallback<FilterRequest&> &filterCallback); #endif void setCookie(const QNetworkCookie &cookie, const QUrl &origin = QUrl()); void deleteCookie(const QNetworkCookie &cookie, const QUrl &origin = QUrl()); diff --git a/src/core/api/qwebenginecookiestoreclient_p.h b/src/core/api/qwebenginecookiestoreclient_p.h index 43652fba6..54f3b9eb7 100644 --- a/src/core/api/qwebenginecookiestoreclient_p.h +++ b/src/core/api/qwebenginecookiestoreclient_p.h @@ -53,8 +53,7 @@ #include "qwebenginecallback_p.h" #include "qwebenginecookiestoreclient.h" -#include <QList> -#include <QMap> +#include <QVector> #include <QNetworkCookie> #include <QUrl> @@ -70,12 +69,12 @@ class QWEBENGINE_PRIVATE_EXPORT QWebEngineCookieStoreClientPrivate { QNetworkCookie cookie; QUrl origin; }; - + friend class QTypeInfo<CookieData>; public: Q_DECLARE_PUBLIC(QWebEngineCookieStoreClient) QtWebEngineCore::CallbackDirectory callbackDirectory; - QWebEngineCallback<const QWebEngineCookieStoreClient::FilterRequest&> filterCallback; - QList<CookieData> m_pendingUserCookies; + QWebEngineCallback<QWebEngineCookieStoreClient::FilterRequest&> filterCallback; + QVector<CookieData> m_pendingUserCookies; quint64 m_nextCallbackId; bool m_deleteSessionCookiesPending; bool m_deleteAllCookiesPending; @@ -102,6 +101,8 @@ public: void onCookieChanged(const QNetworkCookie &cookie, bool removed); }; +Q_DECLARE_TYPEINFO(QWebEngineCookieStoreClientPrivate::CookieData, Q_MOVABLE_TYPE); + QT_END_NAMESPACE #endif // QWEBENGINECOOKIESTORECLIENT_P_H diff --git a/src/core/api/qwebengineurlschemehandler.cpp b/src/core/api/qwebengineurlschemehandler.cpp index f887e4e98..7f9ebaf48 100644 --- a/src/core/api/qwebengineurlschemehandler.cpp +++ b/src/core/api/qwebengineurlschemehandler.cpp @@ -75,7 +75,6 @@ QWebEngineUrlSchemeHandler::QWebEngineUrlSchemeHandler(QObject *parent) QWebEngineUrlSchemeHandler::~QWebEngineUrlSchemeHandler() { Q_EMIT destroyed(this); - delete d_ptr; } /*! diff --git a/src/core/api/qwebengineurlschemehandler.h b/src/core/api/qwebengineurlschemehandler.h index 8c1e52646..66aebe00d 100644 --- a/src/core/api/qwebengineurlschemehandler.h +++ b/src/core/api/qwebengineurlschemehandler.h @@ -48,7 +48,6 @@ class URLRequestContextGetterQt; QT_BEGIN_NAMESPACE class QWebEngineUrlRequestJob; -class QWebEngineUrlSchemeHandlerPrivate; class QWEBENGINE_EXPORT QWebEngineUrlSchemeHandler : public QObject { Q_OBJECT @@ -63,8 +62,6 @@ Q_SIGNALS: private: Q_DISABLE_COPY(QWebEngineUrlSchemeHandler) - Q_DECLARE_PRIVATE(QWebEngineUrlSchemeHandler) - QWebEngineUrlSchemeHandlerPrivate *d_ptr; }; QT_END_NAMESPACE |