Index: third_party/WebKit/Source/core/animation/CompositorAnimations.cpp |
diff --git a/third_party/WebKit/Source/core/animation/CompositorAnimations.cpp b/third_party/WebKit/Source/core/animation/CompositorAnimations.cpp |
index 4dcad3f8bde3196c35752fc13989f4839b47c59f..09fb12473c475cf30248bb469add073690b8fb97 100644 |
--- a/third_party/WebKit/Source/core/animation/CompositorAnimations.cpp |
+++ b/third_party/WebKit/Source/core/animation/CompositorAnimations.cpp |
@@ -31,8 +31,8 @@ |
#include "core/animation/CompositorAnimations.h" |
#include "core/animation/AnimationEffect.h" |
-#include "core/animation/CompositorAnimationsImpl.h" |
#include "core/animation/ElementAnimations.h" |
+#include "core/animation/KeyframeEffectModel.h" |
#include "core/animation/animatable/AnimatableDouble.h" |
#include "core/animation/animatable/AnimatableFilterOperations.h" |
#include "core/animation/animatable/AnimatableTransform.h" |
@@ -41,7 +41,6 @@ |
#include "core/layout/LayoutObject.h" |
#include "core/layout/compositing/CompositedLayerMapping.h" |
#include "core/paint/PaintLayer.h" |
-#include "platform/RuntimeEnabledFeatures.h" |
#include "platform/animation/AnimationTranslationUtil.h" |
#include "platform/animation/CompositorAnimation.h" |
#include "platform/animation/CompositorAnimationPlayer.h" |
@@ -141,19 +140,6 @@ bool hasIncompatibleAnimations(const Element& targetElement, const Animation& an |
} // namespace |
-CompositorAnimations::CompositorAnimations() |
-{ |
-} |
- |
-CompositorAnimations* CompositorAnimations::instance(CompositorAnimations* newInstance) |
-{ |
- static CompositorAnimations* instance = new CompositorAnimations(); |
- if (newInstance) { |
- instance = newInstance; |
- } |
- return instance; |
-} |
- |
bool CompositorAnimations::isCompositableProperty(CSSPropertyID property) |
{ |
for (CSSPropertyID id : compositableProperties) { |
@@ -173,7 +159,7 @@ const CSSPropertyID CompositorAnimations::compositableProperties[7] = { |
CSSPropertyBackdropFilter |
}; |
-bool CompositorAnimations::getAnimatedBoundingBox(FloatBox& box, const EffectModel& effect, double minValue, double maxValue) const |
+bool CompositorAnimations::getAnimatedBoundingBox(FloatBox& box, const EffectModel& effect, double minValue, double maxValue) |
{ |
const KeyframeEffectModelBase& keyframeEffect = toKeyframeEffectModelBase(effect); |
@@ -299,8 +285,8 @@ bool CompositorAnimations::isCandidateForAnimationOnCompositor(const Timing& tim |
if (animationToAdd && hasIncompatibleAnimations(targetElement, *animationToAdd, effect)) |
return false; |
- CompositorAnimationsImpl::CompositorTiming out; |
- if (!CompositorAnimationsImpl::convertTimingForCompositor(timing, 0, out, animationPlaybackRate)) |
+ CompositorTiming out; |
+ if (!convertTimingForCompositor(timing, 0, out, animationPlaybackRate)) |
return false; |
return true; |
@@ -348,7 +334,7 @@ void CompositorAnimations::startAnimationOnCompositor(const Element& element, in |
const KeyframeEffectModelBase& keyframeEffect = toKeyframeEffectModelBase(effect); |
Vector<OwnPtr<CompositorAnimation>> animations; |
- CompositorAnimationsImpl::getAnimationOnCompositor(timing, group, startTime, timeOffset, keyframeEffect, animations, animationPlaybackRate); |
+ getAnimationOnCompositor(timing, group, startTime, timeOffset, keyframeEffect, animations, animationPlaybackRate); |
ASSERT(!animations.isEmpty()); |
for (auto& compositorAnimation : animations) { |
int id = compositorAnimation->id(); |
@@ -425,11 +411,7 @@ void CompositorAnimations::attachCompositedLayers(const Element& element, const |
compositorPlayer->attachLayer(layer->compositedLayerMapping()->mainGraphicsLayer()->platformLayer()); |
} |
-// ----------------------------------------------------------------------- |
-// CompositorAnimationsImpl |
-// ----------------------------------------------------------------------- |
- |
-bool CompositorAnimationsImpl::convertTimingForCompositor(const Timing& timing, double timeOffset, CompositorTiming& out, double animationPlaybackRate) |
+bool CompositorAnimations::convertTimingForCompositor(const Timing& timing, double timeOffset, CompositorTiming& out, double animationPlaybackRate) |
{ |
timing.assertValid(); |
@@ -440,12 +422,7 @@ bool CompositorAnimationsImpl::convertTimingForCompositor(const Timing& timing, |
if (std::isnan(timing.iterationDuration) || !timing.iterationCount || !timing.iterationDuration) |
return false; |
- if (!std::isfinite(timing.iterationCount)) { |
- out.adjustedIterationCount = -1; |
- } else { |
- out.adjustedIterationCount = timing.iterationCount; |
- } |
- |
+ out.adjustedIterationCount = std::isfinite(timing.iterationCount) ? timing.iterationCount : -1; |
out.scaledDuration = timing.iterationDuration; |
out.direction = timing.direction; |
// Compositor's time offset is positive for seeking into the animation. |
@@ -453,7 +430,13 @@ bool CompositorAnimationsImpl::convertTimingForCompositor(const Timing& timing, |
out.playbackRate = timing.playbackRate * animationPlaybackRate; |
out.fillMode = timing.fillMode == Timing::FillModeAuto ? Timing::FillModeNone : timing.fillMode; |
out.iterationStart = timing.iterationStart; |
- out.assertValid(); |
+ |
+ DCHECK_GT(out.scaledDuration, 0); |
+ DCHECK(std::isfinite(out.scaledTimeOffset)); |
+ DCHECK(out.adjustedIterationCount > 0 || out.adjustedIterationCount == -1); |
+ DCHECK(std::isfinite(out.playbackRate) && out.playbackRate); |
+ DCHECK_GE(out.iterationStart, 0); |
+ |
return true; |
} |
@@ -573,7 +556,7 @@ void addKeyframesToCurve(PlatformAnimationCurveType& curve, const AnimatableValu |
} // namespace |
-void CompositorAnimationsImpl::getAnimationOnCompositor(const Timing& timing, int group, double startTime, double timeOffset, const KeyframeEffectModelBase& effect, Vector<OwnPtr<CompositorAnimation>>& animations, double animationPlaybackRate) |
+void CompositorAnimations::getAnimationOnCompositor(const Timing& timing, int group, double startTime, double timeOffset, const KeyframeEffectModelBase& effect, Vector<OwnPtr<CompositorAnimation>>& animations, double animationPlaybackRate) |
{ |
ASSERT(animations.isEmpty()); |
CompositorTiming compositorTiming; |