summaryrefslogtreecommitdiffstats
path: root/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@theqtcompany.com>2015-09-07 16:06:06 +0200
committerKai Koehne <kai.koehne@theqtcompany.com>2015-10-19 08:38:01 +0000
commit0e9555838c83ccf5a6a28ee99d6fd556ebf5b3b2 (patch)
tree3b1709a0e5cfb6ba76f7d532fbd2dfac85393068 /tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp
parent38a426f21c0d6e47bdc05e5541b79c48cf967a0c (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.cpp25
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());