Keyframe animation doesn't 't show up in the Animations timeline
authordrousso@apple.com <drousso@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 23 Jun 2020 16:12:36 +0000 (16:12 +0000)
committerdrousso@apple.com <drousso@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 23 Jun 2020 16:12:36 +0000 (16:12 +0000)
commit943793288697519acdc654aa2c510b2682d18746
tree1cca0aa7531072485111f4923f343ebb2f9d190d
parente10de086e0d4925f37b823268d9cb6036826a864
Keyframe animation doesn't 't show up in the Animations timeline
https://bugs.webkit.org/show_bug.cgi?id=213441

Reviewed by Brian Burg.

Source/JavaScriptCore:

* inspector/protocol/Animation.json:
An `interationCount` of `Infinity` is not JSON serializable, so represent it as `-1` instead.

Source/WebCore:

Test: inspector/animation/lifecycle-css-animation.html

* inspector/agents/InspectorAnimationAgent.cpp:
(WebCore::buildObjectForEffect):

Source/WebInspectorUI:

* UserInterface/Models/Animation.js:
(WI.Animation):
(WI.Animation.prototype._updateEffect):
An `interationCount` of `Infinity` is not JSON serializable, so represent it as `-1` instead.

* UserInterface/Models/MediaTimelineRecord.js:
(WI.MediaTimelineRecord):
* UserInterface/Views/MediaTimelineDataGridNode.js:
(WI.MediaTimelineDataGridNode.prototype.createCellContent):
(WI.MediaTimelineDataGridNode.prototype.filterableDataForColumn):
The DOM node may not be able to be instrumented if the timeline recording starts before the
frontend has had a chance to request the main document, so it's possible for the DOM node
to not be set.

LayoutTests:

* inspector/animation/resources/lifecycle-utilities.js:
* inspector/animation/lifecycle-css-animation.html:
* inspector/animation/lifecycle-css-animation-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@263400 268f45cc-cd09-0410-ab3c-d52691b4dbfc
15 files changed:
LayoutTests/ChangeLog
LayoutTests/inspector/animation/lifecycle-css-animation-expected.txt
LayoutTests/inspector/animation/lifecycle-css-animation.html
LayoutTests/inspector/animation/resources/lifecycle-utilities.js
Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/inspector/protocol/Animation.json
Source/WebCore/ChangeLog
Source/WebCore/inspector/agents/InspectorAnimationAgent.cpp
Source/WebCore/inspector/agents/InspectorCanvasAgent.cpp
Source/WebCore/inspector/agents/InspectorDOMAgent.cpp
Source/WebCore/inspector/agents/InspectorLayerTreeAgent.cpp
Source/WebInspectorUI/ChangeLog
Source/WebInspectorUI/UserInterface/Models/Animation.js
Source/WebInspectorUI/UserInterface/Models/MediaTimelineRecord.js
Source/WebInspectorUI/UserInterface/Views/MediaTimelineDataGridNode.js