/** LICENSE ******************************************************************** ** ** 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 . ** ******************************************************************************/ #include "urlinterceptor.h" UrlRequestInterceptor::UrlRequestInterceptor(QObject *parent) : QWebEngineUrlRequestInterceptor(parent) { } void UrlRequestInterceptor::interceptRequest(QWebEngineUrlRequestInfo &info) { for(BlockerRule *rule : m_sub->urlWhitelist()) { if(rule->match(info.requestUrl())) { qDebug("OK %s", qUtf8Printable(info.requestUrl().toString())); return; } } for(BlockerRule *rule : m_sub->urlBlacklist()) { if(rule->match(info.requestUrl())) { info.block(true); qDebug(" %s", qUtf8Printable(info.requestUrl().toString())); return; } } qDebug("OK %s", qUtf8Printable(info.requestUrl().toString())); } void UrlRequestInterceptor::setSubscription(BlockerSubscription *subscription) { m_sub = subscription; }