Bug 1452104 - Final tweaks to policy names and params. r=Felipe, a=RyanVM
authorMichael Kaply <mozilla@kaply.com>
Fri, 06 Apr 2018 13:35:14 -0500
changeset 460636 aab0d3647635d424f4ee300bd4fcd53dc83de949
parent 460635 64b1913329634cbba8bb270f224f36807bf5a65f
child 460637 4ec5bcc4d729dcd83faa2783ab0a9134ee79e812
push id9003
push userryanvm@gmail.com
push dateMon, 09 Apr 2018 14:21:27 +0000
treeherdermozilla-beta@eead32dddd02 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersFelipe, RyanVM
bugs1452104
milestone60.0
Bug 1452104 - Final tweaks to policy names and params. r=Felipe, a=RyanVM 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
toolkit/mozapps/extensions/test/xpcshell/test_system_update_enterprisepolicy.js
--- 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
@@ -49,21 +49,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": [
--- a/toolkit/mozapps/extensions/test/xpcshell/test_system_update_enterprisepolicy.js
+++ b/toolkit/mozapps/extensions/test/xpcshell/test_system_update_enterprisepolicy.js
@@ -1,14 +1,14 @@
 /* Any copyright is dedicated to the Public Domain.
  * http://creativecommons.org/publicdomain/zero/1.0/ */
 "use strict";
 
 // This test verifies that system addon updates are correctly blocked by the
-// DisableSysAddonUpdate enterprise policy.
+// DisableSystemAddonUpdate enterprise policy.
 
 ChromeUtils.import("resource://testing-common/httpd.js");
 ChromeUtils.import("resource://testing-common/EnterprisePolicyTesting.jsm");
 
 // Setting PREF_DISABLE_SECURITY tells the policy engine that we are in testing
 // mode and enables restarting the policy engine without restarting the browser.
 Services.prefs.setBoolPref(PREF_DISABLE_SECURITY, true);
 registerCleanupFunction(() => {
@@ -56,17 +56,17 @@ const TEST_CONDITIONS = {
   ],
 };
 
 add_task(async function test_update_disabled_by_policy() {
   await setupSystemAddonConditions(TEST_CONDITIONS, distroDir);
 
   await EnterprisePolicyTesting.setupPolicyEngineWithJson({
     "policies": {
-      "DisableSysAddonUpdate": true
+      "DisableSystemAddonUpdate": true
     }
   });
 
   await updateAllSystemAddons(await buildSystemAddonUpdates([
     { id: "system2@tests.mozilla.org", version: "2.0", path: "system2_2.xpi" },
     { id: "system3@tests.mozilla.org", version: "2.0", path: "system3_2.xpi" }
   ], root), testserver);