summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2018-08-22 16:12:38 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2018-09-05 14:43:55 +0000
commit1e11575a32685f7ac01f8b0cd425fa8d3ce3de33 (patch)
tree8e9182bd8eb9866b35ed9507275428f184bf2665 /tests
parented1c711532227a7504fe6a700d9051a443c3a61b (diff)
Avoid reattach of page before deleting it
Also fixes potential double delete if you do delete a view's implied page. Change-Id: Ib74128c0801f992694f4a5d8c148974039a6c7b2 Reviewed-by: Michal Klocek <michal.klocek@qt.io> Reviewed-by: Zakor Tamas <ztamas@inf.u-szeged.hu>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp b/tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp
index 5f30fa6b9..1499a5f05 100644
--- a/tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp
+++ b/tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp
@@ -188,6 +188,7 @@ private Q_SLOTS:
void webUIURLs();
void visibilityState();
void jsKeyboardEvent();
+ void deletePage();
};
// This will be called before the first test function is executed.
@@ -2793,5 +2794,19 @@ void tst_QWebEngineView::jsKeyboardEvent()
QCOMPARE(evaluateJavaScriptSync(view.page(), "log"), expected);
}
+void tst_QWebEngineView::deletePage()
+{
+ QWebEngineView view;
+ QWebEnginePage *page = view.page();
+ QVERIFY(page);
+ QCOMPARE(page->parent(), &view);
+ delete page;
+ // Test that a new page is created and that it is useful:
+ QVERIFY(view.page());
+ QSignalSpy spy(view.page(), &QWebEnginePage::loadFinished);
+ view.page()->load(QStringLiteral("about:blank"));
+ QTRY_VERIFY(spy.count());
+}
+
QTEST_MAIN(tst_QWebEngineView)
#include "tst_qwebengineview.moc"