Commit graph

7750 commits

Author SHA1 Message Date
Raymond Hill
f8b0ee0fdc
Fix validation of redirect rules with empty resource
The `empty` resource is a special case, it does not
require a network type to be present to be valid.
2020-06-15 07:40:18 -04:00
Raymond Hill
cb5437b161
Support redirect rules with no pattern
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/977

No pattern will imply `*` for the redirect destination
part of the rule.
2020-06-14 15:09:35 -04:00
Raymond Hill
7e4b920bc7
Make Firefox dev build auto-update 2020-06-14 14:21:10 -04:00
Raymond Hill
11a2d2123e
New revision for dev build 2020-06-14 14:04:20 -04:00
Raymond Hill
0e32e4391d
Add ability to comment out block of filters
Pressing Tab in _My filters_ will toggle the
commenting out of filters in the current
selection or current line if no selection.
2020-06-14 14:02:33 -04:00
Raymond Hill
84e53541aa
Make Firefox dev build auto-update 2020-06-14 12:20:36 -04:00
Raymond Hill
75e364083b
New revision for dev build 2020-06-14 12:13:52 -04:00
Raymond Hill
6d8b310d94
Minor code review of static filtering parser
Rename `l` property to `len`, to avoid ambiguity as
`l` could mean _left_ or _length_. Typically `l` is
to be used for _left_ (whereas `r` is to be used for
_right_).

Additionally, add CodeMirror's bracket-matching and
bracket auto-closing to _My filters_ pane and and
bracket-matching to asset viewer page.
2020-06-14 12:05:42 -04:00
Raymond Hill
2523959f20
Better handling of separator errors in domain lists
Specifically, do not invalidate valid hostnames when
there are extraneous separators: that sort of error
will be visually highlighted but will not otherwise
prevent a filter from being properly enforced.
2020-06-13 17:04:42 -04:00
Raymond Hill
875a33e381
Make Firefox dev build auto-update 2020-06-13 13:00:43 -04:00
Raymond Hill
f04d5cd71a
New revision for dev build 2020-06-13 12:56:15 -04:00
Raymond Hill
a211c2c95d
Convert selector compiler closured code into standalone class
This ensures proper garbage collection once the parser
is no longer referenced -- this is important now that
the parser is instantiated on-demand only.
2020-06-13 12:53:49 -04:00
Raymond Hill
0ec4c911dd
Fix improper handling of regex flags in search widget
Reported internally.

Potential regex flags are passed as is to RegExp contructor,
and in case of failure the query is deemed a plain text one.

Related commit:
- 8de67d22bd (diff-3f4aa453cefa49f6431f1bba3bb53a8e)
2020-06-13 11:13:48 -04:00
Raymond Hill
99a162f925
Make Firefox dev build auto-update 2020-06-13 09:05:32 -04:00
Raymond Hill
1d5800629a
New revision for dev build 2020-06-13 08:57:49 -04:00
Raymond Hill
1a082e0581
Expand parser's ability to process static extended filtering
This commit moves some of the parsing logic of static
extended filtering into the static filtering parser; this
allows better syntax highlighting and creation-time
error-catching for cosmetic, HTML, and scriptlet filters.
2020-06-13 08:48:56 -04:00
Raymond Hill
681bd70116
Fix reverse lookup of generic cosmetic exception filters
Reported internally.
2020-06-11 07:18:45 -04:00
Raymond Hill
89fcdc6a11
Update URL for EasyList Lithuania
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1106
2020-06-10 16:28:31 -04:00
Raymond Hill
d775a58712
Make Firefox dev build auto-update 2020-06-10 12:35:34 -04:00
Raymond Hill
bfa6493abe
Import translation work from https://crowdin.com/project/ublock 2020-06-10 12:29:22 -04:00
Raymond Hill
b292fa738f
New revision for dev build 2020-06-10 12:25:29 -04:00
Raymond Hill
6926030b68
Expand static parser to better detect invalid syntax
Specifically:

There can't be more than one `redirect` or `csp`
option.

There can be no type specified when there is a
`csp` option.

There must be one single network-related type when
there is a `redirect` option. Since `empty` and
`mp4` imply a `redirect` and a network-related
type, these can't be used along another `redirect`
or network-related type.

Related commit:
- 01b1ed9a98
2020-06-10 12:15:50 -04:00
Raymond Hill
d784fda98b
Fix matching of filters with trailing ^|
Related feedback:
- https://www.reddit.com/r/uBlockOrigin/comments/h08132/can_we_enable_javascript_on_the_homepage_but/ftkxvc5/

