Index: chrome/browser/resources/settings/prefs/prefs.js |
diff --git a/chrome/browser/resources/settings/prefs/prefs.js b/chrome/browser/resources/settings/prefs/prefs.js |
index 98c82f78b5c4543a20fc1dd601e5bfabe98b010c..5e89860ac703d766ede1a8af6de82236a6bff57d 100644 |
--- a/chrome/browser/resources/settings/prefs/prefs.js |
+++ b/chrome/browser/resources/settings/prefs/prefs.js |
@@ -236,17 +236,12 @@ function ListPrefWrapper(prefObj) { |
* @private |
*/ |
setPref_: function(newPrefObj) { |
- // Check if the pref exists already in the Polymer |prefs| object. |
- if (this.get(newPrefObj.key, this.prefs)) { |
- // Update just the value, notifying listeners of the change. |
- this.set('prefs.' + newPrefObj.key + '.value', newPrefObj.value); |
- } else { |
- // Add the pref to |prefs|. cr.exportPath doesn't use Polymer.Base.set, |
- // which is OK because the nested property update events aren't useful. |
- cr.exportPath(newPrefObj.key, newPrefObj, this.prefs); |
- // Notify listeners of the change at the preference key. |
- this.notifyPath('prefs.' + newPrefObj.key, newPrefObj); |
- } |
+ // Add the pref object to |prefs| if necessary and set it. Note: we need |
+ // to always set the entire object, not just the value, in case any policy |
+ // or other attributes change. |
+ cr.exportPath(newPrefObj.key, newPrefObj, this.prefs); |
+ // Notify listeners of the change at the preference key. |
+ this.notifyPath('prefs.' + newPrefObj.key, newPrefObj); |
Dan Beam
2015/09/16 01:31:44
this will conflict with michaelpg@'s CL
stevenjb
2015/09/16 18:18:18
One of us will have to resolve the comment differe
|
}, |
/** |