Commit graph

7697 commits

Author SHA1 Message Date
Raymond Hill
01b1ed9a98
Add a new static filtering parser
A new standalone static filtering parser is introduced,
vAPI.StaticFilteringParser. It's purpose is to parse
line of text into representation suitable for
compiling filters. It can additionally serves for
syntax highlighting purpose.

As a side effect, this solves:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1038

This is a first draft, there are more work left to do
to further perfect the implementation and extend its
capabilities, especially those useful to assist filter
authors.

For the time being, this commits break line-continuation
syntax highlighting -- which was already flaky prior to
this commit anyway.
2020-06-04 07:18:54 -04:00
Raymond Hill
e8c8fab8c8
Make Firefox dev build auto-update 2020-05-31 07:20:45 -04:00
Raymond Hill
65454dcf6a
New revision for dev build 2020-05-31 07:12:43 -04:00
Raymond Hill
46197a11c5
Possibly fix popup document not being found
This is a blind fix attempt, related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1085
2020-05-31 07:08:24 -04:00
Raymond Hill
0fb669d0d4
Make Firefox dev build auto-update 2020-05-29 07:30:53 -04:00
Raymond Hill
72e6ccce8a
Import translation work from https://crowdin.com/project/ublock 2020-05-29 07:24:41 -04:00
Raymond Hill
e9dca26571
New revision for dev build 2020-05-29 07:22:02 -04:00
Raymond Hill
3508d476ff
Fix bad logger output for miss set of hostnames
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1076
2020-05-29 07:19:23 -04:00
Raymond Hill
5924cab7b3
Make Firefox dev build auto-update 2020-05-27 08:05:50 -04:00
Raymond Hill
748442cf64
New revision for dev build 2020-05-27 08:01:29 -04:00
Raymond Hill
fd90776a25
Import translation work from https://crowdin.com/project/ublock 2020-05-27 07:47:23 -04:00
Raymond Hill
4b07d3b983
New revision for dev build 2020-05-27 07:44:21 -04:00
Raymond Hill
a974562f7e
Expand HTML entities in title attribute
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1074
2020-05-27 06:54:11 -04:00
Raymond Hill
f6d664ba34
Import translation work from https://crowdin.com/project/ublock 2020-05-26 09:36:17 -04:00
Raymond Hill
faffb63234
easylist.to server is fixed, revert a79e0c8f40 2020-05-26 08:14:08 -04:00
Raymond Hill
a79e0c8f40
Use secure.fanboy.co.nz/easylist.txt for the time being
Related discussion:
- https://twitter.com/gorhill/status/1264689513475039232
2020-05-25 07:32:02 -04:00
Raymond Hill
972f949ffd
Make Firefox dev build auto-update 2020-05-25 07:21:05 -04:00
Raymond Hill
cd1fef2d5c
On re-consideration, remove popupPanelGodMode
`filterAuthorMode` is sufficient to enable the
ability to create _allow_ rules from popup panel.
2020-05-25 07:08:02 -04:00
Raymond Hill
903616f9a8
New revision for dev build 2020-05-25 07:05:53 -04:00
Raymond Hill
8310e91e0e
Fix mixing hostname and entity in domain= option
Reported internally.

Related commit:
- 3c67d2b89f
2020-05-25 07:02:49 -04:00
Raymond Hill
b2d0e95b4f
Make Firefox dev build auto-update 2020-05-24 11:20:31 -04:00
Raymond Hill
234eabe68b
New revision for dev build 2020-05-24 11:10:51 -04:00
Raymond Hill
b61ce3600a
Import translation work from https://crowdin.com/project/ublock 2020-05-24 11:10:17 -04:00
Raymond Hill
3c67d2b89f
Add support for entity-matching in domain= filter option
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1008

This commit adds support entity-matching in the filter
option `domain=`. Example:

    pattern$domain=google.*

The `*` above is meant to match any suffix from the Public
Suffix List. The semantic is exactly the same as the
already existing entity-matching support in static
extended filtering:

- https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#entity

Additionally, in this commit:

Fix cases where "just-origin" filters of the form `|http*://`
were erroneously normalized to `|http://`. The proper
normalization of `|http*://` is `*`.

Add support to store hostname strings into the character
buffer of a hntrie container. As of commit time, there are
5,544 instances of FilterOriginHit, and 732 instances of
FilterOriginMiss, which filters require storing/matching a
single hostname string. Those strings are now stored in the
character buffer of the already existing origin-related
 hntrie container. (The same approach is used for plain
patterns which are not part of a bidi-trie.)
2020-05-24 10:46:16 -04:00
Raymond Hill
56a3aff857
Make Firefox dev build auto-update 2020-05-23 20:06:11 -04:00
Raymond Hill
2fc4113011
new revision for dev build 2020-05-23 19:50:49 -04:00
Raymond Hill
196746386c
Double-tap ctrl key to toggle god mode in popup panel
After many feedback:
- https://github.com/gorhill/uBlock/commit/aec2f81884c5#commitcomment-39385794

