| Index: Source/core/animation/CompositorAnimations.cpp
|
| diff --git a/Source/core/animation/CompositorAnimations.cpp b/Source/core/animation/CompositorAnimations.cpp
|
| index 406d1fd3046e916f490bdb30f8b5cf9cab0ca76e..63454255a73e26368289fb50318aac99ee25c10f 100644
|
| --- a/Source/core/animation/CompositorAnimations.cpp
|
| +++ b/Source/core/animation/CompositorAnimations.cpp
|
| @@ -261,39 +261,23 @@ bool CompositorAnimationsImpl::convertTimingForCompositor(const Timing& timing,
|
| {
|
| timing.assertValid();
|
|
|
| - // All fill modes are supported (the calling code handles them).
|
| -
|
| - if (timing.iterationCount <= 0)
|
| - return false;
|
| -
|
| - if (std::isnan(timing.iterationDuration) || !timing.iterationDuration)
|
| + if (!timing.iterationCount || !timing.iterationDuration)
|
| return false;
|
|
|
| - // All directions are supported.
|
| -
|
| - // Now attempt an actual conversion
|
| - out.scaledDuration = timing.iterationDuration;
|
| - ASSERT(out.scaledDuration > 0);
|
| -
|
| - double scaledStartDelay = timing.startDelay;
|
| - if (scaledStartDelay > 0 && scaledStartDelay > out.scaledDuration * timing.iterationCount)
|
| - return false;
|
| -
|
| - out.direction = timing.direction;
|
| -
|
| if (!std::isfinite(timing.iterationCount)) {
|
| out.adjustedIterationCount = -1;
|
| } else {
|
| out.adjustedIterationCount = timing.iterationCount;
|
| - ASSERT(out.adjustedIterationCount > 0);
|
| }
|
|
|
| + out.scaledDuration = timing.iterationDuration;
|
| + out.direction = timing.direction;
|
| // Compositor's time offset is positive for seeking into the animation.
|
| - out.scaledTimeOffset = -scaledStartDelay + timeOffset;
|
| + out.scaledTimeOffset = -timing.startDelay + timeOffset;
|
| out.playbackRate = timing.playbackRate * playerPlaybackRate;
|
| out.fillMode = timing.fillMode == Timing::FillModeAuto ? Timing::FillModeNone : timing.fillMode;
|
| out.iterationStart = timing.iterationStart;
|
| -
|
| + out.assertValid();
|
| return true;
|
| }
|
|
|
|
|