Index: Source/core/animation/KeyframeEffect.cpp |
diff --git a/Source/core/animation/KeyframeEffect.cpp b/Source/core/animation/KeyframeEffect.cpp |
index fcf364a1ed5817ef5777f49f5131967e6a63eb0a..6644e6d4a36f98b21d33852bfb6492b9d882a8da 100644 |
--- a/Source/core/animation/KeyframeEffect.cpp |
+++ b/Source/core/animation/KeyframeEffect.cpp |
@@ -138,7 +138,10 @@ void KeyframeEffect::applyEffects() |
// Cancel composited animation of transform if a motion path has been introduced on the element. |
alancutter (OOO until 2018)
2015/06/24 01:17:09
Update comment.
soonm
2015/06/24 02:53:19
Done
|
if (m_target->computedStyle() |
- && m_target->computedStyle()->hasMotionPath() |
+ && (m_target->computedStyle()->hasMotionPath() |
+ || m_target->computedStyle()->translate() |
+ || m_target->computedStyle()->rotate() |
+ || m_target->computedStyle()->scale()) |
&& animation()->hasActiveAnimationsOnCompositor() |
&& animation()->affects(*m_target, CSSPropertyTransform)) { |
animation()->cancelAnimationOnCompositor(); |
@@ -242,7 +245,7 @@ bool KeyframeEffect::isCandidateForAnimationOnCompositor(double animationPlaybac |
{ |
if (!model() |
|| !m_target |
- || (m_target->computedStyle() && m_target->computedStyle()->hasMotionPath())) |
+ || (m_target->computedStyle() && (m_target->computedStyle()->hasMotionPath() || m_target->computedStyle()->translate() || m_target->computedStyle()->rotate() || m_target->computedStyle()->scale()))) |
return false; |
return CompositorAnimations::instance()->isCandidateForAnimationOnCompositor(specifiedTiming(), *m_target, animation(), *model(), animationPlaybackRate); |