summaryrefslogtreecommitdiffstats
path: root/src/webenginewidgets/api/qwebenginepage.cpp
diff options
context:
space:
mode:
authorKirill Burtsev <kirill.burtsev@qt.io>2019-08-14 18:45:36 +0200
committerKirill Burtsev <kirill.burtsev@qt.io>2019-08-29 16:30:13 +0000
commitd5d0cd81cc770d696b19305717cc827ec1a89bd4 (patch)
tree86d1fc9f25a1596bd4004c33128f30b73c4c1ad4 /src/webenginewidgets/api/qwebenginepage.cpp
parent83c5182c998b74858c5c28fcf2feb1d4e07754bb (diff)
Reject certificate error for non-overridable errors
On certificate validation error page load is just halted meaning that no progress or load result are reported and no default error page for certificate errors is shown. Even though documentation states that 'By default, an invalid certificate will be automatically rejected' and that aligns with default implementation of certificateError method within Page and non-deferred errors in quick View, page or view silently stays in an intermediate state for non-overridable errors. Fix this inconsistent behavior by automatically rejecting certificate for every invalid case (non-overridable error, not deferred or not implemented overridable method). Change-Id: Id1cee2ee5cc45bdcb5f262a6c99c84274e6ca374 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
Diffstat (limited to 'src/webenginewidgets/api/qwebenginepage.cpp')
-rw-r--r--src/webenginewidgets/api/qwebenginepage.cpp4
1 files changed, 1 insertions, 3 deletions
diff --git a/src/webenginewidgets/api/qwebenginepage.cpp b/src/webenginewidgets/api/qwebenginepage.cpp
index d7f65c23b..aeed6ce85 100644
--- a/src/webenginewidgets/api/qwebenginepage.cpp
+++ b/src/webenginewidgets/api/qwebenginepage.cpp
@@ -1789,9 +1789,7 @@ void QWebEnginePagePrivate::allowCertificateError(const QSharedPointer<Certifica
QWebEngineCertificateError error(controller->error(), controller->url(), controller->overridable(), controller->errorString());
accepted = q->certificateError(error);
-
- if (error.isOverridable())
- controller->accept(accepted);
+ controller->accept(error.isOverridable() && accepted);
}
void QWebEnginePagePrivate::selectClientCert(const QSharedPointer<ClientCertSelectController> &controller)