nowrep
d73d4f7ad7
AdBlockSearchTree: Save few string allocations on searching
2013-11-03 14:49:58 +01:00
nowrep
511ef3c346
AdBlockSubscription: Don't allocate search tree on heap.
2013-11-03 14:29:23 +01:00
nowrep
c07e9cff3c
Typo s/childs/children
2013-11-03 14:22:27 +01:00
nowrep
3159407c18
AdBlock: Use fast search tree for basic rules
...
For all rules that can be matched with simple string-contains match,
use fast tree searching.
Only in EasyList, there is 6000 those rules.
It improves overall performance of AdBlock matching by 5 - 10 times,
at the cost of memory.
The tree needs about 1.5MB memory for 1000 rules, which is a great
tradeoff for such big performance improvement.
2013-11-02 17:43:18 +01:00
nowrep
22b8103fb4
AdBlockManager: Match always by lower case strings
2013-11-02 17:42:20 +01:00
nowrep
4a85e59778
AdBlockRule: Add new rule type Invalid for invalid rules
2013-11-02 17:41:51 +01:00
Jonathan Hooverman
4848def230
Modified copyright year
2013-07-11 16:21:57 +02:00
S. Razi Alavizadeh
5ea3572368
[Windows][Tests] Fixed compile issues on Windows.
2013-06-19 02:07:46 +04:30
nowrep
58c0c77479
[GreaseMonkey, AdBlock] Use 16x16 icons in statusbar
2013-06-03 15:50:57 +02:00
nowrep
a65d7b00b3
[Acid3] Make Acid3 test pass with enabled AdBlock.
...
AdBlock element hiding rules are inserted into body element of
page. This does not like the Acid3 test.
2013-05-05 00:14:42 +02:00
nowrep
1b617068b2
[AdBlock] Fixed hiding rules when more than 5000 rules in subscription.
...
Closes #873
2013-05-02 21:01:17 +02:00
nowrep
621753ac1b
[AdBlock] Added ABPindo (Indonesian) into known subscriptions.
2013-04-29 20:26:50 +02:00
nowrep
f09fc7fcec
[AdBlock] Make it possible to remove EasyList.
...
Closes #534
2013-04-13 23:00:22 +02:00
nowrep
6c74289aaa
[AdBlock] Added ChinaList into list of known subscriptions.
...
Closes #768
2013-03-10 00:37:35 +01:00
nowrep
5f5cf7417d
[Code] Updated coding style with patched Astyle + normalized signals.
...
Code was formatted with patched astyle that correctly formats
foreach macro.
Normalize tool is now used to normalize all signal/slots signatures
to normalized format. It saves few reallocations on connections.
2013-03-06 09:08:29 +01:00
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
4d82e307ad
[AdBlock] Download also whitelist rules from EasyList.
2013-02-27 19:51:34 +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
S. Razi Alavizadeh
b52d150e7d
[Mac] Small fixes in themes + fixed building
...
Theme: fixed color of statusbar
Building: fixed linking to CoreServices framework
QzTools: show correct version of Mac OS X
Code: coding style
2013-02-26 13:01:00 +01:00
nowrep
d885444501
[Code] Use QVector instead of QList for elements bigger than pointer.
2013-02-26 12:56:11 +01:00
nowrep
a25e189904
[AdBlock] Added debug output with ADBLOCK_DEBUG define.
...
It will print the time needed to load all rules and also
to block each url.
2013-02-26 12:29:46 +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
S. Razi Alavizadeh
72c66cb218
[Mac] RSSManager/AdBlockDialog documentMode was disabled and fixed double cursor problem.
2013-02-21 00:20:07 +03:30
nowrep
3b3e62cd76
[code] Explicitly set UTF-8 codec when using QTextStream.
...
Fixes encoding issues on Windows.
Closes #769
2013-02-20 19:50:59 +01:00
nowrep
e4ebeb3252
[Code] Use QString::SkipEmptyParts in QString::split.
2013-02-15 12:36:25 +01:00
nowrep
0a9f2ec4d6
Coding style.
2013-02-08 12:10:12 +01:00
nowrep
9c31ff875e
[adblock] Added RU Adlist into known subscriptions.
2013-02-07 11:12:54 +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
67a08d237d
[code] Using QVariant::fromValue instead of obsolted qVariantFromValue.
2013-02-05 22:33:54 +01:00
nowrep
e28f9d438e
[Code] qz_ prefixed functions moved to QzTools namespace.
2013-01-22 19:04:22 +01:00
nowrep
9f2de4b73a
[Code] Made all helper functions static.
2013-01-22 18:12:21 +01:00
nowrep
2f764f0a25
AdBlock: Slightly edited behavior of showing menu
...
Don't show blocking options in menu on sites that AdBlock
cannot run.
eg. qupzilla:, file:
2012-12-22 12:14:55 +01:00
nowrep
cadfd63b1e
Fixed rendering pages with Qt 5
...
Filtering "\" from AdBlock CSS rules.
2012-12-20 22:57:58 +01:00
nowrep
89e091f09c
Qt5: Main code has been edited to support both Qt4 and Qt5
...
It doesn't include plugins yet.
Even thought the app can be built with Qt5 now, it won't run.
I am still working on a fix.
2012-12-20 14:45:35 +01:00
Franz Fellner
37da53731c
Don't crash on adblock menu when adblock is disabled.
2012-10-27 13:36:48 +02:00
nowrep
528f398cbe
Using QLatin1String and QLatin1Char now everywhere
...
- it saves few unnecessary allocations
2012-09-04 12:42:45 +02:00
nowrep
1afc663e91
GreaseMonkey: Use QLatin1String and QLatin1Char in script parsing
2012-09-04 11:29:47 +02:00
nowrep
40a335bc1f
AdBlock: Improved string performance when parsing rules
...
- using QLatin1String and QLatin1Char
2012-09-04 11:24:41 +02:00
nowrep
b2181f0bab
Coding style: Use empty QString() constructor instead of "" everywhere
2012-09-02 11:42:41 +02: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
8d2391da6f
Moved scheme handlers into own directory network/schemehandlers
2012-08-23 11:36:36 +02:00
nowrep
06c5118e6f
AdBlock: New options in AdBlock menu to disable it for domain
...
- and also "only for this page"
2012-08-09 19:02:25 +02:00
nowrep
435ab60e79
AdBlock: Fixed $subdocument matching.
...
- also improved a little blocked element's placoholders hiding
2012-07-13 14:12:48 +02:00
nowrep
14e0040a9f
AdBlock: Fixed $third-party option when Referer header is empty
...
- should fix a lot of false positives with $third-party rules
see #444
2012-07-13 11:04:14 +02:00
nowrep
f70d77a413
AdBlock + GreaseMonkey: Fixed downloading UTF-8 subscriptions / scripts
2012-07-12 15:14:02 +02:00
nowrep
014fa12159
Added GreaseMonkey + PIM plugins
2012-07-11 18:30:00 +02:00
nowrep
ac36261549
Plugins: Calling unload() on app shutdown.
2012-07-08 14:03:50 +02:00
nowrep
7fee7053d4
Plugins: New method in API (createRequest in network manager)
2012-07-08 00:15:03 +02:00
nowrep
19f34ecd4c
Fixed potentional issue with starting external download manager
2012-07-06 20:22:08 +02:00
nowrep
c0c996dbbd
Fixed building with Qt 4.7
2012-07-06 16:52:27 +02:00
nowrep
d8e0556d3e
AdBlock: Changes to element blocking rules are now instant.
...
- instead of need to reload settings / restart browser
2012-07-04 17:53:49 +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
138ffdfe93
AdBlock: Better and faster hiding placeholders of blocked elements
...
- also Ctrl+C in AdBlock tree now copies url filter into clipboard
2012-07-04 10:08:55 +02:00
nowrep
adac699cc9
AdBlock: Subscription downloading now follows redirects.
...
- fixed related possible crash
2012-07-03 21:54:04 +02:00
nowrep
608135ac95
AdBlock: Using QString::endsWith in domain matching
...
- instead of QString::contains
2012-07-02 09:58:56 +02:00
nowrep
c73c9820e4
AdBlock: Fixed domain match rules ||domain.com^
...
- it should also match something.domain.com
2012-07-02 01:40:32 +02:00
nowrep
e06517bdd4
Added EasyPrivacy into known third party subscriptions
...
- also fixed crashes when not having adblock enabled on startup
see #329
2012-07-01 20:38:37 +02:00
nowrep
699f309ffd
AdBlock: Disabling rules now persist through subscription updates
2012-07-01 20:11:37 +02:00
nowrep
dd170f653f
Using QChar instead of 1-char QString everywhere
2012-07-01 18:50:18 +02:00
nowrep
fbc44d2889
AdBlock: Show correct subscription when opening dialog with rule
...
- from AdBlock context menu or icon
2012-07-01 18:13:49 +02:00
nowrep
a37b29b275
Using QString::left instead of QString::mid(0, )
2012-07-01 18:11:43 +02:00
nowrep
066600ff10
AdBlock: Option to delete rule with Del key
...
- fixed setting color of newly added rule according to its type
2012-07-01 14:44:42 +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
c01604ffe9
RSS: Added support for adding feeds into external applications
...
- including some web applications (Google Reader, My AOL, Yahoo! ...)
- Liferea and Akregator are support from desktop readers
* akregator needs testing (i don't use kde)
closes #364
2012-06-28 17:16:45 +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
b9476c9bbc
AdBlock: Showing different colors for each rule type
...
- black = normal rules
green = exceptions
gray = disabled rules
blue = css rules
2012-06-25 21:01:30 +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
e471bfd5d4
AdBlock: Support for adding new subscriptions.
...
- you can add subscriptions in AdBlock dialog or with
abp: scheme links
- however, AdBlock rules are not yet optimized for performance
so you shouldn't add too much subscriptions
performance optimizations will come in next commits
- support for element hiding is still yet to come too
closes #266
2012-06-24 23:46:32 +02:00
nowrep
91bed8ad15
AdBlock: Showing name of subscription in blocked content page.
2012-06-21 21:49:41 +02:00
nowrep
5393acb514
Fixed crash in AdBlock dialog when deleting rules.
...
- regression from previous AdBlock commit
2012-06-15 20:54:58 +02:00
nowrep
8f75fd2532
Fixed crash when cleaning cache while cache is not used (disabled).
2012-06-15 17:43:19 +02:00
nowrep
0cba7628de
Initial work on support for 3rdparty AdBlock lists.
...
- also fixed one minor gcc warning
2012-06-15 17:03:37 +02:00
nowrep
cdf73b01b5
Auto selection on focus in search toolbar's line edit.
...
closes #381
2012-04-19 15:58:23 +02:00
nowrep
73dce1d2d2
Always using position from QContextMenuEvent when showing menus.
...
- so it will show menu on proper position even if you create context
menu event eg. from keyboard
2012-04-11 18:06:50 +02:00
nowrep
9778773199
Using better method for loading translations.
...
- it can now load xx_CC translation even if xx_DD is
user's system locale
2012-04-04 18:48:54 +02:00
nowrep
7c7c1787bc
Fixed saving settings in plugins.
2012-04-03 20:23:15 +02:00
nowrep
31e31b703a
Fixed building on Windows & shoudl fix crash in #334
2012-04-02 19:33:05 +02:00
nowrep
f590ad1925
Removed use of whatsThis() and other code cleanups
2012-03-13 17:51:06 +01:00
nowrep
a85d975093
Reduced spacing in navigation bar and bookmarks toolbar.
...
- So also KDE users can be happy once again :-)
2012-03-04 22:30:45 +01: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