diff options
author | Kirill Burtsev <kirill.burtsev@qt.io> | 2019-08-14 18:59:23 +0200 |
---|---|---|
committer | Kirill Burtsev <kirill.burtsev@qt.io> | 2019-09-05 23:32:55 +0200 |
commit | bf3753f02402b44455038c4fa2a897d41aadf850 (patch) | |
tree | e41ec261298a4f5eff8e7b5507226301eafa3a61 /src/webenginewidgets/api/qwebenginecertificateerror.h | |
parent | 8213ea60bacb91ddfa1594e1f515abe2cfbde621 (diff) |
Allow deferring QWebEngineCertificateError handling
Introduce defer() method for halting URL load on certificate errors,
and methods for rejecting and ignoring these errors subsequently
in async manner.
[ChangeLog][QtWebEngineWidgets][QWebEngineCertificateError] New
methods for asynchronous decision on certificate error during load.
Fixes: QTBUG-55110
Change-Id: Ib23eb568862ccc360208922a6a581f8e7edc4a7e
Reviewed-by: Michael BrĂ¼ning <michael.bruning@qt.io>
Diffstat (limited to 'src/webenginewidgets/api/qwebenginecertificateerror.h')
-rw-r--r-- | src/webenginewidgets/api/qwebenginecertificateerror.h | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/src/webenginewidgets/api/qwebenginecertificateerror.h b/src/webenginewidgets/api/qwebenginecertificateerror.h index 82ac281be..f8805e8a7 100644 --- a/src/webenginewidgets/api/qwebenginecertificateerror.h +++ b/src/webenginewidgets/api/qwebenginecertificateerror.h @@ -42,11 +42,12 @@ #include <QtWebEngineWidgets/qtwebenginewidgetsglobal.h> -#include <QtCore/qscopedpointer.h> +#include <QtCore/qsharedpointer.h> #include <QtCore/qurl.h> QT_BEGIN_NAMESPACE +class CertificateErrorController; class QWebEngineCertificateErrorPrivate; class QWEBENGINEWIDGETS_EXPORT QWebEngineCertificateError { @@ -78,10 +79,20 @@ public: bool isOverridable() const; QString errorDescription() const; + QWebEngineCertificateError(const QWebEngineCertificateError &other); + QWebEngineCertificateError& operator=(const QWebEngineCertificateError &other); + + void defer(); + bool deferred() const; + + void rejectCertificate(); + void ignoreCertificateError(); + bool answered() const; + private: - Q_DISABLE_COPY(QWebEngineCertificateError) - Q_DECLARE_PRIVATE(QWebEngineCertificateError) - QScopedPointer<QWebEngineCertificateErrorPrivate> d_ptr; + friend class QWebEnginePagePrivate; + QWebEngineCertificateError(const QSharedPointer<CertificateErrorController> &controller); + QExplicitlySharedDataPointer<QWebEngineCertificateErrorPrivate> d; }; QT_END_NAMESPACE |