Commit Graph

7019 Commits

Author SHA1 Message Date
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
Raymond Hill 4792e0e291
Coalesce tab reloads in burst "relax blocking mode" ops
Quickly firing "Relax blocking mode" commands will
cause the tab to reload only once.
2019-09-08 12:52:28 -04:00
Raymond Hill ad0315a4cd
Make Firefox dev build auto-update 2019-09-07 12:26:11 -04:00
Raymond Hill b74b8821d6
New revision for dev build 2019-09-07 09:31:25 -04:00
Raymond Hill df276a664d
New revision for dev build 2019-09-07 08:33:15 -04:00
Raymond Hill 3eeaba45d9
Cherry-picked ac7825c789 2019-09-07 08:31:32 -04:00