/*
 * 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/gitea/aqua/smolbote
 *
 * SPDX-License-Identifier: GPL-3.0
 */

#ifndef SMOLBOTE_WEBPAGE_H
#define SMOLBOTE_WEBPAGE_H

#include <QWebEnginePage>

class WebPage : public QWebEnginePage
{
    Q_OBJECT
public:
    explicit WebPage(QWebEngineProfile *profile, QObject *parent = nullptr);

protected:
    bool certificateError(const QWebEngineCertificateError &certificateError) override;
#ifdef QTBUG_68224_WORKAROUND
    bool acceptNavigationRequest(const QUrl &url, NavigationType type, bool isMainFrame) override;
#endif

private slots:
    void featurePermissionDialog(const QUrl &securityOrigin, QWebEnginePage::Feature feature);
    void renderProcessCrashed(QWebEnginePage::RenderProcessTerminationStatus terminationStatus, int exitCode);
};

#endif // SMOLBOTE_WEBPAGE_H