Commit graph

6974 commits

Author SHA1 Message Date
Raymond Hill
58620fb051
Work toward modernizing code base: promisification
Swathes of code have been converted to use
Promises/async/await.

Related commits:
- 022951547c
- 3224d9b5cc
- 26235d80d0
- 0051f3b5c7
- eec53c0154
- 915687fddb
- 55cc0c6997
- e27328f931
2019-09-19 16:41:44 -04:00
Raymond Hill
5f60c31f77
Fix copyright dates as per commit history
vapi.js
-https://github.com/gorhill/uBlock/commits/master/platform/chromium/vapi.js

vapi-common-js
- https://github.com/gorhill/uBlock/commits/master/platform/chromium/vapi-common.js
- 266f62914f/meta/crx/vapi-common.js
- 8444923c0c/src/js/vapi-common.js

vapi-background.js
- https://github.com/gorhill/uBlock/commits/master/platform/chromium/vapi-background.js
- 266f62914f/meta/crx/vapi-background.js
- 8444923c0c/src/js/vapi-background.js

vapi-client.js
- https://github.com/gorhill/uBlock/commits/master/platform/chromium/vapi-client.js
- 266f62914f/meta/crx/vapi-client.js
- 8444923c0c/src/js/vapi-client.js
2019-09-19 11:04:12 -04:00
Raymond Hill
60aa80b571
Fix erroneous copyright date
As per commit history:
266f62914f/meta/crx/vapi-client.js
2019-09-19 09:12:51 -04:00
Raymond Hill
a45a962517
Fix property name inconsistency
Addtionally, fixed erroneous copyright date, as per
commit history:
https://github.com/gorhill/uBlock/commits/master/platform/chromium/vapi-client.js
2019-09-19 09:07:55 -04:00
Raymond Hill
b82ce4d8d1
Make Firefox dev build auto-update 2019-09-19 08:56:13 -04:00
Raymond Hill
b9b50331f9
New revision for dev build 2019-09-19 08:51:08 -04:00
Raymond Hill
87d0e456f1
Simplify client messaging code
Little-used code from vapi-client.js has been moved
to vapi-client-extra.js. Given that vapi-client.js
is injected in all web pages, this means less dead
code being injected in all pages.

Swathes of code in vapi-client.js was used only in
a few very specific cases, such as when the logger's
DOM inspector is opened or when the "Filter lists"
pane in the dashboard is opened -- and thus to avoid
that little used code to be loaded in every web page
unconditionally, it has been moved to its own
separate file, vapi-client.extra.js.

vapi-client-extra.js is loaded declaratively or
programmatically only where needed.
2019-09-19 08:31:38 -04:00
Raymond Hill
149b5cf59c
Reomving now obsolete Safari code base
See README.md file:
https://github.com/gorhill/uBlock/tree/master/platform/safari/README.md
2019-09-19 08:19:39 -04:00
Raymond Hill
917f3620e0
Revisit element picker arguments code
No need to store mouse coordinates in background
page, thus no need to post mouse coordinates
information for every click.

Rename/group element picker arguments and popup
arguments separately.
2019-09-18 12:17:45 -04:00
Raymond Hill
146e2ff186
Make Firefox dev build auto-update 2019-09-18 09:13:56 -04:00
Raymond Hill
dd3830927e
New revision for dev build 2019-09-18 09:06:30 -04:00
Raymond Hill
022951547c
Work toward modernizing code base: promisification
Swathes of code have been converted to use
Promises/async/await.

Related commits:
- 3224d9b5cc
- 26235d80d0
- 0051f3b5c7
- eec53c0154
- 915687fddb
- 55cc0c6997
- e27328f931
2019-09-18 08:34:55 -04:00
Raymond Hill
78f430678a
Fix needless visual toggling of update/apply buttons 2019-09-18 06:52:10 -04:00
Raymond Hill
ed99d52bc4
Simplify slightly messaging code
- No need to hold onto channel name and message data while
  waiting for response to resolve
- Use more representative `msgId` instead of `auxProcessId`
2019-09-17 17:43:52 -04:00
Raymond Hill
60c2381518
Make Firefox dev build auto-update 2019-09-17 15:29:51 -04:00
Raymond Hill
0b62602321
New revision for dev build 2019-09-17 15:19:56 -04:00
Raymond Hill
3224d9b5cc
Work toward modernizing code base: promisification
Swathes of code have been converted to use
Promises/async/await.

Related commits:
- 26235d80d0
- 0051f3b5c7
- eec53c0154
- 915687fddb
- 55cc0c6997
- e27328f931
2019-09-17 15:15:01 -04:00
Raymond Hill
26235d80d0
Fix regression in importation of custom lists
Reported by:
- https://github.com/uBlock-user:

Imported custom list were incorrectly seen as out of
date immediately after import operation.

Regression from:
- e27328f931

A few lines of code were improperly removed during
refactoring.
2019-09-17 07:44:19 -04:00
Raymond Hill
0051f3b5c7
Work toward modernizing code base: promisification
Swathes of code have been converted to use
Promises/async/await. More left to do.

Related commits:
- eec53c0154
- 915687fddb
- 55cc0c6997
- e27328f931
2019-09-16 16:17:48 -04:00
Raymond Hill
c74df9b172
Make Firefox dev build auto-update 2019-09-16 09:52:35 -04:00
Raymond Hill
ba6a946cd3
New revision for dev build 2019-09-16 09:49:11 -04:00
Raymond Hill
eec53c0154
Work toward modernizing code base: promisification
Swathes of code have been converted to use
Promises/async/await. More left to do.

