| Index: extensions/renderer/resources/binding.js
|
| diff --git a/extensions/renderer/resources/binding.js b/extensions/renderer/resources/binding.js
|
| index 13ac7f960ccd89e28d61d7e52ca65baded2c8451..796c26b74d2d8ddb8e20d35cce3928bc853d9dd5 100644
|
| --- a/extensions/renderer/resources/binding.js
|
| +++ b/extensions/renderer/resources/binding.js
|
| @@ -481,7 +481,17 @@ Binding.prototype = {
|
| return;
|
| }
|
|
|
| - var value = propertyDef.value;
|
| + // |value| is eventually added to |m|, the exposed API. Make copies
|
| + // of everything from the schema. (The schema is also frozen, so as long
|
| + // as we don't make any modifications, shallow copies are fine.)
|
| + var value;
|
| + if ($Array.isArray(propertyDef.value))
|
| + value = $Array.slice(propertyDef.value);
|
| + else if (typeof propertyDef.value === 'object')
|
| + value = $Object.assign({}, propertyDef.value);
|
| + else
|
| + value = propertyDef.value;
|
| +
|
| if (value) {
|
| // Values may just have raw types as defined in the JSON, such
|
| // as "WINDOW_ID_NONE": { "value": -1 }. We handle this here.
|
|
|