Commit 82b5f621 authored by Joerg Bornemann's avatar Joerg Bornemann
Browse files

Make use of QObject's d-pointer in QWebEngineCookieStore


This safes us from managing d_ptr/q_ptr pairs and saves a bit of memory.

Change-Id: Icdd692c5ddf0980de980bebb691ecf51b738acaa
Reviewed-by: default avatarMichal Klocek <michal.klocek@theqtcompany.com>
Reviewed-by: default avatarKai Koehne <kai.koehne@theqtcompany.com>
Reviewed-by: default avatarAllan Sandfeld Jensen <allan.jensen@theqtcompany.com>
Showing with 10 additions and 12 deletions
...@@ -46,13 +46,12 @@ QT_BEGIN_NAMESPACE ...@@ -46,13 +46,12 @@ QT_BEGIN_NAMESPACE
using namespace QtWebEngineCore; using namespace QtWebEngineCore;
QWebEngineCookieStorePrivate::QWebEngineCookieStorePrivate(QWebEngineCookieStore* q) QWebEngineCookieStorePrivate::QWebEngineCookieStorePrivate()
: m_nextCallbackId(CallbackDirectory::ReservedCallbackIdsEnd) : m_nextCallbackId(CallbackDirectory::ReservedCallbackIdsEnd)
, m_deleteSessionCookiesPending(false) , m_deleteSessionCookiesPending(false)
, m_deleteAllCookiesPending(false) , m_deleteAllCookiesPending(false)
, m_getAllCookiesPending(false) , m_getAllCookiesPending(false)
, delegate(0) , delegate(0)
, q_ptr(q)
{ {
} }
...@@ -246,8 +245,7 @@ bool QWebEngineCookieStorePrivate::canSetCookie(const QUrl &firstPartyUrl, const ...@@ -246,8 +245,7 @@ bool QWebEngineCookieStorePrivate::canSetCookie(const QUrl &firstPartyUrl, const
*/ */
QWebEngineCookieStore::QWebEngineCookieStore(QObject *parent) QWebEngineCookieStore::QWebEngineCookieStore(QObject *parent)
: QObject(parent) : QObject(*new QWebEngineCookieStorePrivate, parent)
, d_ptr(new QWebEngineCookieStorePrivate(this))
{ {
} }
......
...@@ -94,7 +94,6 @@ private: ...@@ -94,7 +94,6 @@ private:
friend class QtWebEngineCore::CookieMonsterDelegateQt; friend class QtWebEngineCore::CookieMonsterDelegateQt;
Q_DISABLE_COPY(QWebEngineCookieStore) Q_DISABLE_COPY(QWebEngineCookieStore)
Q_DECLARE_PRIVATE(QWebEngineCookieStore) Q_DECLARE_PRIVATE(QWebEngineCookieStore)
QScopedPointer<QWebEngineCookieStorePrivate> d_ptr;
}; };
QT_END_NAMESPACE QT_END_NAMESPACE
......
...@@ -56,6 +56,7 @@ ...@@ -56,6 +56,7 @@
#include <QVector> #include <QVector>
#include <QNetworkCookie> #include <QNetworkCookie>
#include <QUrl> #include <QUrl>
#include <QtCore/private/qobject_p.h>
namespace QtWebEngineCore { namespace QtWebEngineCore {
class CookieMonsterDelegateQt; class CookieMonsterDelegateQt;
...@@ -63,7 +64,9 @@ class CookieMonsterDelegateQt; ...@@ -63,7 +64,9 @@ class CookieMonsterDelegateQt;
QT_BEGIN_NAMESPACE QT_BEGIN_NAMESPACE
class QWEBENGINE_PRIVATE_EXPORT QWebEngineCookieStorePrivate { class QWEBENGINE_PRIVATE_EXPORT QWebEngineCookieStorePrivate : public QObjectPrivate
{
Q_DECLARE_PUBLIC(QWebEngineCookieStore)
struct CookieData { struct CookieData {
quint64 callbackId; quint64 callbackId;
QNetworkCookie cookie; QNetworkCookie cookie;
...@@ -71,7 +74,6 @@ class QWEBENGINE_PRIVATE_EXPORT QWebEngineCookieStorePrivate { ...@@ -71,7 +74,6 @@ class QWEBENGINE_PRIVATE_EXPORT QWebEngineCookieStorePrivate {
}; };
friend class QTypeInfo<CookieData>; friend class QTypeInfo<CookieData>;
public: public:
Q_DECLARE_PUBLIC(QWebEngineCookieStore)
QtWebEngineCore::CallbackDirectory callbackDirectory; QtWebEngineCore::CallbackDirectory callbackDirectory;
QWebEngineCallback<QWebEngineCookieStore::FilterRequest&> filterCallback; QWebEngineCallback<QWebEngineCookieStore::FilterRequest&> filterCallback;
QVector<CookieData> m_pendingUserCookies; QVector<CookieData> m_pendingUserCookies;
...@@ -81,9 +83,8 @@ public: ...@@ -81,9 +83,8 @@ public:
bool m_getAllCookiesPending; bool m_getAllCookiesPending;
QtWebEngineCore::CookieMonsterDelegateQt *delegate; QtWebEngineCore::CookieMonsterDelegateQt *delegate;
QWebEngineCookieStore *q_ptr;
QWebEngineCookieStorePrivate(QWebEngineCookieStore *q); QWebEngineCookieStorePrivate();
void processPendingUserCookies(); void processPendingUserCookies();
void setCookie(const QWebEngineCallback<bool> &callback, const QNetworkCookie &cookie, const QUrl &origin); void setCookie(const QWebEngineCallback<bool> &callback, const QNetworkCookie &cookie, const QUrl &origin);
......
...@@ -152,7 +152,7 @@ void CookieMonsterDelegateQt::setClient(QWebEngineCookieStore *client) ...@@ -152,7 +152,7 @@ void CookieMonsterDelegateQt::setClient(QWebEngineCookieStore *client)
if (!m_client) if (!m_client)
return; return;
m_client->d_ptr->delegate = this; m_client->d_func()->delegate = this;
if (hasCookieMonster()) if (hasCookieMonster())
m_client->d_func()->processPendingUserCookies(); m_client->d_func()->processPendingUserCookies();
...@@ -163,14 +163,14 @@ bool CookieMonsterDelegateQt::canSetCookie(const QUrl &firstPartyUrl, const QByt ...@@ -163,14 +163,14 @@ bool CookieMonsterDelegateQt::canSetCookie(const QUrl &firstPartyUrl, const QByt
if (!m_client) if (!m_client)
return true; return true;
return m_client->d_ptr->canSetCookie(firstPartyUrl, cookieLine, url); return m_client->d_func()->canSetCookie(firstPartyUrl, cookieLine, url);
} }
void CookieMonsterDelegateQt::OnCookieChanged(const net::CanonicalCookie& cookie, bool removed, ChangeCause cause) void CookieMonsterDelegateQt::OnCookieChanged(const net::CanonicalCookie& cookie, bool removed, ChangeCause cause)
{ {
if (!m_client) if (!m_client)
return; return;
m_client->d_ptr->onCookieChanged(toQt(cookie), removed); m_client->d_func()->onCookieChanged(toQt(cookie), removed);
} }
} }
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment