aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/webenginepage.cpp18
-rw-r--r--src/webenginepage.h55
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