Review Request: Extend khtml API to allow retrieval of the adblock filter that was matched (for display in GUI)
Jonathan Marten
jjm at keelhaul.me.uk
Fri Aug 21 16:41:29 BST 2009
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviewboard.kde.org/r/1382/
-----------------------------------------------------------
Review request for kdelibs.
Summary
-------
This patch to khtml allows the adblock filter that matched a blocked or whitelisted URL to be identified. Currently the only lookup function available is 'bool KHTMLSettings::isAdFiltered(const QString &url) const', which returns whether an URL is filtered but does not identify the filter that matched. The proposed addition is 'QString adFilteredBy(const QString &url) const' which returns the filter expression that matched.
It is intended that the matching filter will be displayed in the "Blockable items on this page" dialogue, as a tooltip over a blocked item.
This change should be BC according to the rules at http://techbase.kde.org/Policies/Binary_Compatibility_Issues_With_C++ because it only adds new non-virtual functions (but StringsMatcher::isMatched() becomes overloaded, so not SC). When possible (KDE5?), the two overloads of this can be merged into one with a default argument.
Performance should not be affected, as the only additional code run in the normal case (checking for a blocked URL) is a pointer comparison against NULL which will always succeed and do nothing more. Only when being called from the adblock GUI will the string-returning functions be used and the filter result stored.
Diffs
-----
/trunk/KDE/kdelibs/khtml/khtml_filter.cpp 997809
/trunk/KDE/kdelibs/khtml/khtml_filter_p.h 997809
/trunk/KDE/kdelibs/khtml/khtml_settings.h 997809
/trunk/KDE/kdelibs/khtml/khtml_settings.cpp 997809
Diff: http://reviewboard.kde.org/r/1382/diff
Testing
-------
Tested against a modified version of the adblock plugin (not committed yet, this addition to KHTML is needed first). The matching filter is retrieved and displayed as a tooltip.
Thanks,
Jonathan
More information about the kde-core-devel
mailing list