Commit Graph

7745 Commits

Author SHA1 Message Date
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
Raymond Hill 5f32859eb0
Make Firefox dev build auto-update 2020-06-04 08:00:59 -04:00
Raymond Hill 8faa6dd47c
New revision for dev build 2020-06-04 07:33:14 -04:00
Raymond Hill f075ba388f
Import translation work from https://crowdin.com/project/ublock 2020-06-04 07:32:07 -04:00
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