diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 19:33:14 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 19:33:14 +0000 |
commit | 36d22d82aa202bb199967e9512281e9a53db42c9 (patch) | |
tree | 105e8c98ddea1c1e4784a60a5a6410fa416be2de /devtools/client/webconsole/utils/prefs.js | |
parent | Initial commit. (diff) | |
download | firefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.tar.xz firefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.zip |
Adding upstream version 115.7.0esr.upstream/115.7.0esr
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'devtools/client/webconsole/utils/prefs.js')
-rw-r--r-- | devtools/client/webconsole/utils/prefs.js | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/devtools/client/webconsole/utils/prefs.js b/devtools/client/webconsole/utils/prefs.js new file mode 100644 index 0000000000..9235c82069 --- /dev/null +++ b/devtools/client/webconsole/utils/prefs.js @@ -0,0 +1,46 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +"use strict"; + +function getPreferenceName(hud, suffix) { + if (!suffix) { + console.error("Suffix shouldn't be falsy", { suffix }); + return null; + } + + if (!hud) { + console.error("hud shouldn't be falsy", { hud }); + return null; + } + + if (suffix.startsWith("devtools.")) { + // We don't have a suffix but a full pref name. Let's return it. + return suffix; + } + + const component = hud.isBrowserConsole ? "browserconsole" : "webconsole"; + return `devtools.${component}.${suffix}`; +} + +function getPrefsService(hud) { + const getPrefName = pref => getPreferenceName(hud, pref); + + return { + getBoolPref: (pref, deflt) => + Services.prefs.getBoolPref(getPrefName(pref), deflt), + getIntPref: (pref, deflt) => + Services.prefs.getIntPref(getPrefName(pref), deflt), + setBoolPref: (pref, value) => + Services.prefs.setBoolPref(getPrefName(pref), value), + setIntPref: (pref, value) => + Services.prefs.setIntPref(getPrefName(pref), value), + clearUserPref: pref => Services.prefs.clearUserPref(getPrefName(pref)), + getPrefName, + }; +} + +module.exports = { + getPrefsService, +}; |