Bug 1350244 - Back out bug 1348606 part 2 (Get rid of CSSVALUE_LIST_FOR_EXTRA_VALUES). r=me

This reverts commit 0ea54a26e3dd1455c148c67d6f8080b01990309b.

MozReview-Commit-ID: 3gVCoPnGtAS
This commit is contained in:
Bobby Holley 2017-03-27 13:22:42 -07:00
parent 2605f19ed7
commit 7522be290d

View File

@ -1098,27 +1098,30 @@ private:
const nsCSSValue* First() const { return mArray; }
#define CSSVALUE_LIST_FOR_EXTRA_VALUES(var) \
for (nsCSSValue *var = First() + 1, *var##_end = First() + mCount; \
var != var##_end; ++var)
explicit Array(size_t aItemCount)
: mCount(aItemCount)
: mRefCnt(0)
, mCount(aItemCount)
{
for (nsCSSValue *val = First() + 1, *val_end = First() + mCount;
val != val_end; ++val)
{
CSSVALUE_LIST_FOR_EXTRA_VALUES(val) {
new (val) nsCSSValue();
}
}
~Array()
{
for (nsCSSValue *val = First() + 1, *val_end = First() + mCount;
val != val_end; ++val)
{
CSSVALUE_LIST_FOR_EXTRA_VALUES(val) {
val->~nsCSSValue();
}
}
size_t SizeOfIncludingThis(mozilla::MallocSizeOf aMallocSizeOf) const;
#undef CSSVALUE_LIST_FOR_EXTRA_VALUES
private:
Array(const Array& aOther) = delete;
Array& operator=(const Array& aOther) = delete;