What does pref.browser.language.disable_button.remove do?
I am reviewing my user.js and pref.js files in anticipation of deploying policy settings in GPO. As a part of the review, I am trying to document what each of the preferences in those files actually do, in order to be able to see in the future why a setting was set the way it was.
I am presently at the preference "pref.browser.language.disable_button.remove". Based on the name of the preference, I would think that if set to true, it would disable the remove button in the Webpage Language Settings window. (Hamburger menu -> Settings -> General -> Language -> Choose your preferred language for displaying pages)
When I set it to true, it does not disable the remove button but when I use the remove button, the preference is set to false.
Am I misunderstanding the purpose of this preference or is there more to using this preference than just setting its value in about:config?
Also, I see there are a number of other preferences that contain disable_button but that only one, "pref.privacy.disable_button.view_passwords", has a GPO policy for setting. I would expect that these preferences containing disable_button would all work in a similar way just each for a different button in the Firefox GUI.
If it matters, I'm running Firefox 115.3.1esr 64-bit en-ca on Windows 10.
All Replies (5)
> Am I misunderstanding the purpose of this preference or is there more to using this preference than just setting its value in about:config?
That's definitely what it's supposed to do, but it's not working. I'm checking when it stopped working.
> Also, I see there are a number of other preferences that contain disable_button but that only one, "pref.privacy.disable_button.view_passwords", has a GPO policy for setting
That one is called out because the PasswordManagerEnabled policy sets it.
The Homepage policy also sets some of those preferences.
I should probably make all of the "pref." preferences settable via policy.
Are there ones in particular you are using?
The settings in my user.js file related to this are: "pref.browser.language.disable_button.remove" "pref.general.disable_button.default_browser" "pref.privacy.disable_button.cookie_exceptions" "pref.privacy.disable_button.tracking_protection_exceptions" "pref.privacy.disable_button.view_passwords" "pref.privacy.disable_button.view_passwords_exceptions"
But in a Google search for the first one, I came across one of the source files for Firefox. It had two other preferences with the same name other than substitute "remove" with "up" and "down" or something like that. Right now I'm just testing them to see what they do, in addition to seeing what Google can find me in the way of description. I'm also going to do a search of the Firefox codebase for 115 ESR for "disable_button" to see what other settings there are.
Such disable-button prefs may only work when they are locked, so you can't do this via user.js but you can possibly do this via autoconfig with lockPref().
Support for setting all of the pref. preferences via the Preferences policy will be in Firefox 120/Firefox ESR 115.5.
I am going to look into why some of these prefs aren't working anymore.
But cor-el is correct, they must be locked.
OK, so I'm going to try to close the loop here. I went through and tested every pref that we have for this. I found two that we don't need anymore (pref.privacy.disable_button.view_cookies and pref.privacy.disable_button.change_blocklist). I'm getting those removed.
The following ones will work in the next version of Firefox when pref. is added to the Preferences policy in the next version of Firefox:
pref.browser.homepage.disable_button.current_page pref.browser.homepage.disable_button.bookmark_page pref.browser.homepage.disable_button.restore_default pref.privacy.disable_button.view_passwords pref.advanced.proxies.disable_button.reload pref.general.disable_button.default_browser pref.downloads.disable_button.edit_actions app.update.disable_button.showUpdateHistory pref.privacy.disable_button.tracking_protection_exceptions pref.privacy.disable_button.cookie_exceptions pref.privacy.disable_button.view_passwords_exceptions
And I'm adding these to policy so they will work
security.disable_button.openCertManager security.disable_button.openDeviceManager
The following ones don't work:
pref.browser.language.disable_button.up pref.browser.language.disable_button.down pref.browser.language.disable_button.remove
I'm going to investigate why they don't work, but I'm not 100% convinced these are needed? I'm not sure why someone would want to disable these buttons...