diff options
-rw-r--r-- | src/webenginepage.cpp | 18 | ||||
-rw-r--r-- | src/webenginepage.h | 55 |
2 files changed, 50 insertions, 23 deletions
diff --git a/src/webenginepage.cpp b/src/webenginepage.cpp index 451d187..9a35761 100644 --- a/src/webenginepage.cpp +++ b/src/webenginepage.cpp @@ -6,8 +6,13 @@ WebEnginePage::WebEnginePage(QWebEngineProfile *profile, QObject *parent) : QWebEnginePage(profile, parent) { - profile->setHttpUserAgent( - profile->httpUserAgent().replace("QtWebEngine/5.13.0", "")); + + auto userAgent = profile->httpUserAgent(); + auto webengineversion = userAgent.split("QtWebEngine").last().split(" ").first(); + auto toRemove = "QtWebEngine"+webengineversion; + auto cleanUserAgent = userAgent.remove(toRemove).replace(" ", " "); + profile->setHttpUserAgent(cleanUserAgent); + connect(this, &QWebEnginePage::loadFinished, this, &WebEnginePage::handleLoadFinished); connect(this, &QWebEnginePage::authenticationRequired, this, @@ -286,3 +291,12 @@ void WebEnginePage::handleSelectClientCertificate( qDebug() << selection.host(); } #endif + +void WebEnginePage::javaScriptConsoleMessage( + WebEnginePage::JavaScriptConsoleMessageLevel level, const QString &message, + int lineId, const QString &sourceId) { + Q_UNUSED(level); + Q_UNUSED(message); + Q_UNUSED(lineId); + Q_UNUSED(sourceId); +} diff --git a/src/webenginepage.h b/src/webenginepage.h index a8241d0..e2684f3 100644 --- a/src/webenginepage.h +++ b/src/webenginepage.h @@ -1,53 +1,66 @@ #ifndef WEBENGINEPAGE_H #define WEBENGINEPAGE_H - #include <QFileDialog> #include <QWebEngineFullScreenRequest> #include <QWebEngineNotification> #include <QWebEngineProfile> -#include <QWebEnginePage> +#include <QAuthenticator> #include <QDesktopServices> -#include <QMessageBox> #include <QImageReader> +#include <QMessageBox> #include <QWebEngineCertificateError> -#include <QAuthenticator> +#include <QWebEnginePage> -#include <QWebEngineRegisterProtocolHandlerRequest> #include <QWebEngineFullScreenRequest> +#include <QWebEngineRegisterProtocolHandlerRequest> #include <QSettings> #include "ui_certificateerrordialog.h" #include "ui_passworddialog.h" -class WebEnginePage : public QWebEnginePage -{ - Q_OBJECT +class WebEnginePage : public QWebEnginePage { + Q_OBJECT public: - WebEnginePage(QWebEngineProfile *profile, QObject *parent = nullptr); + WebEnginePage(QWebEngineProfile *profile, QObject *parent = nullptr); private: - QSettings settings; + 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); + 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); + 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); + 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); + void handleSelectClientCertificate( + QWebEngineClientCertificateSelection clientCertSelection); #endif - void fullScreenRequestedByPage(QWebEngineFullScreenRequest request); + void fullScreenRequestedByPage(QWebEngineFullScreenRequest request); }; #endif // WEBENGINEPAGE_H |