tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

commit 925954a31989b464f472796d67e5a59cca113251
parent 5458f648958f245a1886c168a85b7516ecc993fe
Author: Tanvi Manku <tanvi.manku@gmail.com>
Date:   Mon,  5 Jan 2026 22:58:10 +0000

Bug 2007540 - Fix timing issue so that add buttons are displayed after browser restart. r=mtigley,credential-management-reviewers,akulyk

Differential Revision: https://phabricator.services.mozilla.com/D277721

Diffstat:
Mbrowser/components/preferences/main.js | 34++++++++++++++++++++++++++++++++--
Mtoolkit/components/formautofill/FormAutofillPreferences.sys.mjs | 1+
2 files changed, 33 insertions(+), 2 deletions(-)

diff --git a/browser/components/preferences/main.js b/browser/components/preferences/main.js @@ -1443,12 +1443,27 @@ Preferences.addSetting({ Preferences.addSetting({ id: "add-payment-button", deps: ["saveAndFillPayments"], + setup: (emitChange, _, setting) => { + function updateDepsAndChange() { + setting._deps = null; + emitChange(); + } + Services.obs.addObserver( + updateDepsAndChange, + "formautofill-preferences-initialized" + ); + return () => + Services.obs.removeObserver( + updateDepsAndChange, + "formautofill-preferences-initialized" + ); + }, onUserClick: ({ target }) => { target.ownerGlobal.gSubDialog.open( "chrome://formautofill/content/editCreditCard.xhtml" ); }, - disabled: ({ saveAndFillPayments }) => !saveAndFillPayments.value, + disabled: ({ saveAndFillPayments }) => !saveAndFillPayments?.value, }); Preferences.addSetting({ @@ -1942,10 +1957,25 @@ Preferences.addSetting({ Preferences.addSetting({ id: "add-address-button", deps: ["saveAndFillAddresses"], + setup: (emitChange, _, setting) => { + function updateDepsAndChange() { + setting._deps = null; + emitChange(); + } + Services.obs.addObserver( + updateDepsAndChange, + "formautofill-preferences-initialized" + ); + return () => + Services.obs.removeObserver( + updateDepsAndChange, + "formautofill-preferences-initialized" + ); + }, onUserClick: () => { FormAutofillPreferences.prototype.openEditAddressDialog(undefined, window); }, - disabled: ({ saveAndFillAddresses }) => !saveAndFillAddresses.value, + disabled: ({ saveAndFillAddresses }) => !saveAndFillAddresses?.value, }); Preferences.addSetting({ diff --git a/toolkit/components/formautofill/FormAutofillPreferences.sys.mjs b/toolkit/components/formautofill/FormAutofillPreferences.sys.mjs @@ -195,6 +195,7 @@ export class FormAutofillPreferences { addressesGroup.getSetting = win.Preferences.getSetting.bind( win.Preferences ); + Services.obs.notifyObservers(win, "formautofill-preferences-initialized"); } async initializePaymentsStorage() {