From 2c3b026349349729141ca46bd9d292327da2dfe2 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Thu, 13 Nov 2025 13:48:37 +0100 Subject: Port to QtWebEngine (thx Junie), bump to C++20 --- src/nam.h | 38 +++++++++++++++----------------------- 1 file changed, 15 insertions(+), 23 deletions(-) (limited to 'src/nam.h') diff --git a/src/nam.h b/src/nam.h index ec2bb17..8044aaf 100644 --- a/src/nam.h +++ b/src/nam.h @@ -1,38 +1,30 @@ #ifndef NAM_H_ #define NAM_H_ -#include #include -#include +#include +#include /** - * Block certain requests based on URL + * Block certain requests based on URL via QtWebEngine interceptor */ -class SlxNetworkAccessManager : public QNetworkAccessManager +class SlxRequestInterceptor : public QWebEngineUrlRequestInterceptor { -Q_OBJECT + Q_OBJECT public: - SlxNetworkAccessManager(QRegularExpression blackList, QRegularExpression whiteList, QObject *parent = nullptr) - : QNetworkAccessManager(parent), _black(blackList), _white(whiteList) {} -protected: - QNetworkReply* createRequest(QNetworkAccessManager::Operation op, - const QNetworkRequest &originalReq, QIODevice *outgoingData = nullptr) override; + SlxRequestInterceptor(const QRegularExpression& blackList, const QRegularExpression& whiteList, QObject *parent = nullptr) + : QWebEngineUrlRequestInterceptor(parent), _black(blackList), _white(whiteList) {} + void interceptRequest(QWebEngineUrlRequestInfo &info) override; + +signals: + void urlBlocked(const QUrl &url); + void unsupportedScheme(const QUrl &url); + private: - QRegularExpression _black, _white; + QRegularExpression _black, _white; }; -class SlxDisabledNetworkReply : public QNetworkReply -{ - Q_OBJECT -public: - SlxDisabledNetworkReply(QObject *parent, const QNetworkRequest &req, - QNetworkAccessManager::Operation op); - - ~SlxDisabledNetworkReply() {} - void abort() override { } -protected: - qint64 readData(char *, qint64) override { return -1; } -}; +// no reply subclass needed with WebEngine #endif -- cgit v1.2.3-55-g7522