Bug 1420928 - Add getters for each animation property in nsStyleDisplay. r?boris
This is also a prerequisite to use repeated values for the used value.
Note that each count should never be zero since their initial value is 1 and
we never set zero length property value to the member.
MozReview-Commit-ID: 44ZMhopuK6o
--- a/layout/style/nsStyleStruct.h
+++ b/layout/style/nsStyleStruct.h
@@ -2618,16 +2618,48 @@ struct MOZ_NEEDS_MEMMOVABLE_MEMBERS nsSt
mAnimationDurationCount,
mAnimationDelayCount,
mAnimationNameCount,
mAnimationDirectionCount,
mAnimationFillModeCount,
mAnimationPlayStateCount,
mAnimationIterationCountCount;
+ nsAtom* GetAnimationName(uint32_t aIndex) const
+ {
+ return mAnimations[aIndex % mAnimationNameCount].GetName();
+ }
+ float GetAnimationDelay(uint32_t aIndex) const
+ {
+ return mAnimations[aIndex % mAnimationDelayCount].GetDelay();
+ }
+ float GetAnimationDuration(uint32_t aIndex) const
+ {
+ return mAnimations[aIndex % mAnimationDurationCount].GetDuration();
+ }
+ mozilla::dom::PlaybackDirection GetAnimationDirection(uint32_t aIndex) const
+ {
+ return mAnimations[aIndex % mAnimationDirectionCount].GetDirection();
+ }
+ mozilla::dom::FillMode GetAnimationFillMode(uint32_t aIndex) const
+ {
+ return mAnimations[aIndex % mAnimationFillModeCount].GetFillMode();
+ }
+ uint8_t GetAnimationPlayState(uint32_t aIndex) const
+ {
+ return mAnimations[aIndex % mAnimationPlayStateCount].GetPlayState();
+ }
+ float GetAnimationIterationCount(uint32_t aIndex) const
+ {
+ return mAnimations[aIndex % mAnimationIterationCountCount].GetIterationCount();
+ }
+ const nsTimingFunction& GetAnimationTimingFunction(uint32_t aIndex) const
+ {
+ return mAnimations[aIndex % mAnimationTimingFunctionCount].GetTimingFunction();
+ }
// The threshold used for extracting a shape from shape-outside: <image>.
float mShapeImageThreshold = 0.0f; // [reset]
mozilla::StyleShapeSource mShapeOutside; // [reset]
bool IsBlockInsideStyle() const {
return mozilla::StyleDisplay::Block == mDisplay ||