aboutsummaryrefslogtreecommitdiff
path: root/src/blocker/filternode.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/blocker/filternode.h')
-rw-r--r--src/blocker/filternode.h103
1 files changed, 0 insertions, 103 deletions
diff --git a/src/blocker/filternode.h b/src/blocker/filternode.h
deleted file mode 100644
index e580383..0000000
--- a/src/blocker/filternode.h
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- **
- ** smolbote: yet another qute browser
- ** Copyright (C) 2017 Xian Nox
- **
- ** This program is free software: you can redistribute it and/or modify
- ** it under the terms of the GNU General Public License as published by
- ** the Free Software Foundation, either version 3 of the License, or
- ** (at your option) any later version.
- **
- ** This program is distributed in the hope that it will be useful,
- ** but WITHOUT ANY WARRANTY; without even the implied warranty of
- ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- ** GNU General Public License for more details.
- **
- ** You should have received a copy of the GNU General Public License
- ** along with this program. If not, see <http://www.gnu.org/licenses/>.
- **
- ******************************************************************************/
-
-#ifndef FILTERNODE_H
-#define FILTERNODE_H
-
-#include <QList>
-#include <QVariant>
-#include <QUrl>
-#include "regexp.h"
-#include <QWebEngineUrlRequestInfo>
-
-class FilterNode
-{
-public:
-
- enum ResourceType {
- NoType = 0,
- MainFrame = 1,
- SubFrame = 2,
- Stylesheet = 4,
- Script = 8,
- Image = 16,
- FontResource = 32,
- SubResource = 64,
- Object = 128,
- Media = 256,
- Worker = 512,
- SharedWorker = 1024,
- Prefetch = 2048,
- Favicon = 4096,
- Xhr = 8192,
- Ping = 16384,
- ServiceWorker = 32768,
- CspReport = 65536,
- PluginResource = 131072,
- Unknown = 262144
- };
- Q_DECLARE_FLAGS(Resources, ResourceType)
-
- struct ResourceRules {
- Resources allowed;
- Resources blocked;
- };
-
- explicit FilterNode(const QString &domain, const QString &request, ResourceRules rules, bool shouldBlock, FilterNode *parentItem = 0);
- ~FilterNode();
-
- void enable();
-
- FilterNode *parentItem();
-
- // children
- void appendChild(FilterNode *child);
- FilterNode *child(int row);
- int childCount() const;
-
- // data
- QString domain() const;
- QString request() const;
- bool isBlocking();
-
- int row() const;
-
- // filtering
- bool hasMatch(const QWebEngineUrlRequestInfo &info);
- bool shouldBlock(const QWebEngineUrlRequestInfo &info);
-
- bool isValid();
-
-private:
- bool testFlag(ResourceType flag);
-
- FilterNode *m_parentItem;
- QList<FilterNode*> m_children;
-
- RegExp m_domainUrl;
- RegExp m_requestUrl;
-
- ResourceRules m_rules;
-
- bool m_valid = false;
- bool m_shouldBlock;
-};
-
-#endif // FILTERNODE_H