Commit graph

1368 commits

Author SHA1 Message Date
Raymond Hill
a9f68fe02f
Fix #3069, and consequently #3374, #3378.
A new filtering class has been created: "static extended filtering".
This new class is an umbrella class for more specialized filtering
engines:
- Cosmetic filtering
- Scriptlet filtering
- HTML filtering

HTML filtering is available only on platforms which support modifying
the response body on the fly, so only Firefox 57+ at the moment.

With the ability to modify the response body, HTML filtering has
been introduced: removing elements from the DOM before the source
data has been parsed by the browser.

A consequence of HTML filtering ability is to bring back script tag
filtering feature.
2017-12-28 13:49:02 -05:00
Raymond Hill
3f335ad432
address incomplete fix for #2877 as per feedback: dec0b80a72 (commitcomment-26447318) 2017-12-23 08:14:08 -05:00
Raymond Hill
4f5f3652ed
code review re last commit b446f9f8bd 2017-12-22 11:56:27 -05:00
Raymond Hill
b446f9f8bd
fix regression reported in dec0b80a72 (commitcomment-26435928) by partially reverting changes from 4a09c9f866 2017-12-22 11:45:07 -05:00
Raymond Hill
4ab63e70fe
code review: avoid Array.splice/unshift
The array size stays the same, items are just moved around.
2017-12-22 09:37:26 -05:00
Raymond Hill
607968de7f
code review: cache most-recently-used pre-filled scriptlets 2017-12-21 17:05:25 -05:00
Raymond Hill
4a09c9f866
improve slightly pre-parsing of ##script:... filters 2017-12-17 10:28:12 -05:00
Raymond Hill
dec0b80a72
fix #2877 2017-12-17 08:09:47 -05:00
Raymond Hill
8e7ccef14c
code review for #3331: support relative paths as per https://github.com/AdguardTeam/AdguardBrowserExtension/issues/917 2017-12-15 09:24:06 -05:00
Raymond Hill
912582ce4b
code review: remove space as per https://github.com/AdguardTeam/AdguardBrowserExtension/issues/917 2017-12-15 07:55:15 -05:00
Raymond Hill
6a8c27b6df
fix #3331: ability to fetch sublists using !# include directives 2017-12-15 07:39:21 -05:00
Raymond Hill
36956cbc7a
remove obsolete resource caching code 2017-12-14 16:42:54 -05:00
Raymond Hill
ca8917149d
fix #3341 2017-12-13 08:02:55 -05:00
gorhill
958a7c20ed
fix #3335 2017-12-10 15:03:03 -05:00
gorhill
e83ffde5af
code review for #3328 2017-12-08 07:07:05 -05:00
gorhill
c7e8b65b6c
fix #3328 2017-12-08 00:33:02 -05:00
gorhill
faad68f37b
code review: simplify needlessly complicated logger buffering code 2017-12-01 16:42:33 -05:00
gorhill
142ed51f05
comment fix with issue number (#3287) 2017-11-27 17:09:22 -05:00
gorhill
426d9e9db1
fix #3287 2017-11-27 14:48:01 -05:00
gorhill
75659a3154
fix #3260 2017-11-22 07:41:33 -05:00
Kacper Michajłow
ec70c75264 improve DOM inspector (#3254)
* dom-inspector: Improvments

- Fix race between userCSS injection and element highlight resulting in none or not all elements highlighted.
- Fix page being scanned twice resulting in unneeded slowdown.

* dom-inspector: Clear mutationTimer to allow more than one update.

* dom-inspector: Fix procedural filters shown as declarative with expando.
2017-11-21 18:08:32 -05:00
gorhill
b85ea96d1e
fix #3257 2017-11-21 13:38:31 -05:00
gorhill
806032cdc4
improve DOM inspector
- Fix regressions reported in #3159
- Fix #2001
- Fix some item points in #407
2017-11-20 08:42:32 -05:00
gorhill
387eaa0b21
fix #3185 2017-11-16 10:55:28 -05:00
gorhill
b02fcb1b31
fix #3130 2017-11-16 00:34:01 -05:00
gorhill
118240d36d
fix #3232 (regression from 386e8bee9c) 2017-11-15 16:32:52 -05:00
gorhill
374e157b11
fix #3159 2017-11-14 15:03:20 -05:00
gorhill
034e46b055
mind isTrusted for click events (see https://palant.de/2017/11/11/on-web-extensions-shortcomings-and-their-impact-on-add-on-security) 2017-11-12 07:44:28 -05:00
gorhill
48f65f11d1
fix #2963 2017-11-12 07:41:55 -05:00
gorhill
8b0df725a1
minor code review (#2072) 2017-11-10 08:01:04 -05:00
gorhill
7b27e8f08a
add further fixes as per feedback (#2072) 2017-11-10 07:53:27 -05:00
gorhill
d3d522ac46
fix #3213 2017-11-10 06:56:38 -05:00
gorhill
bc036724c1
code review (#3208) 2017-11-09 15:46:25 -05:00
gorhill
386e8bee9c
fix #3210 2017-11-09 12:53:05 -05:00
gorhill
3dcfc302e4
fix https://github.com/gorhill/uBlock/issues/3208#issuecomment-342900031 2017-11-08 13:29:04 -05:00
gorhill
e5afbb2ed7
further make popup panel more ARIA-friendly (#2072) 2017-11-08 07:34:22 -05:00
gorhill
9884ff115a
code review e7294a46d4: force refresh tooltip if needed 2017-11-07 17:03:24 -05:00
gorhill
e7294a46d4
fix https://github.com/gorhill/uBlock/issues/2072#issuecomment-342594160 2017-11-07 16:38:26 -05:00
gorhill
9d86ab0af9
fix #3201 2017-11-07 11:31:19 -05:00
gorhill
4d20950dfa
save investigative work for the future re. wasm 2017-11-05 12:33:46 -05:00
gorhill
da605f53a6
code review: avoid pointless test for single-char cells 2017-11-05 06:45:43 -05:00
gorhill
f71d3689a9
fix case 2 of #3199 2017-11-04 23:51:44 -04:00
gorhill
8d44bf9837
fix #3187 again, as per feedback 2017-11-03 16:51:28 -04:00
gorhill
22c460d52f
just edit comments 2017-11-03 08:36:16 -04:00
gorhill
5928996f2a
address #3193 2017-11-02 15:49:11 -04:00
gorhill
2ca8c76cb8
fix #3187 2017-11-02 11:12:17 -04:00
gorhill
3044590fa6
code review: allow free scrolling in element picker mode 2017-10-31 08:26:51 -04:00
gorhill
2db377f577
code review: lower timer delay = less risk of large backlog 2017-10-31 06:47:39 -04:00
gorhill
cbff97f8e7
code review: improve caching of high generics with exceptions 2017-10-29 13:58:46 -04:00
gorhill
25e2452722
code review: use for..of instead of for(..;..;..) 2017-10-28 16:50:44 -04:00
gorhill
005c659500
code review: improve element picker for touch-only devices 2017-10-28 09:07:41 -04:00
gorhill
bbda2a9086
code review: preemptively address https://bugzilla.mozilla.org/show_bug.cgi?id=1408996#c9 2017-10-27 14:22:45 -04:00
gorhill
d60edbfae1
code review last commit: oops 2017-10-26 06:23:57 -04:00
gorhill
44ce44aa42
code review: early injection of lookred up generic cosmetic filters when possible 2017-10-26 06:18:03 -04:00
gorhill
6b65e3f406
code review: avoid reinjecting already injected low generic cosmetic filters 2017-10-25 11:42:18 -04:00
gorhill
26e9bb7c19
code review: use Map instead of Object 2017-10-25 11:37:58 -04:00
gorhill
9952e12aff
fine tune DOM surveyor 2017-10-24 16:38:51 -04:00
gorhill
ed5dba432a
fix https://discourse.mozilla.org/t/support-ublock-origin/6746/606 2017-10-24 09:09:10 -04:00
gorhill
2bea51cc63
fix silly regression regarding the DOM surveyor 2017-10-24 07:55:35 -04:00
gorhill
7571d4c576
fix no-popups switch color in logger 2017-10-23 22:39:30 -04:00
gorhill
9b891384af
fix #3165 2017-10-23 22:27:39 -04:00
gorhill
f516cd3d26
remove unused source code 2017-10-23 13:33:35 -04:00
gorhill
a76f5b15ac
fix https://github.com/gorhill/uBlock/issues/3160#issuecomment-338509997 2017-10-23 12:21:37 -04:00
gorhill
6e18829f02
add to #2984: fix regressions, as per feedback and code review 2017-10-23 09:01:00 -04:00
gorhill
14109b33d6
minor code review 2017-10-22 14:20:33 -04:00
gorhill
ef84e6d8fd
fix https://github.com/gorhill/uBlock/issues/2984#issuecomment-338475886 2017-10-22 12:48:13 -04:00
gorhill
4f7aab695c
fix #3160 2017-10-22 08:59:29 -04:00
gorhill
6112a68faf
fix #2984 2017-10-21 13:43:46 -04:00
gorhill
95b25f7d49
fix #3150 2017-10-19 09:35:28 -04:00
gorhill
143e9c7414
more code review re. #3140 2017-10-19 08:07:00 -04:00
gorhill
7e21eec7ce
code review for #3140: handle case where both blockedURI & sourceFile are not found 2017-10-19 00:45:24 -04:00
gorhill
eb7bdba47f
fix #3140 2017-10-18 15:00:22 -04:00
gorhill
d44c54a477
code review: diregard letter case when validating popup filters as popunder ones 2017-10-13 09:52:17 -04:00
gorhill
9b83033785
code review of 7713597e (oops) 2017-10-13 09:38:16 -04:00
gorhill
7713597e3e
fix #3129, #3112, #2277 2017-10-13 09:33:02 -04:00
gorhill
0c1207bd7a
fix #3110 2017-10-09 09:28:28 -04:00
gorhill
8c33720d16
fix #3111 2017-10-08 23:47:23 -04:00
gorhill
49c19f2dcc
remove stray console.log used for development purpose 2017-10-06 13:47:39 -04:00
gorhill
4639d75896
fix #3101 2017-10-06 13:35:45 -04:00
gorhill
c49ba60f0b
minor code review 2017-10-05 08:38:34 -04:00
gorhill
bd18fe3901
fix #2793: user-friendlier normalization 2017-10-04 13:20:43 -04:00
gorhill
a6b01cb0e5
fix #3090 2017-10-04 11:14:24 -04:00
gorhill
e7e390d2e2
fix #3077 2017-10-01 07:56:28 -04:00
gorhill
ca299a394f
code review fix as per https://github.com/gorhill/uBlock/issues/2793#issuecomment-333269387 2017-09-30 10:18:41 -04:00
gorhill
6a71fc59a4
evict possible remnant of resources.txt from cache [Firefox] 2017-09-29 08:22:17 -04:00
gorhill
8559669e89
fix #2755 2017-09-28 12:53:05 -04:00
gorhill
d73b888150
fix #3060 2017-09-27 10:27:29 -04:00
gorhill
c74526a895
fix #3057 2017-09-26 16:09:35 -04:00
gorhill
83ff2ef26e
fix #3053 2017-09-26 07:54:06 -04:00
gorhill
ac481ec1f2
fix #1510 2017-09-21 11:46:15 -04:00
gorhill
e9beccba51
code review of fix #3038 2017-09-19 23:25:08 -04:00
gorhill
1b6c211fa0
fix #3038 2017-09-19 12:58:11 -04:00
gorhill
59ba5248f5
fix #3034 2017-09-18 13:06:36 -04:00
gorhill
b677600637
fix #3032 -- hopefully 2017-09-18 10:52:30 -04:00
gorhill
1e760f9429
fix #3024: regression from 5626b500 2017-09-16 07:59:56 -04:00
gorhill
2c4faaa84d
fix #3020 2017-09-16 07:49:43 -04:00
gorhill
f632171566
remove spurious space character 2017-09-14 17:54:59 -04:00
gorhill
faeedeaf56
fix #2283 2017-09-13 23:41:20 -04:00
gorhill
5626b5005a
fix #2946 2017-09-12 11:43:43 -04:00
gorhill
dfe18111b9
fix #1539 2017-09-11 09:53:42 -04:00
gorhill
c641cadea9
rename "Social" filter list category to "Annoyances" 2017-09-10 13:02:04 -04:00
gorhill
2660bee0d2
fix #2919 2017-09-05 19:49:48 -04:00
gorhill
8b4b1fa9db
properly fix #2938 2017-08-31 14:17:55 -04:00
gorhill
73387e54ad
fix #2938 2017-08-30 19:03:02 -04:00
gorhill
126110c9a0
remove ability to pull latest version of resources.txt from remote repo.
This is required as per Firefox extension reviewers. Mail exchange:

========

Reviewer:
> Do I read the code correctly that you are executing remote JS by
> downloading/updating from
> https://raw.githubusercontent.com/uBlockOrigin/uAssets/master/filters/resources.txt
> and injecting scripts in contentscripts.js?

Me:
> Yes, resources.txt contains scriptlets or other resources used to:
>
> - Minimize potential page breakage (e.g. google-analytics.com/ga.js);
> - Defuse anti-blockers (e.g. bab-defuser.js);
> - Defuse anti-blockers or minimize page breakage through redirection
> (e.g. 2x2-transparent.png)
>
> This is not a new feature -- this is also part of the legacy version,
> and I consider this is a major feature of uBO. Given how fast things can
> change out there, this allows me to quickly push fixes when a new issue
> is reported for a site without having to go through a full update of the
> extension.

Reviewer:
> I am aware that this is not a new feature. I am unclear why it has been
> allowed in the past, since it violates our policy about remote code
> execution. I assume it was missed due to the fairly complex codebase.
>
> I can approve this version so you are not blocked on the migration, but
> eventually, you cannot use functionality that executes remote code.
> Since we're moving to a more automated review process, you will be able
> to ship new versions without being blocked on a human review.

Me:
> Do I understand correctly that extensions such as TamperMonkey or
> ViolentMonkey won't be allowed on AMO?
>
> Those extensions are even more permissive than uBO given a user can
> import scripts from any source, while with uBO only scriptlets which are
> part of the project are allowed.

Reviewer:
> The key difference between add-ons like Tampermonkey and uBO is that in
> Tampermonkey, users are making an active and conscious decision to
> download and execute that specific code. In uBO, the user did not
> initiate that download/execution, nor are they even aware of it
> happening.

Me:
> So users of TamperMonkey -- tech-savvy or not -- can download & inject
> countless 3rd-party user scripts from countless authors, have them
> update on their own automatically at regular interval with no user
> intervention.
>
> On the other hand, it's not acceptable for me, the author of the
> extension, who users implicitly trusted when installing the extension,
> who is completely controlling and vouching for the content of
> "resources.txt", to have this one 1st-party resource file[1] to be
> updated at regular interval with no user intervention.
>
> So anyways, what is expected from me at this point? Do I need to remove
> scriptlet injection and resource redirection features? Do I need to
> remove only the updating part of resources.txt?
>
> [1] key to core features of uBO (counter anti-blockers + page breakage
> mitigations) and possibly an important factor in installing the
> extension.

========

Now about this commit: the purpose of the code change here is to
prevent "resources.txt" -- which is part of the package -- from being
updated -- this applies only to the Firefox webext[-hybrid] version
of uBO.
2017-08-30 09:15:06 -04:00
gorhill
beb7933016
fix #2925 2017-08-29 18:32:00 -04:00
gorhill
b2e89c9ece
generate better regex for hostname-anchored generic filters 2017-08-24 18:30:05 -04:00
gorhill
c31d29c2e3
fix bad test: regression from fdcc9515 2017-08-24 17:54:27 -04:00
gorhill
63be43a365
shield content script against exceptions in injected scriptlets 2017-08-21 12:04:35 -04:00
gorhill
a1350b8cff
fix #2882 2017-08-17 09:54:01 -04:00
gorhill
fdcc9515dc
fix #2029 2017-08-17 08:25:02 -04:00
gorhill
d1c752da29
fix bad English in comment 2017-08-16 18:06:04 -04:00
gorhill
797082a36c
fix #2552 2017-08-16 14:10:41 -04:00
gorhill
5f72565f7a
fix #2873 2017-08-15 09:09:16 -04:00
gorhill
0e078e536d
eliminate validation warning on AMO: avoid innerHTML 2017-08-11 14:26:15 -04:00
gorhill
eb3519b075
fix #2839 2017-08-03 10:18:05 -04:00
gorhill
43512277c6
fix #2835 2017-07-31 17:03:09 -04:00
gorhill
645c862886
always set browserAction title 2017-07-25 09:16:48 -04:00
gorhill
906cb34716
make uBO/webext functional on Firefox for Android Nightly 2017-07-24 19:25:49 -04:00
gorhill
d866e4d472
add proper handling of potentially unsupported webext APIs 2017-07-24 11:35:22 -04:00
gorhill
0d892a8856
fix #2810 2017-07-23 09:56:43 -04:00
gorhill
48ee02980b
remove stray code change from f5ef83719c 2017-07-22 17:13:21 -04:00
gorhill
b429e1c7ba
fix #2813 2017-07-22 16:58:08 -04:00
gorhill
f5ef83719c
address #2806 2017-07-21 07:48:50 -04:00
gorhill
f1036395f7
add workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=1360285 2017-07-19 09:36:17 -04:00
gorhill
49d287994f
remove obsolete default whitelist directive 2017-07-14 07:49:58 -04:00
gorhill
36317e67a2
#2781: code review, small fine tuning 2017-07-13 14:34:43 -04:00
gorhill
3aed25ff2c
#2781: code review, try a bit harder to find a good token 2017-07-11 15:04:25 -04:00
gorhill
f0ea2b6f9a
#2781: code review 2017-07-11 13:57:31 -04:00
gorhill
2862368a99
fix #2781 2017-07-11 12:21:08 -04:00
gorhill
93f575c4c0
fix https://github.com/gorhill/uBlock/issues/2776#issuecomment-313922863 2017-07-09 10:39:23 -04:00
gorhill
7fb034f640
minor code review: logData can still be set when not logging 2017-07-09 08:45:55 -04:00
gorhill
9701a519a2
really fix #2776 2017-07-09 06:58:34 -04:00
gorhill
974194ab8d
fix #2776 2017-07-08 20:03:37 -04:00
gorhill
9ac4dc9f81
fix #2768 2017-07-07 11:23:24 -04:00
gorhill
186c119202
fix #2753 2017-07-03 10:54:30 -04:00
gorhill
414765f526
code review: fix workaround for legacy FF 2017-07-03 10:50:47 -04:00
gorhill
2cb8ddbe03
fix #2740 2017-07-03 10:20:47 -04:00
gorhill
a8382e821d
work around for #2734 until fixed in Nightly 2017-07-03 09:51:34 -04:00
gorhill
20346ef0ed
auto-convert removed stock list into an imported list 2017-07-03 09:08:46 -04:00
gorhill
d337abe504
minor code review 2017-06-22 14:36:45 -04:00
Sean Stangl
88fcf53d34 Check childElementCount directly. (#2725) 2017-06-21 20:09:19 -04:00
gorhill
9b55684551
fix #2718 2017-06-21 15:49:42 -04:00
gorhill
5ee1fa7684
fix #2720 2017-06-21 07:17:44 -04:00
gorhill
84f22ce3a6
code review: do not pollute logger with firewall noop rules 2017-06-14 08:32:12 -04:00
gorhill
2c9c98eb79
fix #2664 2017-06-07 17:35:22 -04:00
gorhill
6b293dd58b
code review: put back erroneously removed line 2017-06-07 13:20:35 -04:00
gorhill
e17e9c804a
fix #1754 2017-06-05 09:26:11 -04:00
gorhill
cc935ee19a
minor fine tuning 2017-06-02 08:17:09 -04:00
gorhill
dbe95c438b
fix #2666 2017-05-31 11:49:37 -04:00