diff options
author | Kai Koehne <kai.koehne@theqtcompany.com> | 2015-11-09 15:23:32 +0100 |
---|---|---|
committer | Kai Koehne <kai.koehne@theqtcompany.com> | 2015-11-12 12:36:15 +0000 |
commit | 70a376d73718cc4ff8d96f6761b8c1896ca25c23 (patch) | |
tree | 27111f884d6c8dcb04f0d0f52217413b99452b44 /src/webenginewidgets/api/qwebenginefullscreenrequest.cpp | |
parent | 93745b5452c2ec69c04be2a2043c0937327ee556 (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.cpp | 22 |
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 |