diff options
author | Kirill Burtsev <kirill.burtsev@qt.io> | 2021-02-02 21:40:33 +0100 |
---|---|---|
committer | Kirill Burtsev <kirill.burtsev@qt.io> | 2021-02-06 08:42:51 +0100 |
commit | a4fce092cbd877560dd75b38a2e495aaa75f60f3 (patch) | |
tree | 9db557a2e33d763049d97f90b720e6f4b8740809 /tests/auto/widgets/qwebengineview | |
parent | 97e210ef3fe4869041448780a6ca097163414494 (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')
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> |