summaryrefslogtreecommitdiffstats
path: root/src/webenginewidgets/api/qwebenginefullscreenrequest.cpp
diff options
context:
space:
mode:
authorKai Koehne <kai.koehne@theqtcompany.com>2015-11-09 15:23:32 +0100
committerKai Koehne <kai.koehne@theqtcompany.com>2015-11-12 12:36:15 +0000
commit70a376d73718cc4ff8d96f6761b8c1896ca25c23 (patch)
tree27111f884d6c8dcb04f0d0f52217413b99452b44 /src/webenginewidgets/api/qwebenginefullscreenrequest.cpp
parent93745b5452c2ec69c04be2a2043c0937327ee556 (diff)
Make QWebEngineFullScreenRequest const correct
Let QWebEngineFullScreenRequest be logically const-correct. It feels weird to be allowed to call "accept()" or "reject()" on a constant object. Also allow the user to copy the request, but check whether the page is still valid in the implementations of accept(), reject(). Change-Id: Ibf139a126734fc8e2db68ec26dc8f24cd4438942 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
Diffstat (limited to 'src/webenginewidgets/api/qwebenginefullscreenrequest.cpp')
-rw-r--r--src/webenginewidgets/api/qwebenginefullscreenrequest.cpp22
1 files changed, 16 insertions, 6 deletions
diff --git a/src/webenginewidgets/api/qwebenginefullscreenrequest.cpp b/src/webenginewidgets/api/qwebenginefullscreenrequest.cpp
index 6223c070d..7db86e6f2 100644
--- a/src/webenginewidgets/api/qwebenginefullscreenrequest.cpp
+++ b/src/webenginewidgets/api/qwebenginefullscreenrequest.cpp
@@ -39,21 +39,31 @@
QT_BEGIN_NAMESPACE
-QWebEngineFullScreenRequest::QWebEngineFullScreenRequest(QWebEnginePagePrivate *pagePrivate, const QUrl &origin, bool fullscreen)
- : m_pagePrivate(pagePrivate)
+QWebEngineFullScreenRequest::QWebEngineFullScreenRequest(QWebEnginePage *page, const QUrl &origin, bool fullscreen)
+ : m_page(page)
, m_origin(origin)
, m_toggleOn(fullscreen)
{
}
-void QWebEngineFullScreenRequest::reject() const
+void QWebEngineFullScreenRequest::reject()
{
- m_pagePrivate->setFullScreenMode(!m_toggleOn);
+ if (!m_page) {
+ qWarning("Cannot reject QWebEngineFullScreenRequest: Originating page is already deleted");
+ return;
+ }
+
+ m_page->d_func()->setFullScreenMode(!m_toggleOn);
}
-void QWebEngineFullScreenRequest::accept() const
+void QWebEngineFullScreenRequest::accept()
{
- m_pagePrivate->setFullScreenMode(m_toggleOn);
+ if (!m_page) {
+ qWarning("Cannot accept QWebEngineFullScreenRequest: Originating page is already deleted");
+ return;
+ }
+
+ m_page->d_func()->setFullScreenMode(m_toggleOn);
}
QT_END_NAMESPACE