diff options
| author | 2023-03-07 21:11:06 +0600 | |
|---|---|---|
| committer | 2023-03-07 21:11:06 +0600 | |
| commit | d830bfc8ce7c6763d074beafdde7cab1835d31f9 (patch) | |
| tree | 179f81f3b42779b1f6fb69deed6b69dab39f4f89 /src/webenginepage.h | |
| download | whatsie-d830bfc8ce7c6763d074beafdde7cab1835d31f9.tar.gz whatsie-d830bfc8ce7c6763d074beafdde7cab1835d31f9.zip | |
Import Upstream version 4.12.0upstream/4.12.0
Diffstat (limited to 'src/webenginepage.h')
| -rw-r--r-- | src/webenginepage.h | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/src/webenginepage.h b/src/webenginepage.h new file mode 100644 index 0000000..e2684f3 --- /dev/null +++ b/src/webenginepage.h @@ -0,0 +1,66 @@ +#ifndef WEBENGINEPAGE_H +#define WEBENGINEPAGE_H + +#include <QFileDialog> +#include <QWebEngineFullScreenRequest> +#include <QWebEngineNotification> +#include <QWebEngineProfile> + +#include <QAuthenticator> +#include <QDesktopServices> +#include <QImageReader> +#include <QMessageBox> +#include <QWebEngineCertificateError> +#include <QWebEnginePage> + +#include <QWebEngineFullScreenRequest> +#include <QWebEngineRegisterProtocolHandlerRequest> + +#include <QSettings> + +#include "ui_certificateerrordialog.h" +#include "ui_passworddialog.h" + +class WebEnginePage : public QWebEnginePage { + Q_OBJECT +public: + WebEnginePage(QWebEngineProfile *profile, QObject *parent = nullptr); + +private: + QSettings settings; + +protected: + bool acceptNavigationRequest(const QUrl &url, + QWebEnginePage::NavigationType type, + bool isMainFrame) override; + QWebEnginePage *createWindow(QWebEnginePage::WebWindowType type) override; + bool certificateError(const QWebEngineCertificateError &error) override; + QStringList chooseFiles(FileSelectionMode mode, const QStringList &oldFiles, + const QStringList &acceptedMimeTypes); + +public slots: + void handleFeaturePermissionRequested(const QUrl &securityOrigin, + QWebEnginePage::Feature feature); + void handleLoadFinished(bool ok); + +protected slots: + void + javaScriptConsoleMessage(WebEnginePage::JavaScriptConsoleMessageLevel level, + const QString &message, int lineId, + const QString &sourceId); +private slots: + void handleAuthenticationRequired(const QUrl &requestUrl, + QAuthenticator *auth); + void handleProxyAuthenticationRequired(const QUrl &requestUrl, + QAuthenticator *auth, + const QString &proxyHost); + void handleRegisterProtocolHandlerRequested( + QWebEngineRegisterProtocolHandlerRequest request); +#if !defined(QT_NO_SSL) || QT_VERSION >= QT_VERSION_CHECK(5, 12, 0) + void handleSelectClientCertificate( + QWebEngineClientCertificateSelection clientCertSelection); +#endif + void fullScreenRequestedByPage(QWebEngineFullScreenRequest request); +}; + +#endif // WEBENGINEPAGE_H |
