gecko/js
Jason Orendorff e7ca584779 Bug 1090636, part 5 - In SetExistingProperty, correctly handle assigning to array.length. r=efaust.
This one is a little complicated. There is some code in SetExistingProperty that is supposed to determine whether or not we should shadow a property that wasn't found on the receiver. This code does not work correctly for array.length properties. (array.length is a data property, so of course it should be shadowed -- but it is non-shadowable() because hasSlot() is false.)

Having fixed that bug, the call to SetArrayLength is only necessary in the non-shadowing case. (In fact, it would be unnecessary altogether but for Parallel JS.) This in turn makes 'attrs' unnecessary, so delete that.

This is a behavior change (a bug fix) in the case of proxies, as the test illustrates.

--HG--
extra : rebase_source : 18704b24f65bd3336d5c2b2f3e7366b01e7fcec0
2014-10-29 01:22:28 -05:00
..
ductwork/debugger
examples
ipc Bug 1103368, part 5 - Make Class::getProperty and setProperty nullable instead of needing stub functions. Never store stub functions in JSPropertyDescriptors. r=bhackett. 2014-11-22 12:23:39 -06:00
public Bug 1097267 - Change to the simpler enumerate hook in the js engine. r=jorendorff 2014-12-11 19:31:10 +01:00
src Bug 1090636, part 5 - In SetExistingProperty, correctly handle assigning to array.length. r=efaust. 2014-10-29 01:22:28 -05:00
xpconnect Bug 1097267 - Change the enumerate hook usage in XPC and browser. r=bholley 2014-12-11 19:31:10 +01:00