Index: chrome/renderer/resources/extensions/chrome_setting.js |
diff --git a/chrome/renderer/resources/extensions/chrome_setting.js b/chrome/renderer/resources/extensions/chrome_setting.js |
index c3c0c9a3816571778ee2885de7908c91d8a3e3b2..ef8114824875d4dc31707105eefde197b99643e2 100644 |
--- a/chrome/renderer/resources/extensions/chrome_setting.js |
+++ b/chrome/renderer/resources/extensions/chrome_setting.js |
@@ -8,11 +8,10 @@ |
function extendSchema(schema) { |
var extendedSchema = $Array.slice(schema); |
- $Array.unshift(extendedSchema, {'type': 'string'}); |
+ extendedSchema.unshift({'type': 'string'}); |
return extendedSchema; |
} |
-// TODO(devlin): Maybe find a way to combine this and ContentSetting. |
function ChromeSetting(prefKey, valueSchema) { |
this.get = function(details, callback) { |
var getSchema = this.functionSchemas.get.definition.parameters; |
@@ -22,24 +21,13 @@ |
extendSchema(getSchema)); |
}; |
this.set = function(details, callback) { |
- // The set schema included in the Schema object is generic, since it varies |
- // per-setting. However, this is only ever for a single setting, so we can |
- // enforce the types more thoroughly. |
- var rawSetSchema = this.functionSchemas.set.definition.parameters; |
- var rawSettingParam = rawSetSchema[0]; |
- var props = $Object.assign({}, rawSettingParam.properties); |
- props.value = valueSchema; |
- var modSettingParam = { |
- name: rawSettingParam.name, |
- type: rawSettingParam.type, |
- properties: props, |
- }; |
- var modSetSchema = $Array.slice(rawSetSchema); |
- modSetSchema[0] = modSettingParam; |
- validate([details, callback], modSetSchema); |
+ var setSchema = $Array.slice( |
+ this.functionSchemas.set.definition.parameters); |
+ setSchema[0].properties.value = valueSchema; |
+ validate([details, callback], setSchema); |
return sendRequest('types.ChromeSetting.set', |
[prefKey, details, callback], |
- extendSchema(modSetSchema)); |
+ extendSchema(setSchema)); |
}; |
this.clear = function(details, callback) { |
var clearSchema = this.functionSchemas.clear.definition.parameters; |