Notably:
- Import logger improvements from uBO
- Import CNAME uncloaking from uBO
- Import more improvements from uBO
- Make use of modern JS features
This should un-stall further development of uMatrix.
Related issues:
- "Requests bypass uMatrix on Firefox start"
<https://github.com/uBlockOrigin/uMatrix-issues/issues/69>
Using same approach as with uBO:
https://github.com/gorhill/uBloc/commit/41548be6be35
`suspendTabsUntilReady` advanced setting added to "More" pane,
useful only for Chromium -- the blocking of early network
requests is enforced unconditionally on Firefox (because it
supports returning Promises from webRequest handlers).
- "Cookies leaking temporarily"
<https://github.com/uBlockOrigin/uMatrix-issues/issues/74>
Changes in the webRequest API in Chromium 72+ caused uMatrix
to fail to process `Cookie` and `Referer` headers on that
platform.
* correct cloud-download/upload icon CSS selectors
* fix scope tooltip in logger appearing offscreen
* open logger/dashboard links adjacent to current tab (match uBO's behaviour)
* opera: fix manifest version not being updated
Version code copied from tools/make-chromium-meta.py
* fix https://www.reddit.com/r/uBlockOrigin/comments/9gwrna/when_you_right_click_and_go_to_options_it_keeps/
source:
* 6dd6dc5f1d
* remove unused "processReferer" setting
It was changed to a matrix switch in 5d8bae3da2
* remove unused source code
source:
* f516cd3d26
* 0503f52b1e
* remove bold version of Roboto font (unused from HTTPSB)
* correct FontAwesome license after change from v5 back to v4.7
License copied from bb737e29d5
* fix build scripts after c0f4abfd00
- us integer tab id -- do not stringify anymore
- improved the parsing of hosts files
- better handling of behind-the-scene network requests when a
context is provided by the webRequest API
- imported webextFlavor code from uBO
- converted instances of object-as-dict to Map()
Additionally, performance improvements:
- Reduce overhead of collapsing elements
(see https://github.com/gorhill/uBlock/issues/2839)
- Cache decomposition of source hostname when matrix-filtering
Also, various code review.
The end result of the flawed UA spoofer was to accomplish the
OPPOSITE of the intended goal. UA spoofing for privacy purpose
turns out to be a whole complicated task on its own, and is
best undertaken as a separate dedicated extension -- assuming
it is possible at all.
In any case, this had no place in a "Privacy" section in uMatrix,
this was a bad idea to create this feature in the first place. It's
never too late to correct a bad idea, and this is the purpose of
this commit.