Commit graph

10691 commits

Author SHA1 Message Date
Raymond Hill
91f9795023
Wrap usage of setTimeout in helper for background + auxiliary pages
This commit centralizes usage of setTimeout()/clearTimeout() in the
source code at one single location.
2023-04-09 13:38:16 -04:00
Raymond Hill
b4984ed85b
New revision for dev build 2023-04-07 20:31:04 -04:00
Raymond Hill
bec6cad2c0
Start using browser.alarms instead of setTimeout() where applicable
Related documentation:
https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Background_scripts#convert_to_non-persistent
2023-04-07 20:24:20 -04:00
Raymond Hill
66c70cf746
Fix improper detection of quotes in quoted strings
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2586
2023-04-07 18:10:50 -04:00
Raymond Hill
521c3dcd1d
Fix Chromium publish script for uBO Lite 2023-04-07 14:48:45 -04:00
Raymond Hill
a538089a08
Fix Firefox publish script for uBO Lite 2023-04-07 14:26:18 -04:00
Raymond Hill
2108c11889
Work toward signed releases of Firefox uBO Lite 2023-04-07 14:18:58 -04:00
gorhill
d13cd2bd30 Update build log file
Files changed:
M	dist/mv3/log.txt
2023-04-07 17:36:32 +00:00
Raymond Hill
ba1d686795
Fix github-actions re uBO Lite 2023-04-07 13:34:27 -04:00
Raymond Hill
16b50852c3
Make a firefox package of uBO Lite on release 2023-04-07 13:24:57 -04:00
Raymond Hill
b408b9314c
Use more reliable way to check browser environment 2023-04-07 13:00:01 -04:00
Raymond Hill
cbfd2ad942
Create a MVP version of uBOLite for Firefox
What does not work at the time of commit:

Cosmetic filtering does not work:

The content scripts responsible for cosmetic filtering fail when
trying to inject the stylesheets through document.adoptedStyleSheets,
with the following error message:

  XrayWrapper denied access to property Symbol.iterator
  (reason: object is not safely Xrayable).
  See https://developer.mozilla.org/en-US/docs/Xray_vision for more
  information. ... css-declarative.js:106:8

A possible solution is to inject those content scripts in the
MAIN world. However Firefox scripting API does not support MAIN
world injection at the moment.

Scriptlet-filtering does not work:

Because scriptlet code needs to be injected in the MAIN world,
and this is currently not supported by Firefox's scripting API,
see https://bugzilla.mozilla.org/show_bug.cgi?id=1736575

There is no count badge on the toolbar icon in Firefox, as it
currently does not support the `DNR.setExtensionActionOptions`
method.

Other than the above issues, it does appear uBO is blocking
properly with no error reported in the dev console.

The adoptedStyleSheets issue though is worrisome, as the
cosmetic filtering content scripts were designed with ISOLATED
world injection in mind. Being forced to inject in MAIN world
(when available) make things a bit more complicated as uBO
has to ensure it's global variables do not leak into the page.
2023-04-07 10:19:43 -04:00
Raymond Hill
8b5774a83d
Minor CSS tweak 2023-04-06 17:43:03 -04:00
Raymond Hill
f2698b097c
Fix mv3 build 2023-04-06 17:42:21 -04:00
Raymond Hill
d33633ecc9
Make Firefox dev build auto-update 2023-04-06 13:30:42 -04:00
Raymond Hill
8285958be4
New revision for dev build 2023-04-06 13:23:13 -04:00
Raymond Hill
b2894756e5
Import translation work from https://crowdin.com/project/ublock 2023-04-06 13:22:48 -04:00
Raymond Hill
bc21a1fe72
Use custom linter gutter as container for code-folding widgets
This allows to reduce the horizontal size of the gutter; more efficient
management of folding since we already need to parse each line for the
linter; and eventually this will also allows to detect unbalanced
!#if-!#endif directives and report such cases as errors.

