| Index: extensions/renderer/resources/binding.js
|
| diff --git a/extensions/renderer/resources/binding.js b/extensions/renderer/resources/binding.js
|
| index 0eef6cf9031ce0e3a5fdaa278a1b9f99a2009f94..c5690907f4008ba5ce7492dcac854fcbd7e6e495 100644
|
| --- a/extensions/renderer/resources/binding.js
|
| +++ b/extensions/renderer/resources/binding.js
|
| @@ -484,7 +484,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.
|
|
|