summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeter Varga <pvarga@inf.u-szeged.hu>2014-10-07 10:08:27 +0200
committerPeter Varga <pvarga@inf.u-szeged.hu>2014-10-07 13:37:27 +0200
commit093667a70fb2b12bb7dca333674854d2696aac27 (patch)
tree6f78a3c8a0eef93d6dd75786453b2688953382f2
parent5e572e88efa7ba7c2b9138ec19e606d3e345ac90 (diff)
Fix loadFinished signal in case of interrupting error page loading
If the error page loading is interrupted by loading of another page the signals of the second page should not be suppressed. Change-Id: I537daabf80ffed005acaaf2a6019e52a3250c523 Reviewed-by: Andras Becsi <andras.becsi@digia.com> Reviewed-by: Zeno Albisser <zeno.albisser@digia.com> Reviewed-by: Adam Kallai <kadam@inf.u-szeged.hu>
-rw-r--r--src/core/web_contents_delegate_qt.cpp1
-rw-r--r--tests/auto/widgets/qwebengineframe/tst_qwebengineframe.cpp2
2 files changed, 3 insertions, 0 deletions
diff --git a/src/core/web_contents_delegate_qt.cpp b/src/core/web_contents_delegate_qt.cpp
index ff31e081a..c2cccfedb 100644
--- a/src/core/web_contents_delegate_qt.cpp
+++ b/src/core/web_contents_delegate_qt.cpp
@@ -139,6 +139,7 @@ void WebContentsDelegateQt::DidStartProvisionalLoadForFrame(int64 frame_id, int6
if (!is_main_frame)
return;
+ m_loadingErrorFrameList.clear();
m_viewClient->loadStarted(toQt(validated_url));
}
diff --git a/tests/auto/widgets/qwebengineframe/tst_qwebengineframe.cpp b/tests/auto/widgets/qwebengineframe/tst_qwebengineframe.cpp
index d8ffe0124..7ad18cd0f 100644
--- a/tests/auto/widgets/qwebengineframe/tst_qwebengineframe.cpp
+++ b/tests/auto/widgets/qwebengineframe/tst_qwebengineframe.cpp
@@ -353,6 +353,7 @@ void tst_QWebEngineFrame::requestedUrlAfterSetAndLoadFailures()
const QUrl first("http://abcdef.abcdef/");
page.setUrl(first);
::waitForSignal(&page, SIGNAL(loadFinished(bool)));
+ QCOMPARE(spy.count(), 1);
QCOMPARE(page.url(), first);
QCOMPARE(page.requestedUrl(), first);
QVERIFY(!spy.at(0).first().toBool());
@@ -362,6 +363,7 @@ void tst_QWebEngineFrame::requestedUrlAfterSetAndLoadFailures()
page.load(second);
::waitForSignal(&page, SIGNAL(loadFinished(bool)));
+ QCOMPARE(spy.count(), 2);
QCOMPARE(page.url(), first);
QCOMPARE(page.requestedUrl(), second);
QVERIFY(!spy.at(1).first().toBool());