Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Unified Diff: lib/prefs.js

Issue 6647895159734272: Issue 1489 - Support preconfigured defaults (Closed)
Patch Set: Make the defaults to leave alone configurable Created March 21, 2015, 7:37 p.m.
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: lib/prefs.js
===================================================================
--- a/lib/prefs.js
+++ b/lib/prefs.js
@@ -26,7 +26,9 @@
pref = pref.substr(branchName.length);
let [getter, setter] = typeMap[typeof value];
- setter(defaultBranch, pref, value);
+ if (!hasPreconfiguredDefault(branch, pref))
+ setter(defaultBranch, pref, value);
+
defineProperty(pref, false, getter, setter);
}
};
@@ -45,6 +47,22 @@
}
/**
+ * Checks whether the supplied pref has a preconfigured default value.
+ */
+function hasPreconfiguredDefault(branch, pref)
+{
+ try
+ {
+ let defaults = getJSONPref(branch, "preconfigured_defaults");
+ return defaults.indexOf(pref) != -1;
+ }
+ catch (e)
+ {
+ return false;
+ }
+}
+
+/**
* Sets up getter/setter on Prefs object for preference.
*/
function defineProperty(/**String*/ name, defaultValue, /**Function*/ readFunc, /**Function*/ writeFunc)
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld