FYI with the following diff the test passes, though of course I don't know the
intended behavior in InspectorAnimationAgent.cpp :)
diff --git
a/third_party/WebKit/Source/core/inspector/InspectorAnimationAgent.cpp
b/third_party/WebKit/Source/core/inspector/InspectorAnimationAgent.cpp
index 081bdb56fff1..c71f3ba9f8a8 100644
--- a/third_party/WebKit/Source/core/inspector/InspectorAnimationAgent.cpp
+++ b/third_party/WebKit/Source/core/inspector/InspectorAnimationAgent.cpp
@@ -500,11 +500,11 @@ void InspectorAnimationAgent::animationPlayStateChanged(
blink::Animation::AnimationPlayState oldPlayState,
blink::Animation::AnimationPlayState newPlayState) {
const String& animationId = String::number(animation->sequenceNumber());
- if (m_idToAnimation.get(animationId) ||
- m_clearedAnimations.contains(animationId))
+ if (m_clearedAnimations.contains(animationId))
return;
- if (newPlayState == blink::Animation::Running ||
- newPlayState == blink::Animation::Finished)
+ if ((newPlayState == blink::Animation::Running ||
+ newPlayState == blink::Animation::Finished) &&
+ !m_idToAnimation.contains(animationId))
frontend()->animationStarted(buildObjectForAnimation(*animation));
else if (newPlayState == blink::Animation::Idle ||
newPlayState == blink::Animation::Paused)
https://codereview.chromium.org/2647533002/