From a9795a11874b7f50ee91a9191d5c3ed4294537b7 Mon Sep 17 00:00:00 2001 From: Kirill Burtsev Date: Thu, 3 Jun 2021 14:49:27 +0200 Subject: QWebEnginePage: add new 'loading' property and expose QWebEngineLoadingInfo [ChangeLog][QWebEngineWidgets][QWebEnginePage] QWebEngineLoadingInfo is now exposed on loadingChanged signal with new 'loading' property Fixes: QTBUG-53333 Task-number: QTBUG-61100 Change-Id: I7773030726faeb1d65cc85a4d688a80f6dbe2c80 Reviewed-by: Allan Sandfeld Jensen --- tests/auto/widgets/loadsignals/tst_loadsignals.cpp | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'tests/auto') diff --git a/tests/auto/widgets/loadsignals/tst_loadsignals.cpp b/tests/auto/widgets/loadsignals/tst_loadsignals.cpp index 12a497dd9..0daf0ce05 100644 --- a/tests/auto/widgets/loadsignals/tst_loadsignals.cpp +++ b/tests/auto/widgets/loadsignals/tst_loadsignals.cpp @@ -31,12 +31,18 @@ #include "httpserver.h" #include #include "qdebug.h" +#include "qwebengineloadinginfo.h" #include "qwebenginepage.h" #include "qwebengineprofile.h" #include "qwebenginesettings.h" #include "qwebengineview.h" -enum { LoadStarted, LoadSucceeded, LoadFailed }; +enum { + LoadStarted = QWebEngineLoadingInfo::LoadStartedStatus, + LoadStopped = QWebEngineLoadingInfo::LoadStoppedStatus, + LoadSucceeded = QWebEngineLoadingInfo::LoadSucceededStatus, + LoadFailed = QWebEngineLoadingInfo::LoadFailedStatus, +}; static const QList SignalsOrderOnce({ LoadStarted, LoadSucceeded}); static const QList SignalsOrderTwice({ LoadStarted, LoadSucceeded, LoadStarted, LoadSucceeded }); static const QList SignalsOrderOnceFailure({ LoadStarted, LoadFailed }); @@ -49,13 +55,16 @@ public: int navigationRequestCount = 0; QList signalsOrder; QList loadProgress; + QList loadingInfos; explicit TestPage(QObject *parent = nullptr) : TestPage(nullptr, parent) { } TestPage(QWebEngineProfile *profile, QObject *parent = nullptr) : QWebEnginePage(profile, parent) { connect(this, &QWebEnginePage::loadStarted, [this] () { signalsOrder.append(LoadStarted); }); connect(this, &QWebEnginePage::loadProgress, [this] (int p) { loadProgress.append(p); }); connect(this, &QWebEnginePage::loadFinished, [this] (bool r) { signalsOrder.append(r ? LoadSucceeded : LoadFailed); }); + connect(this, &QWebEnginePage::loadingChanged, [this] (const QWebEngineLoadingInfo &i) { loadingInfos.append(i); }); } + ~TestPage() { Q_ASSERT(signalsOrder.size() == loadingInfos.size()); } void reset() { @@ -63,6 +72,7 @@ public: navigationRequestCount = 0; signalsOrder.clear(); loadProgress.clear(); + loadingInfos.clear(); } protected: @@ -174,6 +184,9 @@ void tst_LoadSignals::loadStartedAndFinishedCount() QCOMPARE(loadStartedSpy.size(), expectedLoadCount); QCOMPARE(loadFinishedSpy.size(), expectedLoadCount); QCOMPARE(page.signalsOrder, expectedSignals); + QCOMPARE(page.signalsOrder.size(), page.loadingInfos.size()); + for (int i = 0; i < page.signalsOrder.size(); ++i) + QCOMPARE(page.signalsOrder[i], page.loadingInfos[i].status()); } /** -- cgit v1.2.3