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.
- 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.
Also:
- a new per-scope switch has been added to control <noscript> spoofing on
a per site basis
- a global setting to be used as the default state of the <noscript>
spoofing switch
- Privacy pane has been merged into Setting pane
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.