/* * This file is part of smolbote. It's copyrighted by the contributors recorded * in the version control history of the file, available from its original * location: https://neueland.iserlohn-fortress.net/smolbote.hg * * SPDX-License-Identifier: GPL-3.0 */ #include "webpage.h" #include #include WebPage::WebPage(QWebEngineProfile *profile, QObject *parent) : QWebEnginePage(profile, parent) { connect(this, &WebPage::fullScreenRequested, this, [](QWebEngineFullScreenRequest request) { request.accept(); }); #ifdef QT_DEBUG connect(this, &WebPage::featurePermissionRequested, this, [](const QUrl &securityOrigin, QWebEnginePage::Feature feature) { qDebug("Feature requested: %i", feature); }); #endif } bool WebPage::certificateError(const QWebEngineCertificateError &certificateError) { QMessageBox messageBox; messageBox.setWindowTitle(tr("SSL Error")); if(certificateError.isOverridable()) messageBox.setIcon(QMessageBox::Warning); else messageBox.setIcon(QMessageBox::Critical); messageBox.setText(tr("An SSL error has occurred on %1").arg(certificateError.url().toString())); messageBox.setInformativeText(tr("

%1

" "

This error %2 be overridden.

") .arg(certificateError.errorDescription(), certificateError.isOverridable() ? tr("can") : tr("cannot"))); messageBox.setDetailedText(tr("Error code: %1").arg(certificateError.error())); if(certificateError.isOverridable()) { messageBox.setStandardButtons(QMessageBox::Ignore | QMessageBox::Abort); messageBox.setDefaultButton(QMessageBox::Ignore); } else messageBox.setStandardButtons(QMessageBox::Abort); auto resp = messageBox.exec(); return resp == QMessageBox::Ignore; }