At this point, each path through the code completely fills in desc, so the final call to ApplyOrDefaultAttributes is redundant. Note that AddOrChangeProperty begins with `desc.assertComplete()`, so we'll find out soon enough if this is not the case.
--HG--
extra : rebase_source : 063ad1ed19bcdc8bad4f5855cdc3e86661a66415
StandardDefineProperty already does this. In short, redefining a magical data property like array.length or an arguments element should make it nonmagical.
In fact, it is an engine invariant that Shapes have either both JSPROP_GETTER and JSPROP_SETTER or neither: they never have e.g. a setter object and a getter op. As of recently the GC depends on this. So this change is necessary for memory safety.
--HG--
extra : rebase_source : 4cf6bed2978011296178d621026f33731b3c5e10
The new code takes over some cases that used to be handled by each of the three cases that follow it. Therefore there are changes in all three cases, particularly the desc.isAccessorDescriptor() case, which no longer needs the sparsify code.
--HG--
extra : rebase_source : a0cdf49f67ca6baaf5bbbd7b793704dd2c62506a
This also makes some changes to MutableHandle<PropertyDescriptor>, for convenience:
* Make desc.setGetterObject() and desc.setSetterObject() quietly change *this from a generic or data descriptor into an accessor descriptor, if need be.
* Make setWritable() clear the JSPROP_IGNORE_READONLY bit if present. (Breaking the symmetry a bit, it won't change *this from an accessor descriptor to a data descriptor. Instead, it asserts you're not doing that.)
--HG--
extra : rebase_source : 2a7cf3d477553838248bfa8bb183985ee369a22e
This changes MutableHandle<PropertyDescriptor>::setEnumerable() to take a boolean argument, and makes it unconditionally clear JSPROP_IGNORE_ENUMERATE, as a convenience. A similar setConfigurable() method is also added.
--HG--
extra : rebase_source : 5cfaba30965d36057215de2ccbce91ab9991b32e
The new comment "Filling in desc:" is aspirational for now, but it gradually becomes true in the subsequent patches in this bug.
--HG--
extra : rebase_source : eb00118ec0810c48cbf192cbabcbf83ed1eeb004
The existing setup saves a branch. We can't keep it. All that code is about to be completely rewritten. In the standard algorithms, this check is not immediately followed by a branch on this particular condition (desc.hasValue()). Furthermore, to deal with resolve hooks properly, we will later change the condition of this if-statement to something like `if (resolving)`, which will not be something we can common up with any other branch in this function.
--HG--
extra : rebase_source : 5460d4d2704697c4c63b2bc5d4435601c97ad00a
========
https://hg.mozilla.org/integration/gaia-central/rev/5fee5e83ac6f
Author: David Flanagan <dflanagan@mozilla.com>
Desc: Merge pull request #29640 from davidflanagan/bug1156519
Revert "Bug 1145758 - Don't go to next song if paused and at the end of ...
========
https://hg.mozilla.org/integration/gaia-central/rev/5ed932850526
Author: David Flanagan <dflanagan@mozilla.com>
Desc: Revert "Bug 1145758 - Don't go to next song if paused and at the end of the scrubber."
This reverts commit 8d23f88a704829cf382f8d5e218e2571da014081.
========
https://hg.mozilla.org/integration/gaia-central/rev/2fc3a22ad148
Author: Ryan VanderMeulen <rvandermeulen@mozilla.com>
Desc: Revert "Bug 1147731 - merge pull request #29160 from zapion:gaiatest_bug_1147731 to mozilla-b2g:master"
This reverts commit 9c2ceaeb43eead58946310aed979522e021f3c21, reversing
changes made to 2380a2c9003e744caf145e4dae112aa04ae56438.