This is convenient enough and this still fulfill
the idea of not being able to create mindlessly
allow_ rules.
2020-05-23 19:48:28 -04:00
Raymond Hill
a018937792
Use ctrl-spacebar instead of spacebar to toggle god mode
Related feedback:
- https://github.com/gorhill/uBlock/commit/aec2f81884c5#commitcomment-39385794
2020-05-23 09:26:21 -04:00
Raymond Hill
aec2f81884
Add ability to toggle god mode in popup panel
Pressing spacebar will toggle god mode in popup
panel.

This capability shouldn't encourage people to
misuse _allow_ rules as having to press the
space bar act as an extra necessary step which
purpose is to make the creation of _allow_ rules
more mindful.
2020-05-23 06:37:04 -04:00
Raymond Hill
9270f50fe3
Fix dev build version number as per current stable 1.27.6 2020-05-22 12:38:45 -04:00
Raymond Hill
66e114cee9
Make Firefox dev build auto-update 2020-05-22 11:55:45 -04:00
Raymond Hill
75eb791116
New revision for dev build 2020-05-22 11:51:38 -04:00
Raymond Hill
162e537270
Make the creation of _allow_ rules in panel an opt-in feature
There have been too many examples out there of users
opting-in to "I am an advanced user" and yet still misusing
dynamic filtering by creating _allow_ rules where _noop_
rules should be used.

Creating _allow_ rules has serious consequences as these
override blocking static filters and can potentially
disable other advanced filtering ability such as
HTML filtering and scriptlet injection -- often used
to deal with anti-blocker mechanisms.

The ability to point-and-click to create _allow_ rules
from the popup panel is no longer allowed by default.

An new advanced setting has been added to enable
the ability to create _allow_ rules from the popup
panel, `popupPanelGodMode`, which default to `false`.
Set to `true` to restore ability to set _allow_ rules
from popup panel.

Since the creation of _allow_ rules is especially useful
to filter list authors, to diagnose and narrow down site
breakage as a result of problematic blocking filter,
the creation of _allow_ rules will still be available
when the advanced setting `filterAuthorMode` is `true`.

This change is probably going to be problematic to all
those users who were misusing dynamic filtering by
creating _allow_ rules instead of _noop_ rules -- but
the breakage is going to bring their misusing to their
attention, a positive outcome.
2020-05-22 11:35:44 -04:00
Raymond Hill
7b140a139e
Import translation work from https://crowdin.com/project/ublock 2020-05-22 10:14:08 -04:00
Raymond Hill
5f4e6d80e0
Add ability to lock firewall height to basic pane height
New advanced setting: `popupPanelHeightMode`.
Default value: 0

Set to 1 to force the height of the firewall pane
to be no more than the height of the basic pane.

Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/785#issuecomment-622327450
2020-05-22 08:47:51 -04:00
Raymond Hill
735c2ffae2
Make Firefox dev build auto-update 2020-05-20 14:06:06 -04:00
Raymond Hill
ae93c6eb31
Import translation work from https://crowdin.com/project/ublock 2020-05-20 13:53:22 -04:00
Raymond Hill
2764826597
New revision for dev build 2020-05-20 13:46:39 -04:00
Raymond Hill
a5a447186b
Fix computing the path of nested lists
Regression from:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1034

Nested lists must have their path computed from their
parent list path, not from the path of the root list.
2020-05-20 12:38:41 -04:00
Raymond Hill
229bc8c0bf
Make Firefox dev build auto-update 2020-05-19 11:40:45 -04:00
Raymond Hill
910dfdb123
New revision for dev build 2020-05-19 11:33:21 -04:00
Raymond Hill
238d31c319
Import translation work from https://crowdin.com/project/ublock 2020-05-19 11:31:00 -04:00
Raymond Hill
9f7e5b621d
Add new advanced setting: uiStyles
Default to `unset`.

To allow users to bypass uBO's default CSS styles in
case they are causing issues to specific users. It is
the responsibility of the user to ensure the value of
`uiStyles` contains valid CSS property declarations.
uBO will assign the value to `document.body.style.cssText`.

Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1044

For example, in the case of the issue above, one could
set `uiStyles` to `font-family: sans-serif` to force uBO
to the system font for its user interface.
2020-05-19 10:33:36 -04:00
Raymond Hill
5229e0c810
Ensure either .desktop or .mobile class is set
One of these must always be present. This commit
fixes a theoretical case where neither of these
classes are set on the body element.
2020-05-19 10:29:09 -04:00
Raymond Hill
e9f9b5f622
Remove unused CSS file 2020-05-19 10:28:40 -04:00
Raymond Hill
481f0b44e8
Make Firefox dev build auto-update 2020-05-18 15:40:46 -04:00
Raymond Hill
2ee9fb1815
New revision for dev build 2020-05-18 15:31:45 -04:00
Raymond Hill
f0a445b4e9
Import translation work from https://crowdin.com/project/ublock 2020-05-18 15:15:28 -04:00
Raymond Hill
458f364e3e
Prevent more/less buttons from wrapping
The text of the more/less buttons was spotted
as wrapping in ja locale.
2020-05-18 09:08:11 -04:00
Raymond Hill
5e8f65920d
Make Firefox dev build auto-update 2020-05-18 08:31:22 -04:00