summaryrefslogtreecommitdiff
path: root/src/adblock
diff options
context:
space:
mode:
authorAndrea Diamantini <adjam7@gmail.com>2010-03-24 09:21:01 +0100
committerAndrea Diamantini <adjam7@gmail.com>2010-03-24 09:21:01 +0100
commit1b99d40d92a4c1e989a53724ea527b0e7d6388ff (patch)
tree9c4be829b25b79bb74786e8e3ef6d9281a033983 /src/adblock
parentDoing "load finished" operations just on ok loading is really NOT (diff)
downloadrekonq-1b99d40d92a4c1e989a53724ea527b0e7d6388ff.tar.xz
Cleaning AdblockManager::loadRules slot
Diffstat (limited to 'src/adblock')
-rw-r--r--src/adblock/adblockmanager.cpp51
1 files changed, 30 insertions, 21 deletions
diff --git a/src/adblock/adblockmanager.cpp b/src/adblock/adblockmanager.cpp
index 66e11277..71412d5d 100644
--- a/src/adblock/adblockmanager.cpp
+++ b/src/adblock/adblockmanager.cpp
@@ -84,7 +84,7 @@ void AdBlockManager::loadSettings(bool checkUpdateDate)
KConfigGroup rulesGroup( config, "rules" );
QStringList rules;
rules = rulesGroup.readEntry( "local-rules" , QStringList() );
- loadRules( rules );
+ loadRules(rules);
// ----------------------------------------------------------
@@ -115,26 +115,35 @@ void AdBlockManager::loadRules(const QStringList &rules)
foreach(const QString &stringRule, rules)
{
// ! rules are comments
- if( !stringRule.startsWith('!') && !stringRule.startsWith('[') && !stringRule.isEmpty() )
- {
- // white rules
- if( stringRule.startsWith( QLatin1String("@@") ) )
- {
- AdBlockRule rule( stringRule.mid(2) );
- _whiteList << rule;
- continue;
- }
-
- // hide (CSS) rules
- if( stringRule.startsWith( QLatin1String("##") ) )
- {
- _hideList << stringRule.mid(2);
- continue;
- }
-
- AdBlockRule rule( stringRule );
- _blackList << rule;
+ if( stringRule.startsWith('!') )
+ continue;
+
+ // [ rules are ABP infos
+ if( stringRule.startsWith('[') )
+ continue;
+
+ // empty rules are just dangerous..
+ // (an empty rule in whitelist allows all, in blacklist blocks all..)
+ if( stringRule.isEmpty() )
+ continue;
+
+ // white rules
+ if( stringRule.startsWith( QLatin1String("@@") ) )
+ {
+ AdBlockRule rule( stringRule.mid(2) );
+ _whiteList << rule;
+ continue;
}
+
+ // hide (CSS) rules
+ if( stringRule.startsWith( QLatin1String("##") ) )
+ {
+ _hideList << stringRule.mid(2);
+ continue;
+ }
+
+ AdBlockRule rule( stringRule );
+ _blackList << rule;
}
}
@@ -182,7 +191,7 @@ QNetworkReply *AdBlockManager::block(const QNetworkRequest &request)
void AdBlockManager::applyHidingRules(WebPage *page)
{
- if(!page || !page->mainFrame())
+ if(!page)
return;
if (!_isAdblockEnabled)