summaryrefslogtreecommitdiffstats
path: root/tests/auto/widgets/qwebengineview
diff options
context:
space:
mode:
authorKirill Burtsev <kirill.burtsev@qt.io>2021-02-02 21:40:33 +0100
committerKirill Burtsev <kirill.burtsev@qt.io>2021-02-06 08:42:51 +0100
commita4fce092cbd877560dd75b38a2e495aaa75f60f3 (patch)
tree9db557a2e33d763049d97f90b720e6f4b8740809 /tests/auto/widgets/qwebengineview
parent97e210ef3fe4869041448780a6ca097163414494 (diff)
Remove frame metadata observer (RenderWidgetHostViewQt) on destroy
Change-Id: I9eac9537b60ba35a53e85c6437bb67b59bf0e35d Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
Diffstat (limited to 'tests/auto/widgets/qwebengineview')
-rw-r--r--tests/auto/widgets/qwebengineview/resources/dummy.html6
-rw-r--r--tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp20
-rw-r--r--tests/auto/widgets/qwebengineview/tst_qwebengineview.qrc1
3 files changed, 27 insertions, 0 deletions
diff --git a/tests/auto/widgets/qwebengineview/resources/dummy.html b/tests/auto/widgets/qwebengineview/resources/dummy.html
new file mode 100644
index 000000000..9075f27c3
--- /dev/null
+++ b/tests/auto/widgets/qwebengineview/resources/dummy.html
@@ -0,0 +1,6 @@
+<html><head>
+<title>Dummy simple page without real content</title>
+<link rel='icon' href='resources/image2.png'/>
+</head><body>
+<a>This is test content</a>
+</body></html>
diff --git a/tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp b/tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp
index 2588852ce..ed62d3638 100644
--- a/tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp
+++ b/tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp
@@ -168,6 +168,7 @@ private Q_SLOTS:
void setPagePreservesExplicitPage();
void setViewPreservesExplicitPage();
void closeDiscardsPage();
+ void loadAfterRendererCrashed();
};
// This will be called before the first test function is executed.
@@ -3387,5 +3388,24 @@ void tst_QWebEngineView::closeDiscardsPage()
QCOMPARE(page.lifecycleState(), QWebEnginePage::LifecycleState::Discarded);
}
+
+void tst_QWebEngineView::loadAfterRendererCrashed()
+{
+ QWebEngineView view;
+ view.resize(640, 480);
+ view.show();
+ QVERIFY(QTest::qWaitForWindowExposed(&view));
+
+ bool terminated = false;
+ connect(view.page(), &QWebEnginePage::renderProcessTerminated, [&] () { terminated = true; });
+ view.load(QUrl("chrome://crash"));
+ QTRY_VERIFY_WITH_TIMEOUT(terminated, 30000);
+
+ QSignalSpy loadSpy(&view, &QWebEngineView::loadFinished);
+ view.load(QUrl("qrc:///resources/dummy.html"));
+ QTRY_COMPARE(loadSpy.count(), 1);
+ QVERIFY(loadSpy.first().first().toBool());
+}
+
QTEST_MAIN(tst_QWebEngineView)
#include "tst_qwebengineview.moc"
diff --git a/tests/auto/widgets/qwebengineview/tst_qwebengineview.qrc b/tests/auto/widgets/qwebengineview/tst_qwebengineview.qrc
index a09be0399..a0e81e242 100644
--- a/tests/auto/widgets/qwebengineview/tst_qwebengineview.qrc
+++ b/tests/auto/widgets/qwebengineview/tst_qwebengineview.qrc
@@ -6,5 +6,6 @@
<file>resources/scrolltest_page.html</file>
<file>resources/keyboardEvents.html</file>
<file>resources/image2.png</file>
+ <file>resources/dummy.html</file>
</qresource>
</RCC>