From 4c4ac0df9cea39b8d2a78c3563dda5fee199c9e8 Mon Sep 17 00:00:00 2001 From: Kirill Burtsev Date: Thu, 24 Mar 2022 13:46:51 +0100 Subject: Introduce http status code domain for loading info Fix inconsistency in reporting load info error category for http status codes, which across versions was reported either as internal error category or just no error domain. Add new separate domain for http status codes. [ChangeLog][QWebEngineLoadingInfo] Added HttpStatusCodeDomain for http status code range of errors Fixes: QTBUG-94963 Change-Id: I9fd496248c6fa33c424d758e9a0be99758aaf061 Reviewed-by: Qt CI Bot Reviewed-by: Benjamin Terrier Reviewed-by: Michal Klocek --- tests/auto/quick/publicapi/tst_publicapi.cpp | 1 + tests/auto/widgets/loadsignals/tst_loadsignals.cpp | 16 ++++++++-------- 2 files changed, 9 insertions(+), 8 deletions(-) (limited to 'tests/auto') diff --git a/tests/auto/quick/publicapi/tst_publicapi.cpp b/tests/auto/quick/publicapi/tst_publicapi.cpp index 0608e3a13..e6357ebc2 100644 --- a/tests/auto/quick/publicapi/tst_publicapi.cpp +++ b/tests/auto/quick/publicapi/tst_publicapi.cpp @@ -314,6 +314,7 @@ static const QStringList expectedAPI = QStringList() << "QWebEngineLoadingInfo.LoadStartedStatus --> LoadStatus" << "QWebEngineLoadingInfo.LoadStoppedStatus --> LoadStatus" << "QWebEngineLoadingInfo.LoadSucceededStatus --> LoadStatus" + << "QWebEngineLoadingInfo.HttpStatusCodeDomain --> ErrorDomain" << "QWebEngineLoadingInfo.CertificateErrorDomain --> ErrorDomain" << "QWebEngineLoadingInfo.ConnectionErrorDomain --> ErrorDomain" << "QWebEngineLoadingInfo.DnsErrorDomain --> ErrorDomain" diff --git a/tests/auto/widgets/loadsignals/tst_loadsignals.cpp b/tests/auto/widgets/loadsignals/tst_loadsignals.cpp index 42e23e83b..1adbd0f50 100644 --- a/tests/auto/widgets/loadsignals/tst_loadsignals.cpp +++ b/tests/auto/widgets/loadsignals/tst_loadsignals.cpp @@ -242,11 +242,11 @@ void tst_LoadSignals::rejectNavigationRequest_data() QTest::newRow("SamePageImmediate") << QUrl("qrc:///resources/page5.html") << QUrl("qrc:///resources/page5.html#anchor") - << 1 << SignalsOrderOnce << 200 << QWebEngineLoadingInfo::InternalErrorDomain; // FIXME wrong error domain + << 1 << SignalsOrderOnce << 200 << QWebEngineLoadingInfo::HttpStatusCodeDomain; QTest::newRow("SamePageDeferred") << QUrl("qrc:///resources/page3.html") << QUrl("qrc:///resources/page3.html#anchor") - << 1 << SignalsOrderOnce << 200 << QWebEngineLoadingInfo::InternalErrorDomain; // FIXME wrong error domain + << 1 << SignalsOrderOnce << 200 << QWebEngineLoadingInfo::HttpStatusCodeDomain; QTest::newRow("OtherPageImmediate") << QUrl("qrc:///resources/page6.html") << QUrl("qrc:///resources/page2.html#anchor") @@ -415,7 +415,7 @@ void tst_LoadSignals::numberOfStartedAndFinishedSignalsIsSame() QTRY_LOOP_IMPL(loadStartedSpy.size() || loadFinishedSpy.size(), 1000, 100); QCOMPARE(page.signalsOrder, SignalsOrderOnce); QCOMPARE(page.loadingInfos[1].errorCode(), 200); - QCOMPARE(page.loadingInfos[1].errorDomain(), QWebEngineLoadingInfo::InternalErrorDomain); // FIXME should be no error or separate domain? + QCOMPARE(page.loadingInfos[1].errorDomain(), QWebEngineLoadingInfo::HttpStatusCodeDomain); } void tst_LoadSignals::loadFinishedAfterNotFoundError_data() @@ -426,7 +426,7 @@ void tst_LoadSignals::loadFinishedAfterNotFoundError_data() QTest::addColumn("errorDomain"); QTest::addRow("rfc_invalid") << true << false << -105 << int(QWebEngineLoadingInfo::ConnectionErrorDomain); QTest::addRow("non_existent") << false << false << -105 << int(QWebEngineLoadingInfo::ConnectionErrorDomain); - QTest::addRow("server_404") << false << true << 404 << int(QWebEngineLoadingInfo::InternalErrorDomain); // FIXME should be no error or separate domain? + QTest::addRow("server_404") << false << true << 404 << int(QWebEngineLoadingInfo::HttpStatusCodeDomain); } void tst_LoadSignals::loadFinishedAfterNotFoundError() @@ -502,10 +502,10 @@ void tst_LoadSignals::errorPageTriggered_data() QTest::addColumn("triggersErrorPage"); QTest::addColumn("errorCode"); QTest::addColumn("errorDomain"); - QTest::newRow("/content/200") << QStringLiteral("/content/200") << true << false << 200 << QWebEngineLoadingInfo::InternalErrorDomain; // FIXME ? - QTest::newRow("/empty/200") << QStringLiteral("/content/200") << true << false << 200 << QWebEngineLoadingInfo::InternalErrorDomain; // no error - QTest::newRow("/content/404") << QStringLiteral("/content/404") << false << false << 404 << QWebEngineLoadingInfo::InternalErrorDomain; // or - QTest::newRow("/empty/404") << QStringLiteral("/empty/404") << false << true << 404 << QWebEngineLoadingInfo::InternalErrorDomain; // separate domain? + QTest::newRow("/content/200") << QStringLiteral("/content/200") << true << false << 200 << QWebEngineLoadingInfo::HttpStatusCodeDomain; + QTest::newRow("/empty/200") << QStringLiteral("/content/200") << true << false << 200 << QWebEngineLoadingInfo::HttpStatusCodeDomain; + QTest::newRow("/content/404") << QStringLiteral("/content/404") << false << false << 404 << QWebEngineLoadingInfo::HttpStatusCodeDomain; + QTest::newRow("/empty/404") << QStringLiteral("/empty/404") << false << true << 404 << QWebEngineLoadingInfo::HttpStatusCodeDomain; } void tst_LoadSignals::errorPageTriggered() -- cgit v1.2.3