18#ifndef ADBLOCKMANAGER_H
19#define ADBLOCKMANAGER_H
26#include <QWebEngineUrlRequestInfo>
30#define ADBLOCK_EASYLIST_URL QSL("https://easylist-downloads.adblockplus.org/easylist.txt")
31#define ADBLOCK_NOCOINLIST_URL QSL("https://raw.githubusercontent.com/hoshsadiq/adblock-nocoin-list/master/nocoin.txt")
62 bool isEnabled()
const;
63 bool canRunOnScheme(
const QString &scheme)
const;
64 bool canBeBlocked(
const QUrl &url)
const;
66 QString elementHidingRules(
const QUrl &url)
const;
67 QString elementHidingRulesForDomain(
const QUrl &url)
const;
70 QList<AdBlockSubscription*> subscriptions()
const;
72 bool block(QWebEngineUrlRequestInfo &request, QString &ruleFilter, QString &ruleSubscription);
74 QVector<AdBlockedRequest> blockedRequestsForUrl(
const QUrl &url)
const;
75 void clearBlockedRequestsForUrl(
const QUrl &url);
77 QStringList disabledRules()
const;
78 void addDisabledRule(
const QString &filter);
79 void removeDisabledRule(
const QString &filter);
81 bool addSubscriptionFromUrl(
const QUrl &url);
95 void setEnabled(
bool enabled);
99 void updateAllSubscriptions();
107 QList<AdBlockSubscription*> m_subscriptions;
109 QStringList m_disabledRules;
112 QPointer<AdBlockDialog> m_adBlockDialog;
114 QHash<QUrl, QVector<AdBlockedRequest>> m_blockedRequests;
void enabledChanged(bool enabled)
void blockedRequestsChanged(const QUrl &url)
Q_DECLARE_METATYPE(FlashCookie)
QWebEngineUrlRequestInfo::ResourceType resourceType
QWebEngineUrlRequestInfo::NavigationType navigationType