Commit Graph

7952 Commits

Author SHA1 Message Date
Raymond Hill 775f676883
New revision for dev build 2020-06-15 09:20:06 -04:00
Raymond Hill 3e72a47c1f
Add support for auto-completion in _My filters_ pane
This commit adds CodeMirror's auto-completion capability
to the _My filters_ pane.

Currently, auto-completion is available for scriptlet
tokens: pressing ctrl-space while the text cursor is
positioned where a scriptlet token should appear will
cause auto-completion to kick-in. In case of ambiguity,
CodeMirror's widget to pick a specific scriptlet will
appear.
2020-06-15 09:15:13 -04:00
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