Related commits:
- 915687fddb
- 55cc0c6997
- e27328f931
2019-09-16 09:45:17 -04:00
Raymond Hill
c4ee846cd4
Fix title 2019-09-15 14:53:18 -04:00
Raymond Hill
28cde2bd5b
Fix title in test page 2019-09-15 11:29:39 -04:00
Raymond Hill
cf4f41c349
Make Firefox dev build auto-update 2019-09-15 11:12:02 -04:00
Raymond Hill
081f55f7c3
New revision for dev build 2019-09-15 11:08:33 -04:00
Raymond Hill
9367a6015b
Convert new setTimeout-if scriptlet to blacklist approach
As per feedback from filter list maintainers, the
whitelist approach has been deemed to confusing.

The scriptlet has been renamed `no-setTimeout-if`
alias `nostif` to reflect the blacklist approach.

`setInterval-if` has been Similarly changed to
`no-setInterval-if` alias `nosiif`.
2019-09-15 11:01:50 -04:00
Raymond Hill
df49616ae8
Make Firefox dev build auto-update 2019-09-15 09:44:53 -04:00
Raymond Hill
bb0161e126
New revision for dev build 2019-09-15 09:39:53 -04:00
Raymond Hill
915687fddb
Work toward modernizing code base: promisification
Also, coallesce calls to selfieManager.destroy() so as
to avoid undue repeated calls to storage deletion of
selfie assets.

Related commit:
- e27328f931
2019-09-15 09:36:50 -04:00
Raymond Hill
55cc0c6997
Fix regression from promisification work
Related commit:
- e27328f931

The regression was preventing the compiled filter
lists from being properly loaded by uBO, thus
always causing a full parsing/compiling at
launch time.
2019-09-15 09:35:04 -04:00
Raymond Hill
123e15451f
Make Firefox dev build auto-update 2019-09-15 08:18:33 -04:00
Raymond Hill
be1d1b3eee
Import translation work from https://crowdin.com/project/ublock 2019-09-15 08:10:31 -04:00
Raymond Hill
99783702c2
New revision for dev build 2019-09-15 08:06:28 -04:00
Raymond Hill
e27328f931
Work toward modernizing code base: promisification
Swathes of code have been converted to use
Promises/async/await. More left to do.

In the process, a regression affecting the fix to
<https://github.com/uBlockOrigin/uBlock-issues/issues/682>
has been fixed.
2019-09-15 07:58:28 -04:00
Raymond Hill
6c7d3a40d6
Update popup panel screenshots 2019-09-12 14:25:35 -04:00
Raymond Hill
97d6d5028b
Fix mishandling of procedural cosmetic exceptions in logger
Issue reported by @uBlock-user in team channel.

Creating cosmetic procedural exception filters was
causing `cosmetic-logger.js` scriptlet to throw at
and thus further breaking the logging of cosmetic
filters overall.
2019-09-12 13:05:41 -04:00
Raymond Hill
e393a52442
Fix icon title always showing (0) when badge is disabled
Related feedback:
- https://www.reddit.com/r/uBlockOrigin/comments/d33d37/
2019-09-12 12:26:09 -04:00
Raymond Hill
a3504fc318
Make Firefox dev build auto-update 2019-09-11 08:21:37 -04:00
Raymond Hill
b5c1efc7f5
Informal code review toward ES6 2019-09-11 08:08:30 -04:00
Raymond Hill
8ef896476a
New revision for dev build 2019-09-11 08:04:55 -04:00
Raymond Hill
93f438f55e
Add advanced setting for extension reload on update
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/717

Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/717#issuecomment-530275655

New advanced setting: `extensionUpdateForceReload`

Default value: `false`

If set to `true`, the extension will unconditionally reload
when an update is available; otherwise the extension will
reload only when being explicitly disabled then enabled, or
when the browser is restarted.
2019-09-11 08:00:55 -04:00
Raymond Hill
0c4eabb743
Make Firefox dev build auto-update 2019-09-10 16:48:47 -04:00
Raymond Hill
13b0be7f9e
New revision for dev build 2019-09-10 16:45:02 -04:00
Raymond Hill
7e8822cfc5
Import translation work from https://crowdin.com/project/ublock 2019-09-10 16:44:14 -04:00
Raymond Hill
1e7e6f86a6
Reuse existing Set/Map when calling scriptletFilteringEngine.retrieve
Reuse permanent instances instead. The trailing `$` is
used to denote these variables are register-like
instances, i.e. their content is valid only for the
duration of the call. (From now on I will use this
convention throughout the code base.)
2019-09-10 13:59:28 -04:00
Raymond Hill
a73dd0a9f2
Fix entity-based lookup in html & scriptlet filtering
Entity-based filters where not properly looked-up if
they used subdomains. Example:

- `example.*##^script` => ok

- `www.example.*##^script` => failed on `https://www.example.com/`
2019-09-10 10:51:34 -04:00
Raymond Hill
ed94692238
Make Firefox dev build auto-update 2019-09-09 14:24:54 -04:00
Raymond Hill
a94f5cc155
New revision for dev build 2019-09-09 14:16:56 -04:00
Raymond Hill
2fd86a66fc
Add json-prune.js scriptlet
The scriptlet will trap calls to JSON.parse, and
if the result of the parsing is an Object, it
will remove specified properties from the result
before returning to the caller.

Usage:

    ##+js(json-prune, arg1, [arg2])

Where:

- arg1: a list of space-separated properties to remove

- arg2: optional, a list of space-separated properties
        which must be all present for the pruning to
        occur

Example:

    ##+js(json-prune, enabled, adpath config)

A property in a list of properties can be a chain
of properties, example: adpath.url.first
2019-09-09 14:06:23 -04:00