1
mirror of https://invent.kde.org/network/falkon.git synced 2024-12-23 04:06:35 +01:00
Commit Graph

180 Commits

Author SHA1 Message Date
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