An animation can currently finish on the impl thread and be disposed before the start event arrives on the main thread. Code needs to be put in place to address this.
Created attachment 147368 [details] Patch
Comment on attachment 147368 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=147368&action=review LGTM, with a few nits. Looks like the original code duplicated the logic of isFinished in a couple of places. Thanks for doing this. > Source/WebCore/platform/graphics/chromium/cc/CCActiveAnimation.cpp:87 > + if (m_runState == Finished || m_runState == Aborted || m_runState == WaitingForDeletion) if (isFinished()) > Source/WebCore/platform/graphics/chromium/cc/CCLayerAnimationController.cpp:193 > + && m_activeAnimations[i]->runState() != CCActiveAnimation::WaitingForDeletion) if (!m_activeAnimations[i]->isFinished()) > Source/WebCore/platform/graphics/chromium/cc/CCLayerAnimationController.cpp:256 > + && m_activeAnimations[i]->runState() != CCActiveAnimation::WaitingForDeletion) if (!m_activeAnimations[i]->isFinished())
Created attachment 147439 [details] IsFinished_Changes
Comment on attachment 147439 [details] IsFinished_Changes Clearing flags on attachment: 147439 Committed r120326: <http://trac.webkit.org/changeset/120326>
All reviewed patches have been landed. Closing bug.