[tbb-commits] [tor-browser] 44/46: Bug 1793742 - Disable autofill prefs when locked by policy. r=tgiles, credential-management-reviewers, sgalich, a=dmeehan
gitolite role
git at cupani.torproject.org
Wed Nov 16 20:43:24 UTC 2022
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch base-browser-102.5.0esr-12.0-1
in repository tor-browser.
commit 682d77089460e7c3284c47b28e62f5c0fdd2e49a
Author: Mike Kaply <mozilla at kaply.com>
AuthorDate: Fri Oct 7 16:40:42 2022 +0000
Bug 1793742 - Disable autofill prefs when locked by policy. r=tgiles,credential-management-reviewers,sgalich, a=dmeehan
Differential Revision: https://phabricator.services.mozilla.com/D158676
---
.../test/browser/browser_privacyPreferences.js | 34 ++++++++++++++++++++++
toolkit/components/formautofill/FormAutofill.jsm | 14 +++++++++
.../formautofill/FormAutofillPreferences.jsm | 6 ++++
3 files changed, 54 insertions(+)
diff --git a/browser/extensions/formautofill/test/browser/browser_privacyPreferences.js b/browser/extensions/formautofill/test/browser/browser_privacyPreferences.js
index 7289d5a86934..d193f3b3405f 100644
--- a/browser/extensions/formautofill/test/browser/browser_privacyPreferences.js
+++ b/browser/extensions/formautofill/test/browser/browser_privacyPreferences.js
@@ -434,3 +434,37 @@ add_task(async function test_addressAutofillNotAvailableViaRegion() {
await SpecialPowers.popPrefEnv();
});
+
+// Checkboxes should be disabled based on whether or not they are locked.
+add_task(async function test_aboutPreferencesPrivacy() {
+ Services.prefs.lockPref(ENABLED_AUTOFILL_ADDRESSES_PREF);
+ Services.prefs.lockPref(ENABLED_AUTOFILL_CREDITCARDS_PREF);
+ registerCleanupFunction(function() {
+ Services.prefs.unlockPref(ENABLED_AUTOFILL_ADDRESSES_PREF);
+ Services.prefs.unlockPref(ENABLED_AUTOFILL_CREDITCARDS_PREF);
+ });
+ let finalPrefPaneLoaded = TestUtils.topicObserved(
+ "sync-pane-loaded",
+ () => true
+ );
+ await BrowserTestUtils.withNewTab(
+ { gBrowser, url: PAGE_PRIVACY },
+ async function(browser) {
+ await finalPrefPaneLoaded;
+ await SpecialPowers.spawn(browser, [SELECTORS], selectors => {
+ is(
+ content.document.querySelector(selectors.addressAutofillCheckbox)
+ .disabled,
+ true,
+ "Autofill addresses checkbox should be disabled"
+ );
+ is(
+ content.document.querySelector(selectors.creditCardAutofillCheckbox)
+ .disabled,
+ true,
+ "Autofill credit cards checkbox should be disabled"
+ );
+ });
+ }
+ );
+});
diff --git a/toolkit/components/formautofill/FormAutofill.jsm b/toolkit/components/formautofill/FormAutofill.jsm
index c1a12b92595e..384f379b9447 100644
--- a/toolkit/components/formautofill/FormAutofill.jsm
+++ b/toolkit/components/formautofill/FormAutofill.jsm
@@ -146,6 +146,13 @@ var FormAutofill = {
FormAutofill._isAutofillCreditCardsEnabled
);
},
+ /**
+ * Determines if credit card autofill is locked by policy.
+ * @returns {boolean} `true` if credit card autofill is locked
+ */
+ get isAutofillCreditCardsLocked() {
+ return Services.prefs.prefIsLocked(ENABLED_AUTOFILL_CREDITCARDS_PREF);
+ },
/**
* Determines if the user has enabled or disabled address autofill.
* @returns {boolean} `true` if address autofill is enabled
@@ -156,6 +163,13 @@ var FormAutofill = {
FormAutofill._isAutofillAddressesEnabled
);
},
+ /**
+ * Determines if address autofill is locked by policy.
+ * @returns {boolean} `true` if address autofill is locked
+ */
+ get isAutofillAddressesLocked() {
+ return Services.prefs.prefIsLocked(ENABLED_AUTOFILL_ADDRESSES_PREF);
+ },
defineLazyLogGetter(scope, logPrefix) {
scope.debug = debug;
diff --git a/toolkit/components/formautofill/FormAutofillPreferences.jsm b/toolkit/components/formautofill/FormAutofillPreferences.jsm
index 1b007b29038a..e006e98f6c10 100644
--- a/toolkit/components/formautofill/FormAutofillPreferences.jsm
+++ b/toolkit/components/formautofill/FormAutofillPreferences.jsm
@@ -163,6 +163,9 @@ FormAutofillPreferences.prototype = {
if (FormAutofill.isAutofillAddressesEnabled) {
addressAutofillCheckbox.setAttribute("checked", true);
}
+ if (FormAutofill.isAutofillAddressesLocked) {
+ addressAutofillCheckbox.disabled = true;
+ }
addressAutofillCheckboxGroup.setAttribute("align", "center");
addressAutofillCheckboxGroup.flex = 1;
@@ -233,6 +236,9 @@ FormAutofillPreferences.prototype = {
if (FormAutofill.isAutofillCreditCardsEnabled) {
creditCardAutofillCheckbox.setAttribute("checked", true);
}
+ if (FormAutofill.isAutofillCreditCardsLocked) {
+ creditCardAutofillCheckbox.disabled = true;
+ }
creditCardAutofillCheckboxGroup.setAttribute("align", "center");
creditCardAutofillCheckboxGroup.flex = 1;
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the tbb-commits
mailing list