diff options
author | Kirill Burtsev <kirill.burtsev@qt.io> | 2021-05-20 17:16:00 +0200 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2021-08-10 21:03:35 +0000 |
commit | 92b5d1cfe46f25189235953bde0266d79098fc06 (patch) | |
tree | 3291022d0602458dac39d004b4770bd569d8e923 /src | |
parent | 513c5435536c041eb89136fbc322a68e38caf845 (diff) |
Ensure certificate error callback call for all types
Amends a2a9ea11f9. Actually reject certificate when it's considered to
be fatal. Adapt tests for possible regression but checking if load
really failed (due to missing internet access) or was just halted by
missing callback call internaly.
Change-Id: I656525c353ce410f7bda8c55227a29fcd617bfdd
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
(cherry picked from commit 3acfd3b1cd39e89fb6bc2f0da3412f07d68de7b6)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Diffstat (limited to 'src')
-rw-r--r-- | src/core/certificate_error_controller.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/core/certificate_error_controller.cpp b/src/core/certificate_error_controller.cpp index 0c0137ca4..d9a07ae47 100644 --- a/src/core/certificate_error_controller.cpp +++ b/src/core/certificate_error_controller.cpp @@ -118,8 +118,10 @@ CertificateErrorController::CertificateErrorController( , m_requestUrl(toQt(request_url)) , m_overridable(!IsCertErrorFatal(cert_error) && !strict_enforcement) { - if (m_overridable) - m_callback = std::move(cb); + // MEMO set callback anyway even for non overridable error since chromium halts load until it's called + // callback will be executed either explicitly by use code or implicitly when error goes out of scope + m_callback = std::move(cb); + if (auto cert = ssl_info.cert.get()) { m_validExpiry = toQt(cert->valid_expiry()); m_certificateChain = toCertificateChain(cert); |