diff options
author | Peter Varga <pvarga@inf.u-szeged.hu> | 2021-01-25 14:59:55 +0100 |
---|---|---|
committer | Peter Varga <pvarga@inf.u-szeged.hu> | 2021-02-05 08:19:49 +0100 |
commit | c43c3c3ae46735e3d23e0ed70c31143d2556a579 (patch) | |
tree | f24808bc3dd12c862510a994b3da8e004749b837 /src/webengine | |
parent | f9885840ef2840179f589dd1f71a776df5fd34f3 (diff) |
Fix loadFinished signal if page has content but server sends HTTP error
For triggering an error page 3 conditions should be fulfilled:
- main frame navigation
- the page's document is empty
- the HTTP status code indicates an error
This fix adds check for the empty document and sends loadFinished signal
without expecting an error page if the document is not empty.
Fixes: QTBUG-90517
Change-Id: I6463d75fb5e682932feca64b0f059f9aa475795c
Reviewed-by: Kirill Burtsev <kirill.burtsev@qt.io>
Diffstat (limited to 'src/webengine')
-rw-r--r-- | src/webengine/api/qquickwebengineview.cpp | 4 | ||||
-rw-r--r-- | src/webengine/api/qquickwebengineview_p_p.h | 3 |
2 files changed, 5 insertions, 2 deletions
diff --git a/src/webengine/api/qquickwebengineview.cpp b/src/webengine/api/qquickwebengineview.cpp index db112e7bc..195833fe7 100644 --- a/src/webengine/api/qquickwebengineview.cpp +++ b/src/webengine/api/qquickwebengineview.cpp @@ -495,9 +495,11 @@ Q_STATIC_ASSERT(static_cast<int>(WebEngineError::NoErrorDomain) == static_cast<i Q_STATIC_ASSERT(static_cast<int>(WebEngineError::CertificateErrorDomain) == static_cast<int>(QQuickWebEngineView::CertificateErrorDomain)); Q_STATIC_ASSERT(static_cast<int>(WebEngineError::DnsErrorDomain) == static_cast<int>(QQuickWebEngineView::DnsErrorDomain)); -void QQuickWebEngineViewPrivate::loadFinished(bool success, const QUrl &url, bool isErrorPage, int errorCode, const QString &errorDescription) +void QQuickWebEngineViewPrivate::loadFinished(bool success, const QUrl &url, bool isErrorPage, int errorCode, + const QString &errorDescription, bool triggersErrorPage) { Q_Q(QQuickWebEngineView); + Q_UNUSED(triggersErrorPage); if (isErrorPage) { #if QT_CONFIG(webengine_testsupport) diff --git a/src/webengine/api/qquickwebengineview_p_p.h b/src/webengine/api/qquickwebengineview_p_p.h index 68d65410a..ebe55c345 100644 --- a/src/webengine/api/qquickwebengineview_p_p.h +++ b/src/webengine/api/qquickwebengineview_p_p.h @@ -116,7 +116,8 @@ public: void loadStarted(const QUrl &provisionalUrl, bool isErrorPage = false) override; void loadCommitted() override; void loadVisuallyCommitted() override; - void loadFinished(bool success, const QUrl &url, bool isErrorPage = false, int errorCode = 0, const QString &errorDescription = QString()) override; + void loadFinished(bool success, const QUrl &url, bool isErrorPage, int errorCode, + const QString &errorDescription, bool triggersErrorPage) override; void focusContainer() override; void unhandledKeyEvent(QKeyEvent *event) override; QSharedPointer<QtWebEngineCore::WebContentsAdapter> |