The right bound of the match needs to be incremented
when a trailing `^` matches a character.
2020-06-10 09:53:21 -04:00
Raymond Hill
bc7f149252
Minor code review of static parser code 2020-06-09 11:58:27 -04:00
Raymond Hill
410ef862a4
Make Firefox dev build auto-update 2020-06-08 12:55:30 -04:00
Raymond Hill
577d023d47
New revision for dev build 2020-06-08 12:46:28 -04:00
Raymond Hill
afd3443e4b
Merge branch 'master' of github.com:gorhill/uBlock 2020-06-08 12:40:33 -04:00
Raymond Hill
08eca13364
Visually emphasize regex-based pattern
To help prevent mistakenly creating regex-based
patterns.
2020-06-08 12:39:31 -04:00
Raymond Hill
c7a9977b09
Update README.md 2020-06-08 10:57:25 -04:00
Raymond Hill
ccbfd046c5
Update README.md 2020-06-08 10:52:34 -04:00
Raymond Hill
994342506b
Make Firefox dev build auto-update 2020-06-08 09:10:22 -04:00
Raymond Hill
a36e8e9e88
New revision for dev build 2020-06-08 08:57:21 -04:00
Raymond Hill
58c6baf0ba
Syntax highlight dubious patterns
Network filters with dubious patterns are discarded
by the static network filtering engine.
2020-06-08 08:53:29 -04:00
Raymond Hill
5752ad58b8
Code review of option iterator code
Related commit:
- 01b1ed9a98

Reuse returned item each time the iterator is
restarted.
2020-06-07 19:30:30 -04:00
Raymond Hill
41523d21db
Prepare static parser to better detect invalid filters
Additionally, syntax-color invalid regular expression.
2020-06-07 11:55:27 -04:00
Raymond Hill
d2d19b747c
Make Firefox dev build auto-update 2020-06-07 09:00:20 -04:00
Raymond Hill
28db661ce0
New revision for dev build 2020-06-07 08:54:41 -04:00
Raymond Hill
7dc962281f
Set max token length on parser for consistent compilation
Reported internally. The issue could cause the logger
to be unable to successfully reverse-lookup a filter
list for a filter which had tokens longer than 6
characters followed by wildcard.

Regression from:
- 01b1ed9a98
2020-06-07 08:50:20 -04:00
Raymond Hill
15657a3f1e
Make Firefox dev build auto-update 2020-06-07 07:51:13 -04:00
Raymond Hill
49258bcbea
New revision for dev build 2020-06-07 07:44:04 -04:00
Raymond Hill
f869348d1f
Fix string slice extraction from parser
Reported internally.

Regression from:
- 01b1ed9a98

The regression was made apparent be the fact that
AdGuard filter lists have lines ending with the
CR character.
2020-06-07 07:40:00 -04:00
Raymond Hill
5408e10a95
Make Firefox dev build auto-update 2020-06-06 17:50:47 -04:00
Raymond Hill
c75324803b
New revision for dev build 2020-06-06 17:43:49 -04:00
Raymond Hill
0d1a532bfa
Disregard possible trailing carriage return characters
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1101
2020-06-06 17:42:21 -04:00
Raymond Hill
b34e6da6ec
Split fetching settings/storage used in Settings pane
Computing storage-used figures can take longer than
usual sometimes when a lot of filter lists are enabled,
and this can cause the Settings pane to take longer to
be filled the first time it is opened. Fetching
settings and storage-used figures separately removes
that potential delay (they were fetched together in
a single Promise.all() call).
2020-06-06 08:45:24 -04:00
Raymond Hill
ec2670903b
Make Firefox dev build auto-update 2020-06-05 10:35:02 -04:00
Raymond Hill
a3e13718aa
New revision for dev build 2020-06-05 10:01:10 -04:00
Raymond Hill
2ba4312a8b
Minor fine-tuning of CSS color 2020-06-05 10:00:35 -04:00
Raymond Hill
6633e2635d
Fix dealing with trailing newline characters
Regression from:
- 01b1ed9a98

The new parser needs to be able to deal with trailing
newline characters, which if present will be interpreted
as trailing spaces.
2020-06-05 09:57:48 -04:00
Raymond Hill
cef034f650
Remove Armenian translation from Opera build
Opera requires that there is a valid translated
description for the specific locale to be accepted.
2020-06-04 08:38:44 -04:00