Bug 1452104 - Final tweaks to policy names and params. r=Felipe
☠☠ backed out by 688370d3982d ☠ ☠
authorMichael Kaply <mozilla@kaply.com>
Fri, 06 Apr 2018 13:35:14 -0500
changeset 412171 13d1bdd6e8cea4a88c3aaa55a5e2b9a236fb8ddb
parent 412170 aa377b9ced1774b0888347a73be7eac6d729b5f9
child 412172 796b0795dc5a65c700efce740cfb3c6d2698bad6
push id62298
push usermozilla@kaply.com
push dateFri, 06 Apr 2018 20:03:01 +0000
treeherderautoland@13d1bdd6e8ce [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersFelipe
bugs1452104
milestone61.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1452104 - Final tweaks to policy names and params. r=Felipe MozReview-Commit-ID: CxxCqnyavfL
browser/components/enterprisepolicies/Policies.jsm
browser/components/enterprisepolicies/schemas/policies-schema.json
browser/components/enterprisepolicies/tests/browser/browser_policies_simple_pref_policies.js
browser/components/enterprisepolicies/tests/browser/browser_policy_block_set_desktop_background.js
browser/components/enterprisepolicies/tests/browser/browser_policy_cookie_settings.js
browser/components/enterprisepolicies/tests/browser/browser_policy_disable_masterpassword.js
browser/components/enterprisepolicies/tests/browser/config_popups_cookies_addons_flash.json
--- a/browser/components/enterprisepolicies/Policies.jsm
+++ b/browser/components/enterprisepolicies/Policies.jsm
@@ -103,24 +103,16 @@ var Policies = {
   "BlockAboutSupport": {
     onBeforeUIStartup(manager, param) {
       if (param) {
         manager.disallowFeature("about:support", true);
       }
     }
   },
 
-  "BlockSetDesktopBackground": {
-    onBeforeUIStartup(manager, param) {
-      if (param) {
-        manager.disallowFeature("setDesktopBackground", true);
-      }
-    }
-  },
-
   "Bookmarks": {
     onAllWindowsRestored(manager, param) {
       BookmarksPolicies.processBookmarks(param);
     }
   },
 
   "Certificates": {
     onBeforeAddons(manager, param) {
@@ -150,17 +142,17 @@ var Policies = {
         const REJECT_THIRD_PARTY_COOKIES = 1;
         const REJECT_ALL_COOKIES = 2;
         const REJECT_UNVISITED_THIRD_PARTY = 3;
 
         let newCookieBehavior = ACCEPT_COOKIES;
         if (param.Default !== undefined && !param.Default) {
           newCookieBehavior = REJECT_ALL_COOKIES;
         } else if (param.AcceptThirdParty) {
-          if (param.AcceptThirdParty == "none") {
+          if (param.AcceptThirdParty == "never") {
             newCookieBehavior = REJECT_THIRD_PARTY_COOKIES;
           } else if (param.AcceptThirdParty == "from-visited") {
             newCookieBehavior = REJECT_UNVISITED_THIRD_PARTY;
           }
         }
 
         if (param.Locked) {
           setAndLockPref("network.cookie.cookieBehavior", newCookieBehavior);
@@ -182,24 +174,16 @@ var Policies = {
           setAndLockPref("network.cookie.lifetimePolicy", newLifetimePolicy);
         } else {
           setDefaultPref("network.cookie.lifetimePolicy", newLifetimePolicy);
         }
       }
     }
   },
 
-  "CreateMasterPassword": {
-    onBeforeUIStartup(manager, param) {
-      if (!param) {
-        manager.disallowFeature("createMasterPassword");
-      }
-    }
-  },
-
   "DisableAppUpdate": {
     onBeforeAddons(manager, param) {
       if (param) {
         manager.disallowFeature("appUpdate");
       }
     }
   },
 
@@ -268,16 +252,24 @@ var Policies = {
   "DisableFormHistory": {
     onBeforeUIStartup(manager, param) {
       if (param) {
         setAndLockPref("browser.formfill.enable", false);
       }
     }
   },
 
+  "DisableMasterPasswordCreation": {
+    onBeforeUIStartup(manager, param) {
+      if (param) {
+        manager.disallowFeature("createMasterPassword");
+      }
+    }
+  },
+
   "DisablePocket": {
     onBeforeAddons(manager, param) {
       if (param) {
         setAndLockPref("extensions.pocket.enabled", false);
       }
     }
   },
 
@@ -324,29 +316,38 @@ var Policies = {
       }
 
       if ("SafeBrowsing" in param) {
         setAndLockPref("browser.safebrowsing.allowOverride", !param.SafeBrowsing);
       }
     }
   },
 
-  "DisableSysAddonUpdate": {
+  "DisableSetDesktopBackground": {
+    onBeforeUIStartup(manager, param) {
+      if (param) {
+        manager.disallowFeature("setDesktopBackground", true);
+      }
+    }
+  },
+
+  "DisableSystemAddonUpdate": {
     onBeforeAddons(manager, param) {
       if (param) {
         manager.disallowFeature("SysAddonUpdate");
       }
     }
   },
 
   "DisableTelemetry": {
     onBeforeAddons(manager, param) {
       if (param) {
         setAndLockPref("datareporting.healthreport.uploadEnabled", false);
         setAndLockPref("datareporting.policy.dataSubmissionEnabled", false);
+        manager.disallowFeature("about:telemetry");
       }
     }
   },
 
   "DisplayBookmarksToolbar": {
     onBeforeUIStartup(manager, param) {
       let value = (!param).toString();
       // This policy is meant to change the default behavior, not to force it.
@@ -520,17 +521,17 @@ var Policies = {
         runOncePerModification("setHomepage", homepages, () => {
           Services.prefs.clearUserPref("browser.startup.homepage");
           Services.prefs.clearUserPref("browser.startup.page");
         });
       }
     }
   },
 
-  "InstallAddons": {
+  "InstallAddonsPermission": {
     onBeforeUIStartup(manager, param) {
       if ("Allow" in param) {
         addAllowDenyPermissions("install", param.Allow, null);
       }
       if ("Default" in param) {
         setAndLockPref("xpinstall.enabled", param.Default);
         if (!param.Default) {
           manager.disallowFeature("about:debugging");
@@ -542,16 +543,22 @@ var Policies = {
   "NoDefaultBookmarks": {
     onProfileAfterChange(manager, param) {
       if (param) {
         manager.disallowFeature("defaultBookmarks");
       }
     }
   },
 
+  "OfferToSaveLogins": {
+    onBeforeUIStartup(manager, param) {
+      setAndLockPref("signon.rememberSignons", param);
+    }
+  },
+
   "OverrideFirstRunPage": {
     onProfileAfterChange(manager, param) {
       let url = param ? param.spec : "";
       setAndLockPref("startup.homepage_welcome_url", url);
     }
   },
 
   "OverridePostUpdatePage": {
@@ -587,22 +594,16 @@ var Policies = {
         manager.disallowFeature("changeProxySettings");
         ProxyPolicies.configureProxySettings(param, setAndLockPref);
       } else {
         ProxyPolicies.configureProxySettings(param, setDefaultPref);
       }
     }
   },
 
-  "RememberPasswords": {
-    onBeforeUIStartup(manager, param) {
-      setAndLockPref("signon.rememberSignons", param);
-    }
-  },
-
   "SanitizeOnShutdown": {
     onBeforeUIStartup(manager, param) {
       setAndLockPref("privacy.sanitize.sanitizeOnShutdown", param);
       if (param) {
         setAndLockPref("privacy.clearOnShutdown.cache", true);
         setAndLockPref("privacy.clearOnShutdown.cookies", true);
         setAndLockPref("privacy.clearOnShutdown.downloads", true);
         setAndLockPref("privacy.clearOnShutdown.formdata", true);
--- a/browser/components/enterprisepolicies/schemas/policies-schema.json
+++ b/browser/components/enterprisepolicies/schemas/policies-schema.json
@@ -53,23 +53,16 @@
 
     "BlockAboutSupport": {
       "description": "Blocks access to the about:support page.",
       "first_available": "60.0",
 
       "type": "boolean"
     },
 
-    "BlockSetDesktopBackground": {
-      "description": "Prevents usage of the \"Set Image as Desktop Background\" feature.",
-      "first_available": "60.0",
-
-      "type": "boolean"
-    },
-
     "Bookmarks": {
       "description": "Allows the creation of bookmarks in the Bookmarks bar, Bookmarks menu, or a specified folder inside them.",
       "first_available": "60.0",
 
       "type": "array",
       "items": {
         "type": "object",
         "properties": {
@@ -94,17 +87,17 @@
             "type": "string"
           }
         },
         "required": ["Title", "URL"]
       }
     },
 
     "Certificates": {
-      "description": "Whether or not to use built in certs.",
+      "description": "Whether or not to use built in certs. This policy is Windows only at this time.",
       "first_available": "60.0",
 
       "type": "object",
       "properties": {
         "ImportEnterpriseRoots": {
           "type": "boolean"
         }
       }
@@ -131,36 +124,29 @@
         },
 
         "Default": {
           "type": "boolean"
         },
 
         "AcceptThirdParty": {
           "type": "string",
-          "enum": ["all", "none", "from-visited"]
+          "enum": ["always", "never", "from-visited"]
         },
 
         "ExpireAtSessionEnd": {
           "type": "boolean"
         },
 
         "Locked": {
           "type": "boolean"
         }
       }
     },
 
-    "CreateMasterPassword": {
-      "description": "If false, removes access to create a master password.",
-      "first_available": "60.0",
-
-      "type": "boolean"
-    },
-
     "DisableAppUpdate": {
       "description": "Prevent the browser from updating.",
       "first_available": "60.0",
       "enterprise_only": true,
 
       "type": "boolean"
     },
 
@@ -215,16 +201,23 @@
 
     "DisableFormHistory": {
       "description": "Don't remember search and form history.",
       "first_available": "60.0",
 
       "type": "boolean"
     },
 
+    "DisableMasterPasswordCreation": {
+      "description": "If true, removes access to create a master password.",
+      "first_available": "60.0",
+
+      "type": "boolean"
+    },
+
     "DisablePocket": {
       "description": "Prevents ability to save webpages to Pocket.",
       "first_available": "60.0",
 
       "type": "boolean"
     },
 
     "DisablePrivateBrowsing": {
@@ -244,17 +237,17 @@
     "DisableProfileRefresh": {
       "description": "Disables the \"Refresh Firefox\" button in about:support",
       "first_available": "60.0",
 
       "type": "boolean"
     },
 
     "DisableSafeMode": {
-      "description": "Prevents ability to restart in safe mode.",
+      "description": "Prevents ability to restart in safe mode. You can only prevent the Shift key by using GPO on Windows.",
       "first_available": "60.0",
 
       "type": "boolean"
     },
 
     "DisableSecurityBypass": {
       "description": "Prevents the user from bypassing certain security warnings.",
       "first_available": "60.0",
@@ -266,17 +259,24 @@
         },
 
         "SafeBrowsing": {
           "type": "boolean"
         }
       }
     },
 
-    "DisableSysAddonUpdate": {
+    "DisableSetDesktopBackground": {
+      "description": "Prevents usage of the \"Set Image as Desktop Background\" feature.",
+      "first_available": "60.0",
+
+      "type": "boolean"
+    },
+
+    "DisableSystemAddonUpdate": {
       "description": "Prevent the browser from installing and updating system addons.",
       "first_available": "60.0",
       "enterprise_only": true,
 
       "type": "boolean"
     },
 
     "DisableTelemetry": {
@@ -400,18 +400,18 @@
           "items": {
             "type": "URL"
           }
         }
       },
       "required": ["URL"]
     },
 
-    "InstallAddons": {
-      "description": "Allow or deny popup websites to install webextensions.",
+    "InstallAddonsPermission": {
+      "description": "Allow webites to install add-ons.",
       "first_available": "60.0",
 
       "type": "object",
       "properties": {
         "Allow": {
           "type": "array",
           "items": {
             "type": "origin"
@@ -425,16 +425,23 @@
 
     "NoDefaultBookmarks": {
       "description": "Don't create the default bookmarks bundled with Firefox, nor the Smart Bookmarks (Most Visited, Recent Tags). Note: this policy is only effective if used before the first run of the profile.",
       "first_available": "60.0",
 
       "type": "boolean"
     },
 
+    "OfferToSaveLogins": {
+      "description": "Enforces the setting to allow Firefox to offer to remember saved logins and passwords. Both true and false values are accepted.",
+      "first_available": "60.0",
+
+      "type": "boolean"
+    },
+
     "OverrideFirstRunPage": {
       "description": "Override the first run page. Set this policy to blank if you want to disable the first run page.",
       "first_available": "60.0",
       "enterprise_only": true,
 
       "type": "URLorEmpty"
     },
 
@@ -522,23 +529,16 @@
         },
 
         "AutoLogin": {
           "type": "boolean"
         }
       }
     },
 
-    "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"
-    },
-
     "SanitizeOnShutdown": {
       "description": "Clears ALL browser data on shutdown.",
       "first_available": "60.0",
 
       "type": "boolean"
     },
 
     "SearchBar": {
--- a/browser/components/enterprisepolicies/tests/browser/browser_policies_simple_pref_policies.js
+++ b/browser/components/enterprisepolicies/tests/browser/browser_policies_simple_pref_policies.js
@@ -26,21 +26,21 @@ const POLICIES_TESTS = [
    *
    *   // Unlocked prefs to check
    *   unlockedPrefs: { "bar.baz": 42 }
    * },
    */
 
    // POLICY: RememberPasswords
   {
-    policies: { "RememberPasswords": false },
+    policies: { "OfferToSaveLogins": false },
     lockedPrefs: { "signon.rememberSignons": false },
   },
   {
-    policies: { "RememberPasswords": true },
+    policies: { "OfferToSaveLogins": true },
     lockedPrefs: { "signon.rememberSignons": true },
   },
 
   // POLICY: DisableSecurityBypass
   {
     policies: {
       "DisableSecurityBypass": {
         "InvalidCertificate": true,
@@ -117,17 +117,17 @@ const POLICIES_TESTS = [
     lockedPrefs: {
       "security.enterprise_roots.enabled": true,
     }
   },
 
   // POLICY: InstallAddons.Default (block addon installs)
   {
     policies: {
-      "InstallAddons": {
+      "InstallAddonsPermission": {
         "Default": false,
       }
     },
     lockedPrefs: {
       "xpinstall.enabled": false,
     }
   },
 
--- a/browser/components/enterprisepolicies/tests/browser/browser_policy_block_set_desktop_background.js
+++ b/browser/components/enterprisepolicies/tests/browser/browser_policy_block_set_desktop_background.js
@@ -1,16 +1,16 @@
 /* Any copyright is dedicated to the Public Domain.
  * http://creativecommons.org/publicdomain/zero/1.0/ */
 "use strict";
 
 add_task(async function setup() {
   await setupPolicyEngineWithJson({
     "policies": {
-      "BlockSetDesktopBackground": true
+      "DisableSetDesktopBackground": true
     }
   });
 });
 
 add_task(async function test_check_set_desktop_background() {
   const imageUrl = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3gwMDAsTBZbkNwAAAB1pVFh0Q29tbWVudAAAAAAAQ3JlYXRlZCB3aXRoIEdJTVBkLmUHAAABNElEQVQ4y8WSsU0DURBE3yyWIaAJaqAAN4DPSL6AlIACKIEOyJEgRsIgOOkiInJqgAKowNg7BHdn7MOksNl+zZ//dvbDf5cAiklp22BdVtXdeTEpDYDB9m1VzU6OJuVp2NdEQCaI96fH2YHG4+mDduKYNMYINTcjcGbXzQVDEAphG0k48zUsajIbnAiMIXThpW8EICE0RAK4dvoKg9NIcTiQ589otyHOZLnwqK5nLwBFUZ4igc3iM0d1ff8CMC6mZ6Ihiaqq3gi1aUAnArD00SW1fq5OLBg0ymYmSZsR2/t4e/rGyCLW0sbp3oq+yTYqVgytQWui2FS7XYF7GFprY921T4CNQt8zr47dNzCkIX7y/jBtH+v+RGMQrc828W8pApnZbmEVQp/Ae7BlOy2ttib81/UFc+WRWEbjckIAAAAASUVORK5CYII=";
   let tab = await BrowserTestUtils.openNewForegroundTab(gBrowser, imageUrl, true);
 
--- a/browser/components/enterprisepolicies/tests/browser/browser_policy_cookie_settings.js
+++ b/browser/components/enterprisepolicies/tests/browser/browser_policy_cookie_settings.js
@@ -127,17 +127,17 @@ add_task(async function test_disabled() 
   });
   restore_prefs();
 });
 
 add_task(async function test_third_party_disabled() {
   await setupPolicyEngineWithJson({
     "policies": {
       "Cookies": {
-        "AcceptThirdParty": "none"
+        "AcceptThirdParty": "never"
       }
     }
   });
 
   await test_cookie_settings({
     cookiesEnabled: true,
     thirdPartyCookiesEnabled: false,
     cookiesExpireAfterSession: false,
@@ -146,17 +146,17 @@ add_task(async function test_third_party
   restore_prefs();
 });
 
 add_task(async function test_disabled_and_third_party_disabled() {
   await setupPolicyEngineWithJson({
     "policies": {
       "Cookies": {
         "Default": false,
-        "AcceptThirdParty": "none"
+        "AcceptThirdParty": "never"
       }
     }
   });
 
   await test_cookie_settings({
     cookiesEnabled: false,
     thirdPartyCookiesEnabled: false,
     cookiesExpireAfterSession: false,
@@ -165,17 +165,17 @@ add_task(async function test_disabled_an
   restore_prefs();
 });
 
 add_task(async function test_disabled_and_third_party_disabled_locked() {
   await setupPolicyEngineWithJson({
     "policies": {
       "Cookies": {
         "Default": false,
-        "AcceptThirdParty": "none",
+        "AcceptThirdParty": "never",
         "Locked": true
       }
     }
   });
 
   await test_cookie_settings({
     cookiesEnabled: false,
     thirdPartyCookiesEnabled: false,
@@ -240,17 +240,17 @@ add_task(async function test_cookie_expi
   restore_prefs();
 });
 
 add_task(async function test_disabled_cookie_expire_locked() {
   await setupPolicyEngineWithJson({
     "policies": {
       "Cookies": {
         "Default": false,
-        "AcceptThirdParty": "none",
+        "AcceptThirdParty": "never",
         "ExpireAtSessionEnd": true,
         "Locked": true
       }
     }
   });
 
   await test_cookie_settings({
     cookiesEnabled: false,
--- a/browser/components/enterprisepolicies/tests/browser/browser_policy_disable_masterpassword.js
+++ b/browser/components/enterprisepolicies/tests/browser/browser_policy_disable_masterpassword.js
@@ -48,21 +48,21 @@ add_task(async function test_policy_disa
 
   // No password and no policy: access to setting a master password
   // should be enabled.
   await checkDeviceManager({buttonIsDisabled: false});
   await checkAboutPreferences({checkboxIsDisabled: false});
 
   await setupPolicyEngineWithJson({
     "policies": {
-      "CreateMasterPassword": false
+      "DisableMasterPasswordCreation": true
     }
   });
 
-  // With the `CreateMasterPassword: false` policy active, the
+  // With the `DisableMasterPasswordCreation: true` policy active, the
   // UI entry points for creating a Master Password should be disabled.
   await checkDeviceManager({buttonIsDisabled: true});
   await checkAboutPreferences({checkboxIsDisabled: true});
 
   mpToken.changePassword("", MASTER_PASSWORD);
   ok(mpToken.hasPassword, "Master password was set");
 
   // If a Master Password is already set, there's no point in disabling
--- a/browser/components/enterprisepolicies/tests/browser/config_popups_cookies_addons_flash.json
+++ b/browser/components/enterprisepolicies/tests/browser/config_popups_cookies_addons_flash.json
@@ -14,17 +14,17 @@
       ],
 
       "Block": [
         "https://www.deny.com",
         "https://www.pre-existing-allow.com"
       ]
     },
 
-    "InstallAddons": {
+    "InstallAddonsPermission": {
       "Allow": [
         "https://www.allow.com",
         "https://www.pre-existing-deny.com"
       ]
     },
 
     "FlashPlugin": {
       "Allow": [