diff options
Diffstat (limited to 'devtools/client/webconsole/utils.js')
-rw-r--r-- | devtools/client/webconsole/utils.js | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/devtools/client/webconsole/utils.js b/devtools/client/webconsole/utils.js new file mode 100644 index 0000000000..74b4ccfab1 --- /dev/null +++ b/devtools/client/webconsole/utils.js @@ -0,0 +1,53 @@ +/* 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"; + +// Number of terminal entries for the self-xss prevention to go away +const CONSOLE_ENTRY_THRESHOLD = 5; + +var WebConsoleUtils = { + CONSOLE_ENTRY_THRESHOLD, + + /** + * Wrap a string in an nsISupportsString object. + * + * @param string string + * @return nsISupportsString + */ + supportsString(string) { + const str = Cc["@mozilla.org/supports-string;1"].createInstance( + Ci.nsISupportsString + ); + str.data = string; + return str; + }, + + /** + * Value of devtools.selfxss.count preference + * + * @type number + * @private + */ + _usageCount: 0, + get usageCount() { + if (WebConsoleUtils._usageCount < CONSOLE_ENTRY_THRESHOLD) { + WebConsoleUtils._usageCount = Services.prefs.getIntPref( + "devtools.selfxss.count" + ); + if (Services.prefs.getBoolPref("devtools.chrome.enabled")) { + WebConsoleUtils.usageCount = CONSOLE_ENTRY_THRESHOLD; + } + } + return WebConsoleUtils._usageCount; + }, + set usageCount(newUC) { + if (newUC <= CONSOLE_ENTRY_THRESHOLD) { + WebConsoleUtils._usageCount = newUC; + Services.prefs.setIntPref("devtools.selfxss.count", newUC); + } + }, +}; + +exports.Utils = WebConsoleUtils; |