Bug 1391405: Part 6 - Use native helper for extracting enumerable properties. r=zombie

MozReview-Commit-ID: JqSrGUVVauE

--HG--
extra : rebase_source : 1ffb3fdc2688052d768264f105492199e3ced598
extra : histedit_source : cdb9ea7630b674c9e446e28def08a0fc204b99b6
This commit is contained in:
Kris Maglione 2017-08-17 16:06:15 -07:00
parent 13e61f79f9
commit 3d16325eaf

View File

@ -1556,22 +1556,7 @@ class ObjectType extends Type {
`be a plain JavaScript object`);
}
let properties = Object.create(null);
let waived = ChromeUtils.waiveXrays(value);
for (let prop of Object.getOwnPropertyNames(waived)) {
let desc = Object.getOwnPropertyDescriptor(waived, prop);
if (desc.get || desc.set) {
throw context.error("Objects cannot have getters or setters on properties",
"contain no getter or setter properties");
}
// Chrome ignores non-enumerable properties.
if (desc.enumerable) {
properties[prop] = ChromeUtils.unwaiveXrays(desc.value);
}
}
return properties;
return ChromeUtils.shallowClone(value);
}
checkProperty(context, prop, propType, result, properties, remainingProps) {