зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1074054 part 1 - Add Animation::IsInEffect; r=dbaron
This patch adds a utility method to return if an animation is "in effect" or not as defined by Web Animations: http://w3c.github.io/web-animations/#in-effect It also moves the utility method for querying if an animation is "current" (IsCurrent) to the .cpp file since it is fairly long. (Bug 1046055 makes one of the callers of IsCurrent inline-able which should offset any cost introduced by this no longer being inline-able.)
This commit is contained in:
Родитель
cf85a7879b
Коммит
add5d0af0e
|
@ -227,6 +227,29 @@ Animation::ActiveDuration(const AnimationTiming& aTiming)
|
||||||
aTiming.mIterationDuration.MultDouble(aTiming.mIterationCount));
|
aTiming.mIterationDuration.MultDouble(aTiming.mIterationCount));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool
|
||||||
|
Animation::IsCurrent() const
|
||||||
|
{
|
||||||
|
if (IsFinishedTransition()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
ComputedTiming computedTiming = GetComputedTiming();
|
||||||
|
return computedTiming.mPhase == ComputedTiming::AnimationPhase_Before ||
|
||||||
|
computedTiming.mPhase == ComputedTiming::AnimationPhase_Active;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool
|
||||||
|
Animation::IsInEffect() const
|
||||||
|
{
|
||||||
|
if (IsFinishedTransition()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
ComputedTiming computedTiming = GetComputedTiming();
|
||||||
|
return computedTiming.mTimeFraction != ComputedTiming::kNullTimeFraction;
|
||||||
|
}
|
||||||
|
|
||||||
bool
|
bool
|
||||||
Animation::HasAnimationOfProperty(nsCSSProperty aProperty) const
|
Animation::HasAnimationOfProperty(nsCSSProperty aProperty) const
|
||||||
{
|
{
|
||||||
|
|
|
@ -224,15 +224,8 @@ public:
|
||||||
mIsFinishedTransition = true;
|
mIsFinishedTransition = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool IsCurrent() const {
|
bool IsCurrent() const;
|
||||||
if (IsFinishedTransition()) {
|
bool IsInEffect() const;
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
ComputedTiming computedTiming = GetComputedTiming();
|
|
||||||
return computedTiming.mPhase == ComputedTiming::AnimationPhase_Before ||
|
|
||||||
computedTiming.mPhase == ComputedTiming::AnimationPhase_Active;
|
|
||||||
}
|
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
LAST_NOTIFICATION_NONE = uint64_t(-1),
|
LAST_NOTIFICATION_NONE = uint64_t(-1),
|
||||||
|
|
Загрузка…
Ссылка в новой задаче