1
mirror of https://invent.kde.org/network/falkon.git synced 2024-09-23 10:42:11 +02:00
Commit Graph

120 Commits

Author SHA1 Message Date
David Rosca
2ed002cb2a Fix build with Qt 4.7 2014-11-03 15:45:11 +01: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
e5065185fd AdBlock: Add DuckDuckGo ad whitelist rules to custom list
Those rules cannot be deleted, but can be disabled.
Please consider not disabling those rules. Thanks!
2014-10-14 17:05:14 +02:00
David Rosca
a61e3ff0ad AdBlockTree: Fixed coloring CSS exception rules
CSS exception rules are now green (as exceptions) instead of
blue (as CSS rules)
2014-10-13 17:02:12 +02: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
ed866dc9a4 AdBlock: Add support for parsing CSS Element hiding exceptions
Those rules are however not supported at the moment.
2014-09-16 00:37:13 +02:00
David Rosca
6dcf8c598a AdBlock: Reload global user stylesheet after disabling/enabling AdBlock
It was needed to restart the browser to completely disable / enable
AdBlock.
2014-09-15 23:43:47 +02:00
David Rosca
c4e0646915 [AdBlock] Add "Other..." entry in AddSubscription dialog
To make it less confusing how to add a subscription that is not
listed in known subscriptions.
2014-07-08 19:08:28 +02:00
S. Razi Alavizadeh
7fc0c8d06d [RTL] Force AdBlockTreeWidget and treeTags to be as LTR widgets. 2014-05-29 01:08:56 +04:30
David Rosca
9df585a8f8 [AdBlockSubscription] Fix infinite loading of subscription when cannot write to file 2014-04-16 17:15:55 +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
463fa96e04 [Build] Fixed building with Qt5 2014-04-06 13:50:09 +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
6874df57d7 [Coding Style] Edited coding style (use linux style brackets)
Linux style brackets are now used also for source files.
One line blocks can now be without brackets.

Example:

if (test)
    foo();

Multi-line if statements are now written with conditionals (||, &&, ...)
at the end of line. The last line of if body does not ends with closing
bracket, instead the closing bracket is written on separate line.
One line blocks in multi-line if statements should not be without brackets.

Example:

if (test ||
    test2 &&
    test3
   ) {
    foo();
}

[ci skip]
2014-04-05 14:53:45 +02:00
nowrep
e6baa54179 [Qt5] Fixed QIODevice::not open warning message 2014-03-16 14:30:59 +01:00
nowrep
fe0b03fdb7 Include QDebug in qzcommon.h
It's annoying to always include it just to remove a moment after...
2014-03-16 13:22:41 +01: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
969f262cf8 [DataPaths] Don't add trailing slash to paths
Qt API is not adding trailing slashes to dir paths either.
2014-03-09 22:17:13 +01:00
nowrep
214279e3bb [DataPaths] Added new class DataPaths
This class holds all paths now (instead of MainApplication)
Renamed ProfileUpdater -> ProfileManager
ProfileManager is now responsible for all operations with profiles
2014-03-09 21:51:42 +01:00
nowrep
985db8a35d [AdBlockManager] Use Q_GLOBAL_STATIC for AdBlockManager 2014-03-09 12:54:23 +01:00
nowrep
a3c3dead87 [CodeCleanup] Get rid of Qz::AppMessage enum 2014-03-09 12:54:07 +01:00
nowrep
417da146e5 [QzTools] Make QzTools class and export only the class
Also fixed building on Windows
2014-03-07 22:54:50 +01:00
nowrep
5e4f703ef2 [Code] Renamed qz_namespace.h to qzcommon.h 2014-02-26 20:03:20 +01:00
nowrep
b6181315f7 [AdBlock] Don't add domain css rules to sites whitelisted with $document option
Closes #1246
2014-02-25 12:12:27 +01:00
nowrep
afae00e4a2 [Cleanup] Rename export macro to just QUPZILLA_EXPORT 2014-02-19 22:12:32 +01:00
nowrep
404fa68a1b [Cleanup] Renamed QupZilla class to BrowserWindow 2014-02-19 22:07:21 +01:00
nowrep
363cd01016 [AdBlockDialog] Show error if subscription can't be loaded 2014-02-14 10:38:43 +01:00
nowrep
8f5c422759 [AdBlock] Fixed incorrect handling of non-trivial exception rules
News are loading fine now on http://abcnews.go.com/
2014-02-05 14:28:44 +01:00
nowrep
b4377767c0 [AdBlockTreeWidget] Greatly speedup loading rules from subscriptions
Don't use per-pixel scrolling. For some reason, it massively slows
rendering of TreeWidget

See #1169
2014-01-25 21:13:14 +01:00
nowrep
4a7423b02f [AdBlockDialog] Change AdBlockDialog to QWidget
Closes #1169
2014-01-25 20:06:08 +01:00
nowrep
8eea60fe6a [AdBlockDialog] Options button is now QPushButton
Qt renders better down icon indicating the button has menu
2014-01-22 15:31:42 +01:00
Jonathan Hooverman
d917f43cf0 Updated copyright year to 2014 2014-01-11 16:11:42 +01:00
nowrep
da15e5868d [CodingStyle] Don't use references when assigning to local variable
Let the compiler do the optimization
2013-12-30 13:43:48 +01:00
nowrep
5fbf11c8f2 AdBlock: Fix issue when enabling rule didn't work until restart.
When attempting to enable rule that was already disabled on startup,
it won't have an effect until completely restarting the browser.
2013-11-04 16:06:07 +01:00
nowrep
2abefeaf79 AdBlock: Added option to use full EasyList subscription
Instead of downloading only the essential half of EasyList,
user can now choose to download and use the full list.
This restriction is still here because the other half of EasyList
is full of domain restricted rules that are using RegExps in our
implementation, and thus being slow.
2013-11-03 16:04:38 +01:00
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