forked from mirrors/gecko-dev
Backed out changeset 456166433c71 (bug 1448077) Backed out changeset a826e8871e9f (bug 1448077) Backed out changeset 42b4ccfcb9c4 (bug 1448077) Backed out changeset c61caf7df6c7 (bug 1448077) --HG-- rename : devtools/client/preferences/devtools-client.js => devtools/client/preferences/devtools.js rename : devtools/client/webide/preferences/webide.js => devtools/client/webide/webide-prefs.js rename : devtools/startup/preferences/devtools-startup.js => devtools/startup/devtools-startup-prefs.js
72 lines
3 KiB
JavaScript
72 lines
3 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
"use strict";
|
|
|
|
const Services = require("Services");
|
|
const { Preferences } = require("resource://gre/modules/Preferences.jsm");
|
|
|
|
// Prefs to revert to default once tests finish. Keep these in sync with
|
|
// all the preferences defined in devtools/client/preferences/devtools.js.
|
|
exports.MEMORY_SAMPLE_PROB_PREF = "devtools.performance.memory.sample-probability";
|
|
exports.MEMORY_MAX_LOG_LEN_PREF = "devtools.performance.memory.max-log-length";
|
|
exports.PROFILER_BUFFER_SIZE_PREF = "devtools.performance.profiler.buffer-size";
|
|
exports.PROFILER_SAMPLE_RATE_PREF = "devtools.performance.profiler.sample-frequency-khz";
|
|
|
|
exports.UI_EXPERIMENTAL_PREF = "devtools.performance.ui.experimental";
|
|
exports.UI_INVERT_CALL_TREE_PREF = "devtools.performance.ui.invert-call-tree";
|
|
exports.UI_INVERT_FLAME_PREF = "devtools.performance.ui.invert-flame-graph";
|
|
exports.UI_FLATTEN_RECURSION_PREF = "devtools.performance.ui.flatten-tree-recursion";
|
|
exports.UI_SHOW_PLATFORM_DATA_PREF = "devtools.performance.ui.show-platform-data";
|
|
exports.UI_SHOW_IDLE_BLOCKS_PREF = "devtools.performance.ui.show-idle-blocks";
|
|
exports.UI_ENABLE_FRAMERATE_PREF = "devtools.performance.ui.enable-framerate";
|
|
exports.UI_ENABLE_MEMORY_PREF = "devtools.performance.ui.enable-memory";
|
|
exports.UI_ENABLE_ALLOCATIONS_PREF = "devtools.performance.ui.enable-allocations";
|
|
exports.UI_ENABLE_MEMORY_FLAME_CHART = "devtools.performance.ui.enable-memory-flame";
|
|
|
|
exports.DEFAULT_PREF_VALUES = [
|
|
"devtools.debugger.log",
|
|
"devtools.performance.enabled",
|
|
"devtools.performance.timeline.hidden-markers",
|
|
exports.MEMORY_SAMPLE_PROB_PREF,
|
|
exports.MEMORY_MAX_LOG_LEN_PREF,
|
|
exports.PROFILER_BUFFER_SIZE_PREF,
|
|
exports.PROFILER_SAMPLE_RATE_PREF,
|
|
exports.UI_EXPERIMENTAL_PREF,
|
|
exports.UI_INVERT_CALL_TREE_PREF,
|
|
exports.UI_INVERT_FLAME_PREF,
|
|
exports.UI_FLATTEN_RECURSION_PREF,
|
|
exports.UI_SHOW_PLATFORM_DATA_PREF,
|
|
exports.UI_SHOW_IDLE_BLOCKS_PREF,
|
|
exports.UI_ENABLE_FRAMERATE_PREF,
|
|
exports.UI_ENABLE_MEMORY_PREF,
|
|
exports.UI_ENABLE_ALLOCATIONS_PREF,
|
|
exports.UI_ENABLE_MEMORY_FLAME_CHART,
|
|
"devtools.performance.ui.show-jit-optimizations",
|
|
"devtools.performance.ui.show-triggers-for-gc-types",
|
|
].reduce((prefValues, prefName) => {
|
|
prefValues[prefName] = Preferences.get(prefName);
|
|
return prefValues;
|
|
}, {});
|
|
|
|
/**
|
|
* Invokes callback when a pref which is not in the `DEFAULT_PREF_VALUES` store
|
|
* is changed. Returns a cleanup function.
|
|
*/
|
|
exports.whenUnknownPrefChanged = function(branch, callback) {
|
|
function onObserve(subject, topic, data) {
|
|
if (!(data in exports.DEFAULT_PREF_VALUES)) {
|
|
callback(data);
|
|
}
|
|
}
|
|
Services.prefs.addObserver(branch, onObserve);
|
|
return () => Services.prefs.removeObserver(branch, onObserve);
|
|
};
|
|
|
|
/**
|
|
* Reverts all known preferences to their default values.
|
|
*/
|
|
exports.rollbackPrefsToDefault = function() {
|
|
for (let prefName of Object.keys(exports.DEFAULT_PREF_VALUES)) {
|
|
Preferences.set(prefName, exports.DEFAULT_PREF_VALUES[prefName]);
|
|
}
|
|
};
|