| Index: Source/core/animation/AnimationPlayer.cpp
|
| diff --git a/Source/core/animation/AnimationPlayer.cpp b/Source/core/animation/AnimationPlayer.cpp
|
| index e16c966ad2bfc60607fe34e5e7947257a07a4f0f..79ee5a29f81a7450c68d77ab739c46a28e098588 100644
|
| --- a/Source/core/animation/AnimationPlayer.cpp
|
| +++ b/Source/core/animation/AnimationPlayer.cpp
|
| @@ -77,6 +77,7 @@ AnimationPlayer::AnimationPlayer(ExecutionContext* executionContext, AnimationTi
|
| , m_finished(true)
|
| , m_compositorState(nullptr)
|
| , m_compositorPending(true)
|
| + , m_compositorGroup(0)
|
| , m_currentTimePending(false)
|
| {
|
| if (m_content) {
|
| @@ -203,7 +204,7 @@ double AnimationPlayer::currentTimeInternal() const
|
| return result;
|
| }
|
|
|
| -void AnimationPlayer::preCommit(bool startOnCompositor)
|
| +void AnimationPlayer::preCommit(int compositorGroup, bool startOnCompositor)
|
| {
|
| if (m_compositorState && m_compositorState->pendingAction == Start) {
|
| // Still waiting for a start time.
|
| @@ -231,8 +232,11 @@ void AnimationPlayer::preCommit(bool startOnCompositor)
|
| m_currentTimePending = false;
|
| }
|
|
|
| - if (shouldStart && startOnCompositor && maybeStartAnimationOnCompositor()) {
|
| - m_compositorState = adoptPtr(new CompositorState(*this));
|
| + if (shouldStart) {
|
| + m_compositorGroup = compositorGroup;
|
| + if (startOnCompositor && maybeStartAnimationOnCompositor()) {
|
| + m_compositorState = adoptPtr(new CompositorState(*this));
|
| + }
|
| }
|
| }
|
|
|
| @@ -623,7 +627,8 @@ bool AnimationPlayer::maybeStartAnimationOnCompositor()
|
| timeOffset = reversed ? sourceEnd() - currentTimeInternal() : currentTimeInternal();
|
| timeOffset = timeOffset / fabs(m_playbackRate);
|
| }
|
| - return toAnimation(m_content.get())->maybeStartAnimationOnCompositor(startTime, timeOffset, m_playbackRate);
|
| + ASSERT(m_compositorGroup != 0);
|
| + return toAnimation(m_content.get())->maybeStartAnimationOnCompositor(m_compositorGroup, startTime, timeOffset, m_playbackRate);
|
| }
|
|
|
| void AnimationPlayer::setCompositorPending(bool sourceChanged)
|
|
|