Bug 1613722 - Allow sanitize policy to be unlocked. r=mconley

Differential Revision: https://phabricator.services.mozilla.com/D62659

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Michael Kaply 2020-02-14 21:52:07 +00:00
Родитель eed877a1a1
Коммит 57a3400510
3 изменённых файлов: 133 добавлений и 17 удалений

Просмотреть файл

@ -1208,47 +1208,100 @@ var Policies = {
setAndLockPref("privacy.clearOnShutdown.offlineApps", true);
}
} else {
setAndLockPref("privacy.sanitize.sanitizeOnShutdown", true);
let locked = true;
// Needed to preserve original behavior in perpetuity.
let lockDefaultPrefs = true;
if ("Locked" in param) {
locked = param.Locked;
lockDefaultPrefs = false;
}
setDefaultPref("privacy.sanitize.sanitizeOnShutdown", true, locked);
if ("Cache" in param) {
setAndLockPref("privacy.clearOnShutdown.cache", param.Cache);
setDefaultPref("privacy.clearOnShutdown.cache", param.Cache, locked);
} else {
setAndLockPref("privacy.clearOnShutdown.cache", false);
setDefaultPref(
"privacy.clearOnShutdown.cache",
false,
lockDefaultPrefs
);
}
if ("Cookies" in param) {
setAndLockPref("privacy.clearOnShutdown.cookies", param.Cookies);
setDefaultPref(
"privacy.clearOnShutdown.cookies",
param.Cookies,
locked
);
} else {
setAndLockPref("privacy.clearOnShutdown.cookies", false);
setDefaultPref(
"privacy.clearOnShutdown.cookies",
false,
lockDefaultPrefs
);
}
if ("Downloads" in param) {
setAndLockPref("privacy.clearOnShutdown.downloads", param.Downloads);
setDefaultPref(
"privacy.clearOnShutdown.downloads",
param.Downloads,
locked
);
} else {
setAndLockPref("privacy.clearOnShutdown.downloads", false);
setDefaultPref(
"privacy.clearOnShutdown.downloads",
false,
lockDefaultPrefs
);
}
if ("FormData" in param) {
setAndLockPref("privacy.clearOnShutdown.formdata", param.FormData);
setDefaultPref(
"privacy.clearOnShutdown.formdata",
param.FormData,
locked
);
} else {
setAndLockPref("privacy.clearOnShutdown.formdata", false);
setDefaultPref(
"privacy.clearOnShutdown.formdata",
false,
lockDefaultPrefs
);
}
if ("History" in param) {
setAndLockPref("privacy.clearOnShutdown.history", param.History);
setDefaultPref(
"privacy.clearOnShutdown.history",
param.History,
locked
);
} else {
setAndLockPref("privacy.clearOnShutdown.history", false);
setDefaultPref(
"privacy.clearOnShutdown.history",
false,
lockDefaultPrefs
);
}
if ("Sessions" in param) {
setAndLockPref("privacy.clearOnShutdown.sessions", param.Sessions);
setDefaultPref(
"privacy.clearOnShutdown.sessions",
param.Sessions,
locked
);
} else {
setAndLockPref("privacy.clearOnShutdown.sessions", false);
setDefaultPref(
"privacy.clearOnShutdown.sessions",
false,
lockDefaultPrefs
);
}
if ("SiteSettings" in param) {
setAndLockPref(
setDefaultPref(
"privacy.clearOnShutdown.siteSettings",
param.SiteSettings
param.SiteSettings,
locked
);
}
if ("OfflineApps" in param) {
setAndLockPref(
setDefaultPref(
"privacy.clearOnShutdown.offlineApps",
param.OfflineApps
param.OfflineApps,
locked
);
}
}

Просмотреть файл

@ -950,6 +950,9 @@
},
"OfflineApps": {
"type": "boolean"
},
"Locked": {
"type": "boolean"
}
}
},

Просмотреть файл

@ -361,6 +361,66 @@ const POLICIES_TESTS = [
},
},
// POLICY: SanitizeOnShutdown using Locked
{
policies: {
SanitizeOnShutdown: {
Cache: true,
Locked: true,
},
},
lockedPrefs: {
"privacy.sanitize.sanitizeOnShutdown": true,
"privacy.clearOnShutdown.cache": true,
},
unlockedPrefs: {
"privacy.clearOnShutdown.cookies": false,
"privacy.clearOnShutdown.downloads": false,
"privacy.clearOnShutdown.formdata": false,
"privacy.clearOnShutdown.history": false,
"privacy.clearOnShutdown.sessions": false,
},
},
{
policies: {
SanitizeOnShutdown: {
Cache: true,
Cookies: false,
Locked: true,
},
},
lockedPrefs: {
"privacy.sanitize.sanitizeOnShutdown": true,
"privacy.clearOnShutdown.cache": true,
"privacy.clearOnShutdown.cookies": false,
},
unlockedPrefs: {
"privacy.clearOnShutdown.downloads": false,
"privacy.clearOnShutdown.formdata": false,
"privacy.clearOnShutdown.history": false,
"privacy.clearOnShutdown.sessions": false,
},
},
{
policies: {
SanitizeOnShutdown: {
Cache: true,
Locked: false,
},
},
unlockedPrefs: {
"privacy.sanitize.sanitizeOnShutdown": true,
"privacy.clearOnShutdown.cache": true,
"privacy.clearOnShutdown.cookies": false,
"privacy.clearOnShutdown.downloads": false,
"privacy.clearOnShutdown.formdata": false,
"privacy.clearOnShutdown.history": false,
"privacy.clearOnShutdown.sessions": false,
},
},
// POLICY: DNSOverHTTPS Locked
{
policies: {