Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
/* vim:set ts=2 sw=2 sts=2 et: */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
add_setup(async function () {
await SpecialPowers.pushPrefEnv({
set: [["privacy.sanitize.useOldClearHistoryDialog", false]],
});
});
add_task(async function testMigrationOfCacheAndSiteSettings() {
await SpecialPowers.pushPrefEnv({
set: [
["privacy.clearOnShutdown.cache", true],
["privacy.clearOnShutdown.siteSettings", true],
["privacy.clearOnShutdown_v2.cache", false],
["privacy.clearOnShutdown_v2.siteSettings", false],
["privacy.sanitize.clearOnShutdown.hasMigratedToNewPrefs", false],
],
});
Sanitizer.runSanitizeOnShutdown();
Assert.equal(
Services.prefs.getBoolPref("privacy.clearOnShutdown_v2.cache"),
true,
"Cache should be set to true"
);
Assert.equal(
Services.prefs.getBoolPref("privacy.clearOnShutdown_v2.siteSettings"),
true,
"siteSettings should be set to true"
);
Assert.equal(
Services.prefs.getBoolPref("privacy.clearOnShutdown.cache"),
true,
"old cache should remain true"
);
Assert.equal(
Services.prefs.getBoolPref("privacy.clearOnShutdown.siteSettings"),
true,
"old siteSettings should remain true"
);
Assert.equal(
Services.prefs.getBoolPref(
"privacy.sanitize.clearOnShutdown.hasMigratedToNewPrefs"
),
true,
"migration pref has been flipped"
);
});
add_task(async function testHistoryAndFormData_historyTrue() {
await SpecialPowers.pushPrefEnv({
set: [
["privacy.clearOnShutdown.history", true],
["privacy.clearOnShutdown.formdata", false],
["privacy.clearOnShutdown_v2.historyFormDataAndDownloads", false],
["privacy.sanitize.clearOnShutdown.hasMigratedToNewPrefs", false],
],
});
Sanitizer.runSanitizeOnShutdown();
Assert.equal(
Services.prefs.getBoolPref(
"privacy.clearOnShutdown_v2.historyFormDataAndDownloads"
),
true,
"historyFormDataAndDownloads should be set to true"
);
Assert.equal(
Services.prefs.getBoolPref("privacy.clearOnShutdown.history"),
true,
"old history pref should remain true"
);
Assert.equal(
Services.prefs.getBoolPref("privacy.clearOnShutdown.formdata"),
false,
"old formdata pref should remain false"
);
Assert.equal(
Services.prefs.getBoolPref(
"privacy.sanitize.clearOnShutdown.hasMigratedToNewPrefs"
),
true,
"migration pref has been flipped"
);
});
add_task(async function testHistoryAndFormData_historyFalse() {
await SpecialPowers.pushPrefEnv({
set: [
["privacy.clearOnShutdown.history", false],
["privacy.clearOnShutdown.formdata", true],
["privacy.clearOnShutdown_v2.historyFormDataAndDownloads", true],
["privacy.sanitize.clearOnShutdown.hasMigratedToNewPrefs", false],
],
});
Sanitizer.runSanitizeOnShutdown();
Assert.equal(
Services.prefs.getBoolPref(
"privacy.clearOnShutdown_v2.historyFormDataAndDownloads"
),
false,
"historyFormDataAndDownloads should be set to true"
);
Assert.equal(
Services.prefs.getBoolPref("privacy.clearOnShutdown.history"),
false,
"old history pref should remain false"
);
Assert.equal(
Services.prefs.getBoolPref("privacy.clearOnShutdown.formdata"),
true,
"old formdata pref should remain true"
);
Assert.equal(
Services.prefs.getBoolPref(
"privacy.sanitize.clearOnShutdown.hasMigratedToNewPrefs"
),
true,
"migration pref has been flipped"
);
});
add_task(async function testCookiesAndStorage_cookiesFalse() {
await SpecialPowers.pushPrefEnv({
set: [
["privacy.clearOnShutdown.cookies", false],
["privacy.clearOnShutdown.offlineApps", true],
["privacy.clearOnShutdown.sessions", true],
["privacy.clearOnShutdown_v2.cookiesAndStorage", true],
["privacy.sanitize.clearOnShutdown.hasMigratedToNewPrefs", false],
],
});
// Simulate clearing on shutdown.
Sanitizer.runSanitizeOnShutdown();
Assert.equal(
Services.prefs.getBoolPref("privacy.clearOnShutdown_v2.cookiesAndStorage"),
false,
"cookiesAndStorage should be set to false"
);
Assert.equal(
Services.prefs.getBoolPref("privacy.clearOnShutdown.cookies"),
false,
"old cookies pref should remain false"
);
Assert.equal(
Services.prefs.getBoolPref("privacy.clearOnShutdown.offlineApps"),
true,
"old offlineApps pref should remain true"
);
Assert.equal(
Services.prefs.getBoolPref("privacy.clearOnShutdown.sessions"),
true,
"old sessions pref should remain true"
);
Assert.equal(
Services.prefs.getBoolPref(
"privacy.sanitize.clearOnShutdown.hasMigratedToNewPrefs"
),
true,
"migration pref has been flipped"
);
});
add_task(async function testCookiesAndStorage_cookiesTrue() {
await SpecialPowers.pushPrefEnv({
set: [
["privacy.clearOnShutdown.cookies", true],
["privacy.clearOnShutdown.offlineApps", false],
["privacy.clearOnShutdown.sessions", false],
["privacy.clearOnShutdown_v2.cookiesAndStorage", false],
["privacy.sanitize.clearOnShutdown.hasMigratedToNewPrefs", false],
],
});
Sanitizer.runSanitizeOnShutdown();
Assert.equal(
Services.prefs.getBoolPref("privacy.clearOnShutdown_v2.cookiesAndStorage"),
true,
"cookiesAndStorage should be set to true"
);
Assert.equal(
Services.prefs.getBoolPref("privacy.clearOnShutdown.cookies"),
true,
"old cookies pref should remain true"
);
Assert.equal(
Services.prefs.getBoolPref("privacy.clearOnShutdown.offlineApps"),
false,
"old offlineApps pref should remain false"
);
Assert.equal(
Services.prefs.getBoolPref("privacy.clearOnShutdown.sessions"),
false,
"old sessions pref should remain false"
);
Assert.equal(
Services.prefs.getBoolPref(
"privacy.sanitize.clearOnShutdown.hasMigratedToNewPrefs"
),
true,
"migration pref has been flipped"
);
});
add_task(async function testMigrationDoesNotRepeat() {
await SpecialPowers.pushPrefEnv({
set: [
["privacy.clearOnShutdown.cookies", true],
["privacy.clearOnShutdown.offlineApps", false],
["privacy.clearOnShutdown.sessions", false],
["privacy.clearOnShutdown_v2.cookiesAndStorage", false],
["privacy.sanitize.clearOnShutdown.hasMigratedToNewPrefs", true],
],
});
// Simulate clearing on shutdown.
Sanitizer.runSanitizeOnShutdown();
Assert.equal(
Services.prefs.getBoolPref("privacy.clearOnShutdown_v2.cookiesAndStorage"),
false,
"cookiesAndStorage should remain false"
);
Assert.equal(
Services.prefs.getBoolPref("privacy.clearOnShutdown.cookies"),
true,
"old cookies pref should remain true"
);
Assert.equal(
Services.prefs.getBoolPref("privacy.clearOnShutdown.offlineApps"),
false,
"old offlineApps pref should remain false"
);
Assert.equal(
Services.prefs.getBoolPref("privacy.clearOnShutdown.sessions"),
false,
"old sessions pref should remain false"
);
Assert.equal(
Services.prefs.getBoolPref(
"privacy.sanitize.clearOnShutdown.hasMigratedToNewPrefs"
),
true,
"migration pref has been flipped"
);
});
add_task(async function ensureNoOldPrefsAreEffectedByMigration() {
await SpecialPowers.pushPrefEnv({
set: [
["privacy.clearOnShutdown.history", true],
["privacy.clearOnShutdown.formdata", true],
["privacy.clearOnShutdown.cookies", true],
["privacy.clearOnShutdown.offlineApps", false],
["privacy.clearOnShutdown.sessions", false],
["privacy.clearOnShutdown.siteSettings", true],
["privacy.clearOnShutdown.cache", true],
["privacy.clearOnShutdown_v2.cookiesAndStorage", false],
["privacy.sanitize.clearOnShutdown.hasMigratedToNewPrefs", false],
],
});
Sanitizer.runSanitizeOnShutdown();
Assert.equal(
Services.prefs.getBoolPref("privacy.clearOnShutdown_v2.cookiesAndStorage"),
true,
"cookiesAndStorage should become true"
);
Assert.equal(
Services.prefs.getBoolPref("privacy.clearOnShutdown.cookies"),
true,
"old cookies pref should remain true"
);
Assert.equal(
Services.prefs.getBoolPref("privacy.clearOnShutdown.offlineApps"),
false,
"old offlineApps pref should remain false"
);
Assert.equal(
Services.prefs.getBoolPref("privacy.clearOnShutdown.sessions"),
false,
"old sessions pref should remain false"
);
Assert.equal(
Services.prefs.getBoolPref("privacy.clearOnShutdown.history"),
true,
"old history pref should remain true"
);
Assert.equal(
Services.prefs.getBoolPref("privacy.clearOnShutdown.formdata"),
true,
"old formdata pref should remain true"
);
});