#include "core/animation/InertAnimation.h"
#include "core/animation/Interpolation.h"
-namespace WebCore {
+namespace blink {
-PassRefPtr<InertAnimation> InertAnimation::create(PassRefPtrWillBeRawPtr<AnimationEffect> effect, const Timing& timing, bool paused)
+PassRefPtrWillBeRawPtr<InertAnimation> InertAnimation::create(PassRefPtrWillBeRawPtr<AnimationEffect> effect, const Timing& timing, bool paused)
{
- return adoptRef(new InertAnimation(effect, timing, paused));
+ return adoptRefWillBeNoop(new InertAnimation(effect, timing, paused));
}
InertAnimation::InertAnimation(PassRefPtrWillBeRawPtr<AnimationEffect> effect, const Timing& timing, bool paused)
- : TimedItem(timing)
+ : AnimationNode(timing)
, m_effect(effect)
, m_paused(paused)
{
}
-PassOwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation> > > InertAnimation::sample()
+PassOwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation> > > InertAnimation::sample(double inheritedTime)
{
- updateInheritedTime(0);
+ updateInheritedTime(inheritedTime, TimingUpdateOnDemand);
if (!isInEffect())
return nullptr;
double iteration = currentIteration();
ASSERT(iteration >= 0);
// FIXME: Handle iteration values which overflow int.
- return m_effect->sample(static_cast<int>(iteration), timeFraction(), duration());
+ return m_effect->sample(static_cast<int>(iteration), timeFraction(), iterationDuration());
}
-
double InertAnimation::calculateTimeToEffectChange(bool, double, double) const
{
return std::numeric_limits<double>::infinity();
}
-} // namespace WebCore
+void InertAnimation::trace(Visitor* visitor)
+{
+ visitor->trace(m_effect);
+ AnimationNode::trace(visitor);
+}
+
+} // namespace blink