From 739e276c67d08a156ba426f12094f3d08515d56a Mon Sep 17 00:00:00 2001 From: Michal Klocek Date: Fri, 28 Aug 2020 09:35:24 +0200 Subject: Drop dependency on page in profile Change-Id: Idbec1657522272c895dc1822e83e0d9592c33343 Reviewed-by: Allan Sandfeld Jensen --- src/webenginewidgets/api/qwebenginepage.cpp | 6 ++++++ src/webenginewidgets/api/qwebenginepage.h | 2 ++ src/webenginewidgets/api/qwebengineprofile.cpp | 6 ++---- 3 files changed, 10 insertions(+), 4 deletions(-) (limited to 'src/webenginewidgets') diff --git a/src/webenginewidgets/api/qwebenginepage.cpp b/src/webenginewidgets/api/qwebenginepage.cpp index 4c191e100..5b63f913c 100644 --- a/src/webenginewidgets/api/qwebenginepage.cpp +++ b/src/webenginewidgets/api/qwebenginepage.cpp @@ -39,6 +39,8 @@ #include "qwebenginepage.h" #include "qwebenginepage_p.h" + +#include "qwebenginedownloadrequest_p.h" #include "qwebenginenotificationpresenter_p.h" #include "authentication_dialog_controller.h" #include "profile_adapter.h" @@ -2609,6 +2611,10 @@ void QWebEnginePage::setVisible(bool visible) d->adapter->setVisible(visible); } +QWebEnginePage* QWebEnginePage::fromDownloadRequest(QWebEngineDownloadRequest *request) { + return static_cast(request->d_ptr->m_adapterClient)->q_ptr; +} + QT_END_NAMESPACE #include "moc_qwebenginepage.cpp" diff --git a/src/webenginewidgets/api/qwebenginepage.h b/src/webenginewidgets/api/qwebenginepage.h index 5ac30863f..f842a5eb1 100644 --- a/src/webenginewidgets/api/qwebenginepage.h +++ b/src/webenginewidgets/api/qwebenginepage.h @@ -322,6 +322,8 @@ public: bool isVisible() const; void setVisible(bool visible); + static QWebEnginePage* fromDownloadRequest(QWebEngineDownloadRequest * request); + Q_SIGNALS: void loadStarted(); void loadProgress(int progress); diff --git a/src/webenginewidgets/api/qwebengineprofile.cpp b/src/webenginewidgets/api/qwebengineprofile.cpp index c2a6cdd45..942b969b0 100644 --- a/src/webenginewidgets/api/qwebengineprofile.cpp +++ b/src/webenginewidgets/api/qwebengineprofile.cpp @@ -44,8 +44,6 @@ #include "qwebenginedownloadrequest.h" #include "qwebenginedownloadrequest_p.h" #include "qwebenginenotification.h" -#include "qwebenginepage.h" -#include "qwebenginepage_p.h" #include "qwebenginesettings.h" #include "qwebenginescriptcollection_p.h" #include "qtwebenginecoreglobal.h" @@ -234,9 +232,9 @@ void QWebEngineProfilePrivate::downloadRequested(DownloadItemInfo &info) itemPrivate->savePageFormat = static_cast(info.savePageFormat); itemPrivate->isSavePageDownload = info.isSavePageDownload; if (info.page && info.page->clientType() == QtWebEngineCore::WebContentsAdapterClient::WidgetsClient) - itemPrivate->page = static_cast(info.page)->q_ptr; + itemPrivate->m_adapterClient = info.page; else - itemPrivate->page = nullptr; + itemPrivate->m_adapterClient = nullptr; QWebEngineDownloadRequest *download = new QWebEngineDownloadRequest(itemPrivate, q); -- cgit v1.2.3