diff options
author | Michal Klocek <michal.klocek@qt.io> | 2020-08-06 12:26:44 +0200 |
---|---|---|
committer | Michal Klocek <michal.klocek@qt.io> | 2020-08-14 16:34:27 +0200 |
commit | 5dde7a21706b399a6c14b3ab0a12e70f5d26dafa (patch) | |
tree | 8f823bd6f42989d8345606080c7bf42a6ab74d8a /src/webenginewidgets/api | |
parent | 1ab9b08e62a04770d275b5eebacdcb6a7bd0816a (diff) |
Unify certificate error handling
Before we move the certificate error to core, unify
error handling between qml and widgets.
[ChangeLog] WebPage::certificateError does not return bool
it is enough to call defer, ignoreCertificateError()
or rejectCertificate().
Change-Id: I14be40f1ab6b4cbded550260d66152f51cf47de2
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'src/webenginewidgets/api')
-rw-r--r-- | src/webenginewidgets/api/qwebenginepage.cpp | 15 | ||||
-rw-r--r-- | src/webenginewidgets/api/qwebenginepage.h | 2 |
2 files changed, 6 insertions, 11 deletions
diff --git a/src/webenginewidgets/api/qwebenginepage.cpp b/src/webenginewidgets/api/qwebenginepage.cpp index f5bec06fb..3c8f6e488 100644 --- a/src/webenginewidgets/api/qwebenginepage.cpp +++ b/src/webenginewidgets/api/qwebenginepage.cpp @@ -1723,14 +1723,12 @@ void QWebEnginePagePrivate::javascriptDialog(QSharedPointer<JavaScriptDialogCont void QWebEnginePagePrivate::allowCertificateError(const QSharedPointer<CertificateErrorController> &controller) { Q_Q(QWebEnginePage); - bool accepted = false; - QWebEngineCertificateError error(controller); - accepted = q->certificateError(error); - if (error.deferred() && !error.answered()) + q->certificateError(error); + if (!error.isOverridable() || (!error.deferred() && !error.answered())) + error.rejectCertificate(); + else m_certificateErrorControllers.append(controller); - else if (!error.answered()) - controller->accept(error.isOverridable() && accepted); } void QWebEnginePagePrivate::selectClientCert(const QSharedPointer<ClientCertSelectController> &controller) @@ -2390,10 +2388,7 @@ void QWebEnginePage::javaScriptConsoleMessage(JavaScriptConsoleMessageLevel leve } } -bool QWebEnginePage::certificateError(const QWebEngineCertificateError &) -{ - return false; -} +void QWebEnginePage::certificateError(const QWebEngineCertificateError &) { } bool QWebEnginePage::acceptNavigationRequest(const QUrl &url, NavigationType type, bool isMainFrame) { diff --git a/src/webenginewidgets/api/qwebenginepage.h b/src/webenginewidgets/api/qwebenginepage.h index 97f32e43f..c1fff2ac2 100644 --- a/src/webenginewidgets/api/qwebenginepage.h +++ b/src/webenginewidgets/api/qwebenginepage.h @@ -375,7 +375,7 @@ protected: virtual bool javaScriptConfirm(const QUrl &securityOrigin, const QString& msg); virtual bool javaScriptPrompt(const QUrl &securityOrigin, const QString& msg, const QString& defaultValue, QString* result); virtual void javaScriptConsoleMessage(JavaScriptConsoleMessageLevel level, const QString& message, int lineNumber, const QString& sourceID); - virtual bool certificateError(const QWebEngineCertificateError &certificateError); + virtual void certificateError(const QWebEngineCertificateError &certificateError); virtual bool acceptNavigationRequest(const QUrl &url, NavigationType type, bool isMainFrame); private: |