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.
- 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()
The purpose of this API is basically to satisfy AMO reviewers in the
future, since the use of innerHTML with variables (i.e., not plain text) will
be rejected without any questions.
Since this is not a problem for browsers other than Firefox, they will
use simple innerHTML assignment, however safe-parsing could be implemented
for them too.