David Rosca
7463c692f7
AdBlockRule: Add support for "font" option
...
Closes #2445
2017-12-03 19:10:50 +01:00
David Rosca
d00e769749
Initial rename to Falkon
2017-08-25 17:32:32 +02:00
David Rosca
f3367e7611
AdBlockRule: Add support for ping, media and other options
...
Also fix object-subrequest matching, it should block requests
from plugins despite its name.
2017-08-12 17:31:11 +02:00
David Rosca
c2c49c6b13
AdBlock: Add support for rules with empty filter (match all)
2017-08-12 16:27:02 +02:00
David Rosca
88c5b271e2
AdBlockRule: Add support for script, stylesheet and object-subrequest
2015-10-05 20:43:05 +02:00
David Rosca
e91d6482d1
Bring back AdBlock blocking network requests
2015-10-05 20:16:51 +02:00
David Rosca
458c131170
AdBlockRule: Disable copy
...
Closes #1654
2015-05-28 11:15:43 +02:00
David Rosca
a0dd1ddcb7
AdBlock: Use one cache for all subscriptions
...
Added new class AdBlockMatcher that holds the cache of
all subscriptions with rules.
This moves the matching logic from AdBlockSubscription into
separate class.
It also fixes issue that CSS exception rules weren't able to
affect rules from different subscription.
2014-10-31 15:39:02 +01:00
David Rosca
6ae0109115
AdBlockRule: Add copy() method
...
Faster method to copy rule than parse again the filter.
2014-09-16 10:38:28 +02:00
David Rosca
e8cddd16ea
AdBlock: Add support for exception css rules
...
Closes #1446
2014-09-16 09:39:25 +02:00
David Rosca
8a0b6f0d10
[Build] Fixed building with Qt4
2014-04-13 12:24:37 +02:00
David Rosca
eb8ae20cc1
[AdBlockRule] Improve performance of rule matching with QStringMatcher
...
Use QStringMatcher instead of QString::contains in RegExpFilters.
QStringMatcher internally uses fast Boyer-Moore algorithm.
2014-04-13 11:49:39 +02:00
nowrep
db664184d0
[AdBlock] Improved performance of loading rules
...
Don't use regexps for parsing rules.
Added benchmark for loading subscriptions
Before:
********* Start testing of AdBlockParseRule *********
Config: Using QTest library 4.8.6, Qt 4.8.6
PASS : AdBlockParseRule::initTestCase()
RESULT : AdBlockParseRule::parseEasyList():
596.3 msecs per iteration (total: 2,982, iterations: 5)
PASS : AdBlockParseRule::parseEasyList()
PASS : AdBlockParseRule::cleanupTestCase()
Totals: 3 passed, 0 failed, 0 skipped
********* Finished testing of AdBlockParseRule *********
After:
********* Start testing of AdBlockParseRule *********
Config: Using QTest library 4.8.6, Qt 4.8.6
PASS : AdBlockParseRule::initTestCase()
RESULT : AdBlockParseRule::parseEasyList():
481.8 msecs per iteration (total: 2,409, iterations: 5)
PASS : AdBlockParseRule::parseEasyList()
PASS : AdBlockParseRule::cleanupTestCase()
Totals: 3 passed, 0 failed, 0 skipped
********* Finished testing of AdBlockParseRule *********
2014-04-06 13:36:42 +02:00
nowrep
493edfc655
[AdBlockRule] Save some memory with dynamic allocation and removing member variables
...
m_regExpStrings are now also dynamically allocated only for RegExp rules
m_cssSelector is now merged with m_matchString (m_matchString was empty
for Css Rules)
2014-03-12 13:25:12 +01:00
nowrep
5e4f703ef2
[Code] Renamed qz_namespace.h to qzcommon.h
2014-02-26 20:03:20 +01:00
nowrep
afae00e4a2
[Cleanup] Rename export macro to just QUPZILLA_EXPORT
2014-02-19 22:12:32 +01:00
Jonathan Hooverman
d917f43cf0
Updated copyright year to 2014
2014-01-11 16:11:42 +01:00
nowrep
4a85e59778
AdBlockRule: Add new rule type Invalid for invalid rules
2013-11-02 17:41:51 +01:00
S. Razi Alavizadeh
5ea3572368
[Windows][Tests] Fixed compile issues on Windows.
2013-06-19 02:07:46 +04:30
nowrep
9d6e34e3e5
[Code] Rewritten AdBlockRule to use enums for rule options.
...
Instead of using boolean variables for every option, use one QFlag
for options and second for exceptions.
2013-02-27 21:26:41 +01:00
nowrep
7e6d619516
AdBlock: Greatly improves performance of regexp rules.
...
Regexp will be parsed into parts that can be used with
QString::contains for quick match. If url contains all parts,
real QRegExp matching is applied.
This speedup affects rules that are internally converted into
regexp, not AdBlock's regexp rules (but those rules are very rarely used
in subscriptions, so there's no need to optimise them)
2013-02-26 15:48:47 +01:00
nowrep
9f226b9738
Significant memory savings in AdBlock (~ 30MB with just EasyList)
...
Even empty QRegExp can occupy a lot of space in memory, which can
grow into a big number with tens of thousands AdBlock rules.
QRegExp is now allocated with new, and only when really needed.
2013-02-26 10:45:33 +01:00
nowrep
bed43ed0c8
[Qt5] Use RegExp wrapper to take advantage of new regexp engine.
...
QzRegExp wrapper is using QRegExp directly on Qt 4 and
QRegularExpression (with PCRE engine) on Qt 5.
2013-02-24 10:57:58 +01:00
nowrep
3b301e8446
[adblock] Added support for $image rules.
...
It tests whether the url ends with .jpg/.jpeg/.gif/.png
2013-02-07 11:04:09 +01:00
nowrep
b442492c27
Fixed small bug with domain matching
...
- accounts.youtube.com won't be matched by s.youtube.com anymore
- fixes ||s.youtube.com^ AdBlock rule matching anything from
https://accounts.youtube.com
2012-09-01 11:41:12 +02:00
nowrep
2dc0785aff
AdBlock: Support for $elemhide and $document exception rules
...
- with @@||qupzilla.com^$document you can completely disable
AdBlock from running on qupzilla.com site
2012-07-04 16:00:53 +02:00
nowrep
699f309ffd
AdBlock: Disabling rules now persist through subscription updates
2012-07-01 20:11:37 +02:00
nowrep
a37b29b275
Using QString::left instead of QString::mid(0, )
2012-07-01 18:11:43 +02:00
nowrep
1b000812b9
AdBlock: Improved performance in 2 types of rules
...
- ||domain.com^ and anything| rules are now using string matching
- edited updating EasyList to download more rules
* only 50 rules are slow now (use regexp) in EasyList
2012-07-01 14:44:01 +02:00
nowrep
6228082225
AdBlock: Support for $object $subdocument and $xmlhttprequest options
...
- also there's now support for blocking all netscape plugins,
not just flash plugin
2012-07-01 12:07:00 +02:00
nowrep
c6ccd6bd1f
AdBlock: Added full support for $third-party option
...
- checking Referer of network request to determine
if it is third party request or not
* matching is performed on second-level domains
(there is minor issue with it in Qt < 4.8)
2012-06-28 01:41:01 +02:00
nowrep
847469e0be
AdBlock: Support for element hiding rules & improved performance
...
- improved performance with not using regexps when not necessary
- added support for element hiding even with domain restrictions
- almost all types of rules are supported now
* exceptions are only some special cases when rule has
unssuported options (part of rule after $ character)
* those rules are ignored
2012-06-25 16:07:25 +02:00
nowrep
a0b9c0fc69
Fixed building on Windows + whole compilation is now faster.
2012-02-29 18:33:50 +01:00
nowrep
9c789792f4
Rearranged directory structure. All sources are under src/ dir now.
...
- updated Italian homepage translation
2012-02-23 19:18:08 +01:00