diff options
Diffstat (limited to 'src/webengine/api/qquickwebengineview.cpp')
-rw-r--r-- | src/webengine/api/qquickwebengineview.cpp | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/webengine/api/qquickwebengineview.cpp b/src/webengine/api/qquickwebengineview.cpp index dbafd9655..460caa4d7 100644 --- a/src/webengine/api/qquickwebengineview.cpp +++ b/src/webengine/api/qquickwebengineview.cpp @@ -41,6 +41,7 @@ #include "certificate_error_controller.h" #include "javascript_dialog_controller.h" #include "qquickwebenginehistory_p.h" +#include "qquickwebenginecertificateerror_p.h" #include "qquickwebengineloadrequest_p.h" #include "qquickwebenginenavigationrequest_p.h" #include "qquickwebenginenewviewrequest_p.h" @@ -220,10 +221,16 @@ void QQuickWebEngineViewPrivate::javascriptDialog(QSharedPointer<JavaScriptDialo ui()->showDialog(dialog); } -void QQuickWebEngineViewPrivate::allowCertificateError(const QExplicitlySharedDataPointer<CertificateErrorController> &errorController) +void QQuickWebEngineViewPrivate::allowCertificateError(const QSharedPointer<CertificateErrorController> &errorController) { - // ### Implement a way to export this to QML - Q_UNUSED(errorController); + Q_Q(QQuickWebEngineView); + + m_certificateErrorController = errorController; + QQuickWebEngineCertificateError *quickController = new QQuickWebEngineCertificateError(errorController); + QQmlEngine::setObjectOwnership(quickController, QQmlEngine::JavaScriptOwnership); + Q_EMIT q->certificateError(quickController); + if (!quickController->deferred()) + quickController->rejectCertificate(); } void QQuickWebEngineViewPrivate::runGeolocationPermissionRequest(const QUrl &url) |