Bug 1304922 - Part 12: Add move assignment operator for StyleAnimationValue. r?birtles
MozReview-Commit-ID: dvAx8eViRR
--- a/layout/style/StyleAnimationValue.h
+++ b/layout/style/StyleAnimationValue.h
@@ -509,16 +509,27 @@ public:
void SetAndAdoptCSSValueTripletValue(nsCSSValueTriplet *aValue, Unit aUnit);
void SetAndAdoptCSSRectValue(nsCSSRect *aValue, Unit aUnit);
void SetAndAdoptCSSValueListValue(nsCSSValueList *aValue, Unit aUnit);
void SetAndAdoptCSSValuePairListValue(nsCSSValuePairList *aValue);
void SetTransformValue(nsCSSValueSharedList* aList);
StyleAnimationValue& operator=(const StyleAnimationValue& aOther);
+ StyleAnimationValue& operator=(StyleAnimationValue&& aOther)
+ {
+ MOZ_ASSERT(this != &aOther, "Do not move itself");
+ if (this != &aOther) {
+ FreeValue();
+ mUnit = aOther.mUnit;
+ mValue = aOther.mValue;
+ aOther.mUnit = eUnit_Null;
+ }
+ return *this;
+ }
bool operator==(const StyleAnimationValue& aOther) const;
bool operator!=(const StyleAnimationValue& aOther) const
{ return !(*this == aOther); }
private:
void FreeValue();