diff options
author | Allan Sandfeld Jensen <allan.jensen@theqtcompany.com> | 2015-09-07 16:06:06 +0200 |
---|---|---|
committer | Kai Koehne <kai.koehne@theqtcompany.com> | 2015-10-19 08:38:01 +0000 |
commit | 0e9555838c83ccf5a6a28ee99d6fd556ebf5b3b2 (patch) | |
tree | 3b1709a0e5cfb6ba76f7d532fbd2dfac85393068 /tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp | |
parent | 38a426f21c0d6e47bdc05e5541b79c48cf967a0c (diff) |
Fix ABI breakage due to fullscreen feature
We can not add a new virtual method without breaking ABI on some
platforms, instead we need to use a setter.
The API now uses a request object, and a separate signal for canceling,
since canceling can not be rejected.
Change-Id: If8069c343e86926293c30e8de179bf4e3cbd5886
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
Diffstat (limited to 'tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp')
-rw-r--r-- | tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp | 25 |
1 files changed, 5 insertions, 20 deletions
diff --git a/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp b/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp index 9559f3cf5..150d59061 100644 --- a/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp +++ b/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp @@ -38,6 +38,7 @@ #include <qnetworkreply.h> #include <qnetworkrequest.h> #include <qpa/qplatforminputcontext.h> +#include <qwebenginefullscreenrequest.h> #include <qwebenginehistory.h> #include <qwebenginepage.h> #include <qwebengineprofile.h> @@ -3736,28 +3737,10 @@ void tst_QWebEnginePage::runJavaScript() QVERIFY(watcher.wait()); } -class FullScreenPage : public QWebEnginePage { - Q_OBJECT -public: - FullScreenPage(QObject* parent = 0) - : QWebEnginePage(parent) - , m_isFullScreen(true) - { } - - void setIsFullScreen(bool b) { m_isFullScreen = b; } - -protected: - bool isFullScreen() override - { - return m_isFullScreen; - } - bool m_isFullScreen; -}; - void tst_QWebEnginePage::fullScreenRequested() { JavaScriptCallbackWatcher watcher; - FullScreenPage* page = new FullScreenPage; + QWebEnginePage* page = new QWebEnginePage; QWebEngineView* view = new QWebEngineView; view->setPage(page); view->show(); @@ -3778,7 +3761,9 @@ void tst_QWebEnginePage::fullScreenRequested() page->runJavaScript("document.webkitIsFullScreen", JavaScriptCallback(true)); page->runJavaScript("document.webkitExitFullscreen()", JavaScriptCallbackUndefined()); QVERIFY(watcher.wait()); - page->setIsFullScreen(false); + connect(page, &QWebEnginePage::fullScreenModeRequested, + [](const QWebEngineFullScreenRequest &request) { request.reject(); }); + page->runJavaScript("document.webkitFullscreenEnabled", JavaScriptCallback(true)); QTest::keyPress(qApp->focusWindow(), Qt::Key_Space); QVERIFY(watcher.wait()); |