summaryrefslogtreecommitdiffstats
path: root/src/webenginewidgets/api/qwebenginepage.cpp
diff options
context:
space:
mode:
authorJocelyn Turcotte <jocelyn.turcotte@digia.com>2014-07-07 18:12:15 +0200
committerJocelyn Turcotte <jocelyn.turcotte@digia.com>2014-08-04 08:45:25 +0200
commit1c2a4da1c73bfc2456c59146ce615b7e2122e90e (patch)
tree7690eee799b00b177dc03e1e64706a108bb99abd /src/webenginewidgets/api/qwebenginepage.cpp
parentddd8ab311271b59514ce0748301e634ca988b62b (diff)
Don't inherit from Qt private types
Do the d_ptr magic ourselves to avoid having to include private headers from qtcore, qtgui and qtdeclarative. It is hackish to hide QObject's d_ptr member to have the macros working in a public class, but if anything goes wrong we just need to replace the private macro convenience while maintaining the binary compatibility of the stored extra opaque pointer. Change-Id: Idb92f4f902826bef9068a5c2ef6ea31fc3fa15b2 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
Diffstat (limited to 'src/webenginewidgets/api/qwebenginepage.cpp')
-rw-r--r--src/webenginewidgets/api/qwebenginepage.cpp11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/webenginewidgets/api/qwebenginepage.cpp b/src/webenginewidgets/api/qwebenginepage.cpp
index fd1f54834..10e3dcda5 100644
--- a/src/webenginewidgets/api/qwebenginepage.cpp
+++ b/src/webenginewidgets/api/qwebenginepage.cpp
@@ -42,6 +42,7 @@
#include <QMenu>
#include <QMessageBox>
#include <QStandardPaths>
+#include <QStyle>
#include <QUrl>
QT_BEGIN_NAMESPACE
@@ -162,12 +163,10 @@ void CallbackDirectory::CallbackSharedDataPointer::doDeref()
}
QWebEnginePagePrivate::QWebEnginePagePrivate()
- : QObjectPrivate(QObjectPrivateVersion)
- , adapter(new WebContentsAdapter)
+ : adapter(new WebContentsAdapter)
, history(new QWebEngineHistory(new QWebEngineHistoryPrivate(this)))
, view(0)
{
- adapter->initialize(this);
memset(actions, 0, sizeof(actions));
}
@@ -407,8 +406,12 @@ void QWebEnginePagePrivate::recreateFromSerializedHistory(QDataStream &input)
}
QWebEnginePage::QWebEnginePage(QObject* parent)
- : QObject(*new QWebEnginePagePrivate, parent)
+ : QObject(parent)
+ , d_ptr(new QWebEnginePagePrivate)
{
+ Q_D(QWebEnginePage);
+ d->q_ptr = this;
+ d->adapter->initialize(d);
}
QWebEnginePage::~QWebEnginePage()