This version of the blocklist should be functionally comparable to the mozglue
based blocklist, except:
* We hook NtMapViewOfSection instead of LdrLoadDll: The former allows us to
easily obtain the module file name being used for the load. The latter
requires us to essentially emulate the loader's path searching, which is
a perf hit, potentially a correctness issue, and more work to do given the
limited native NT API set.
* Since the paths in native NT land are all unicode, and since this code is
critical to startup performance, this version of the blocklist uses unicode
strings instead of ASCII strings. My thoughts here are that we don't want to
be wasting time on every DLL load doing ASCII-to-unicode conversion every
time we want to do a blocklist string comparison.
* I am completely aware that this leaves us in a bizarre situation where we have
two copies of the blocklist in our binaries: one unicode version in firefox.exe,
and one ASCII version in mozglue.dll. Once we (hopefully) move to using the
launcher process by default, the ASCII copy can go away. In the meantime, we
need to be able to use either one depending on how Firefox was started. I am
happy to make the Native NT blocklist Nightly-only to assuage these concerns.
No bug, Automated HSTS preload list update from task PFJDsn1_RJyPxtwQXtin8A
No bug, Automated HPKP preload list update from task PFJDsn1_RJyPxtwQXtin8A
No bug, Automated blocklist update from task PFJDsn1_RJyPxtwQXtin8A
No bug, Automated remote settings update from task PFJDsn1_RJyPxtwQXtin8A
Differential Revision: https://phabricator.services.mozilla.com/D1580
This version of the blocklist should be functionally comparable to the mozglue
based blocklist, except:
* We hook NtMapViewOfSection instead of LdrLoadDll: The former allows us to
easily obtain the module file name being used for the load. The latter
requires us to essentially emulate the loader's path searching, which is
a perf hit, potentially a correctness issue, and more work to do given the
limited native NT API set.
* Since the paths in native NT land are all unicode, and since this code is
critical to startup performance, this version of the blocklist uses unicode
strings instead of ASCII strings. My thoughts here are that we don't want to
be wasting time on every DLL load doing ASCII-to-unicode conversion every
time we want to do a blocklist string comparison.
* I am completely aware that this leaves us in a bizarre situation where we have
two copies of the blocklist in our binaries: one unicode version in firefox.exe,
and one ASCII version in mozglue.dll. Once we (hopefully) move to using the
launcher process by default, the ASCII copy can go away. In the meantime, we
need to be able to use either one depending on how Firefox was started. I am
happy to make the Native NT blocklist Nightly-only to assuage these concerns.
--HG--
extra : rebase_source : ff3097518f9393eb0e38d7852bb8a268d3948b49
Module was renamed in order to be more consistent with references to this study elsewhere, as in the tracking bug 1457226.
Also removed TelemetryEvents.sendEvent method, set log level to 'warn' and added milestone bug to search probe.
MozReview-Commit-ID: KU82dQZLgxB
--HG--
rename : browser/modules/ShieldStudySavant.jsm => browser/modules/SavantShieldStudy.jsm
extra : rebase_source : 175a029e1d0c3c536cc601e6382568832258aad5
This module observes the study pref to enable/disable the study.
MozReview-Commit-ID: 1dcHfk5tc3Q
--HG--
extra : rebase_source : 4f5846f1931369f5549c67dcb8cb1584c8888d14
This was done automatically replacing:
s/mozilla::Move/std::move/
s/ Move(/ std::move(/
s/(Move(/(std::move(/
Removing the 'using mozilla::Move;' lines.
And then with a few manual fixups, see the bug for the split series..
MozReview-Commit-ID: Jxze3adipUh
We maintain a simple LRU cache of tab layers by setting their
docShellIsActive = false with preserveLayers(true). Once they
are pushed out of the cache by more recently used tabs, their
layers are discarded.
Luckily most of the complexity of this could be contained in
the AsyncTabSwitcher - the one change that had to sit outside of
that was moving the aTab.closing = true earlier in the removeTab
call, so that we could use that information to eagerly evict tabs
from the cache. This was to address a leak in a few tests on try.
MozReview-Commit-ID: 2E3uU8LEYkD
--HG--
extra : rebase_source : d2865fd1ee10db17d9f41cca059a5cee697f259d
Level 3 changes the plugin process access token from USER_INTERACTIVE to USER_LIMITED.
--HG--
extra : rebase_source : 0a19d18fe903c16979cdc88ad73ed878e2c2d570
extra : histedit_source : 9e4ee6dd168de801e4cba90a32141e1a154c81f1
Currently system addons will not be updated if app.update.enabled or app.update.auto are set to false. This patch introduces a new pref, extensions.systemAddon.update.enabled, which will control system addon updates. app.update.enabled and app.update.auto will no longer affect system addon updates.
MozReview-Commit-ID: 37JJa1jICTh
--HG--
extra : rebase_source : 755dd8b81eff244aff675f568532581a6b457952