Additionally, keep incrementally improving error reporting details
in the linter.
2023-04-06 13:14:42 -04:00
Raymond Hill
028eee456f
Ensure error count is decrease when an error is fixed 2023-04-04 16:55:47 -04:00
Raymond Hill
767fcf9929
Make Firefox dev build auto-update 2023-04-04 14:36:28 -04:00
Raymond Hill
5264eb7604
New revision for dev build 2023-04-04 14:30:01 -04:00
Raymond Hill
d59eeba8e2
Fix tabs.executeScript() not resolving in due time
Related feedback:
- 6efd8eb84a
2023-04-04 14:28:48 -04:00
Raymond Hill
0f5384ee0d
Rename reported popup panel property 2023-04-04 13:42:09 -04:00
Raymond Hill
620a96531c
Report cosmetic filters as popup panel property 2023-04-04 13:20:58 -04:00
Raymond Hill
8c376d7791
Make Firefox dev build auto-update 2023-04-04 11:31:36 -04:00
Raymond Hill
fad51630ac
New revision for dev build 2023-04-04 11:17:10 -04:00
Raymond Hill
6efd8eb84a
Add matched cosmetic filters in troubleshooting information 2023-04-04 11:15:44 -04:00
Raymond Hill
09265ef57c
Simplify linter error counting by using line events 2023-04-04 09:24:18 -04:00
Raymond Hill
9b5ed5ca86
Fine-tune underline styles used in CM editor 2023-04-04 08:36:44 -04:00
Raymond Hill
ddb767c284
Make Firefox dev build auto-update 2023-04-03 10:31:26 -04:00
Raymond Hill
204c5598a6
New revision for dev build 2023-04-03 10:25:21 -04:00
Raymond Hill
3e1030588e
Import translation work from https://crowdin.com/project/ublock 2023-04-03 10:24:47 -04:00
Raymond Hill
4aea9aa624
Better folding arrows in CodeMirror editor 2023-04-03 10:20:53 -04:00
Raymond Hill
6e8aeae283
Flush memory cache at key filtering profile changes
To reduce the need for hard reload after changes in filters,
rules.
2023-04-03 10:19:06 -04:00
Raymond Hill
daee72b982
Make Firefox dev build auto-update 2023-04-02 13:31:28 -04:00
Raymond Hill
172b28d951
New revision for dev build 2023-04-02 13:26:32 -04:00
Raymond Hill
6531b86d29
Fix search highlight with dark theme
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/discussions/2542#discussioncomment-5502579
2023-04-02 13:20:22 -04:00
Raymond Hill
d25e9fd32a
Make Firefox dev build auto-update 2023-04-02 12:20:45 -04:00
Raymond Hill
16d92ad82e
New revision for dev build 2023-04-02 12:14:28 -04:00
Raymond Hill
ae1afe0381
Import translation work from https://crowdin.com/project/ublock 2023-04-02 12:13:44 -04:00
Raymond Hill
edbe96a401
Add logging ability to acs scriptlet, for the benefit of filter list
maintainers.

To enable logging, use the JSON approach to pass parameters to
`acs` scriptlet. Example:

    ..##+js(acs, { "target": "document.oncontextmenu", "log": true })

Whereas "target", "needle", and "context" correspond to their
respective positional argument. Using JSON form to pass parameters
allows to specify extra paramters to facilitate debugging of that
scriptlet:

- `"log": true` => output useful information at the dev console.
- `"debug": true` => break at key locations in the scriptlet.

The added logging/debugging capabilities work only in the dev build
of uBO or if the advanced setting `filterAuthorMode` is set to
`true`.
2023-04-02 12:01:58 -04:00
Raymond Hill
95bd52d01f
Fine tuning new linter code 2023-04-02 10:40:44 -04:00
Raymond Hill
cda39709b1
Properly fail on bad network filter pattern
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1146
2023-04-02 10:05:42 -04:00
Raymond Hill
46e90b21e9
Code review of new linter code
As per CodeMirror's documentation, eachLine() iterator is
faster, so use this. Also no need to keep track or marked
lines, we can just find them on demand, this makes the code
simpler.
2023-04-02 09:19:32 -04:00
Raymond Hill
dd8031a508
Fine tune CSS style for errors 2023-04-01 18:11:41 -04:00
Raymond Hill
13085eb08a
Make Firefox dev build auto-update 2023-04-01 17:01:08 -04:00
Raymond Hill
5533c3f435
New revision for dev build 2023-04-01 16:51:47 -04:00
Raymond Hill
0601350995
Import translation work from https://crowdin.com/project/ublock 2023-04-01 16:51:03 -04:00
Raymond Hill
9519666fcc
Import translation work from https://crowdin.com/project/ublock 2023-04-01 16:49:15 -04:00
Raymond Hill
50afd5ae38
Add infrastructure for static filter syntax linter
Sort of related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1134
2023-04-01 16:42:41 -04:00