Bug 1429148 - Policy: Enforce choice for the Remember Passwords setting. r=MattN
MozReview-Commit-ID: 3acY4QwQWGb
--- a/browser/components/enterprisepolicies/Policies.jsm
+++ b/browser/components/enterprisepolicies/Policies.jsm
@@ -116,16 +116,22 @@ this.Policies = {
},
"popups": {
onBeforeUIStartup(manager, param) {
addAllowDenyPermissions("popup", param.allow, param.block);
}
},
+ "RememberPasswords": {
+ onBeforeUIStartup(manager, param) {
+ setAndLockPref("signon.rememberSignons", param);
+ }
+ },
+
"install_addons": {
onBeforeUIStartup(manager, param) {
addAllowDenyPermissions("install", param.allow, param.block);
}
},
"cookies": {
onBeforeUIStartup(manager, param) {
--- a/browser/components/enterprisepolicies/schemas/policies-schema.json
+++ b/browser/components/enterprisepolicies/schemas/policies-schema.json
@@ -105,16 +105,23 @@
"type": "array",
"items": {
"type": "origin"
}
}
}
},
+ "RememberPasswords": {
+ "description": "Enforces the setting to allow Firefox to remember saved logins and passwords. Both true and false values are accepted.",
+ "first_available": "60.0",
+
+ "type": "boolean"
+ },
+
"install_addons": {
"description": "Allow or deny popup websites to install webextensions.",
"first_available": "60.0",
"type": "object",
"properties": {
"allow": {
"type": "array",
--- a/browser/components/enterprisepolicies/tests/browser/browser.ini
+++ b/browser/components/enterprisepolicies/tests/browser/browser.ini
@@ -13,9 +13,10 @@ support-files =
[browser_policies_validate_and_parse_API.js]
[browser_policy_block_set_desktop_background.js]
[browser_policy_default_browser_check.js]
[browser_policy_disable_fxscreenshots.js]
[browser_policy_display_bookmarks.js]
[browser_policy_disable_formhistory.js]
[browser_policy_display_menu.js]
[browser_policy_disable_shield.js]
+[browser_policy_remember_passwords.js]
new file mode 100644
--- /dev/null
+++ b/browser/components/enterprisepolicies/tests/browser/browser_policy_remember_passwords.js
@@ -0,0 +1,25 @@
+/* Any copyright is dedicated to the Public Domain.
+ * http://creativecommons.org/publicdomain/zero/1.0/ */
+
+"use strict";
+
+add_task(async function test_policy_remember_passwords() {
+ await setupPolicyEngineWithJson({
+ "policies": {
+ "RememberPasswords": false
+ }
+ });
+
+ is(Services.prefs.getBoolPref("signon.rememberSignons"), false, "Logins & Passwords have been disabled");
+ is(Services.prefs.prefIsLocked("signon.rememberSignons"), true, "Logins & Passwords pref has been locked");
+
+
+ await setupPolicyEngineWithJson({
+ "policies": {
+ "RememberPasswords": true
+ }
+ });
+
+ is(Services.prefs.getBoolPref("signon.rememberSignons"), true, "Logins & Passwords have been enabled");
+ is(Services.prefs.prefIsLocked("signon.rememberSignons"), true, "Logins & Passwords pref has been locked");
+});