Bug 205804

Summary: transitions/default-timing-function.html is failing
Product: WebKit Reporter: Aakash Jain <aakash_jain>
Component: Tools / TestsAssignee: Antoine Quint <graouts>
Status: RESOLVED FIXED    
Severity: Normal CC: ap, commit-queue, graouts, simon.fraser, webkit-bot-watchers-bugzilla, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: Other   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Animations logging etc
none
Patch none

Attachments
Animations logging etc (11.00 KB, text/plain)
2020-01-06 15:39 PST, Simon Fraser (smfr)
no flags
Patch (2.86 KB, patch)
2020-01-07 11:20 PST, Antoine Quint
no flags
Aakash Jain
Comment 1 2020-01-06 08:49:01 PST
Diff: --- /Volumes/Data/slave/mojave-debug-tests-wk1/build/layout-test-results/transitions/default-timing-function-expected.txt +++ /Volumes/Data/slave/mojave-debug-tests-wk1/build/layout-test-results/transitions/default-timing-function-actual.txt @@ -14,7 +14,7 @@ RenderBlock (relative positioned) {DIV} at (0,0) size 784x200 layer at (330,8) size 100x200 RenderBlock (positioned) {DIV} at (322,0) size 100x200 [bgcolor=#FF0000] -layer at (329,8) size 100x100 +layer at (336,8) size 100x100 RenderBlock (relative positioned) {DIV} at (0,0) size 100x100 [bgcolor=#008000] layer at (8,108) size 100x100 RenderBlock (relative positioned) {DIV} at (0,100) size 100x100 [bgcolor=#008000]
Aakash Jain
Comment 2 2020-01-06 08:50:48 PST
As per results database, it seems to have started failing after https://trac.webkit.org/changeset/254042/webkit
Radar WebKit Bug Importer
Comment 3 2020-01-06 09:16:52 PST
Simon Fraser (smfr)
Comment 4 2020-01-06 11:34:29 PST
The test is now timing-sensitive and gives different results each time, despite using the pause API. Investigating how to fix this.
Simon Fraser (smfr)
Comment 5 2020-01-06 13:53:29 PST
Pausing an animation doesn't seem to stop it from running: animations may start for document 0x132b8de50 blending left from 0px to 400px at 0 -> 0px blending transform from to translateX(400px, 0px, 0px) at 0 -> translateX(0px, 0px, 0px) blending transform from to translateX(400px, 0px, 0px) at 0 -> translateX(0px, 0px, 0px) blending transform from to translateX(400px, 0px, 0px) at 0 -> translateX(0px, 0px, 0px) blending transform from to translateX(400px, 0px, 0px) at 0 -> translateX(0px, 0px, 0px) blending transform from to translateX(400px, 0px, 0px) at 0 -> translateX(0px, 0px, 0px) blending transform from to translateX(400px, 0px, 0px) at 0 -> translateX(0px, 0px, 0px) blending transform from to translateX(400px, 0px, 0px) at 0 -> translateX(0px, 0px, 0px) blending transform from to translateX(400px, 0px, 0px) at 0 -> translateX(0px, 0px, 0px) GraphicsLayerCA 0x1355f0840 id 4 addAnimation 0x135426d80 keyframe-effect-160e7b6d-da78-4392-8523-3e4b6666f372 duration 1.00 (can be accelerated 1) blending left from 0px to 400px at 0 -> 0px blending transform from to translateX(400px, 0px, 0px) at 0 -> translateX(0px, 0px, 0px) blending transform from to translateX(400px, 0px, 0px) at 0 -> translateX(0px, 0px, 0px) blending transform from to translateX(400px, 0px, 0px) at 0 -> translateX(0px, 0px, 0px) GraphicsLayerCA 0x1355f0840 id 4 platformCALayerAnimationStarted keyframe-effect-160e7b6d-da78-4392-8523-3e4b6666f372_1_0_0 CSSAnimationController 0x1354ff650 notifyAnimationStarted on renderer 0x132b8fb90, time=3019.838396 CSSAnimationControllerPrivate 0x13549d140 receivedStartTimeResponse 3019.838396 WebAnimation 0x132b8fdf0 setCurrentTime 0.50s WebAnimation 0x132b8fdf0 silentlySetCurrentTime 0.50s blending left from 0px to 400px at 0.80 -> 320.97px WebAnimation 0x132b8fdf0 pause (current time is 500.00) blending left from 0px to 400px at 0.80 -> 320.97px blending transform from to translateX(400px, 0px, 0px) at 0.01 -> translateX(3.28px, 0px, 0px) blending transform from to translateX(400px, 0px, 0px) at 0.01 -> translateX(3.28px, 0px, 0px) WebAnimation 0x132bf0160 setCurrentTime 0.50s WebAnimation 0x132bf0160 silentlySetCurrentTime 0.50s blending transform from to translateX(400px, 0px, 0px) at 0.80 -> translateX(320.97px, 0px, 0px) blending transform from to translateX(400px, 0px, 0px) at 0.80 -> translateX(320.97px, 0px, 0px) WebAnimation 0x132bf0160 pause (current time is 500.00) blending transform from to translateX(400px, 0px, 0px) at 0.80 -> translateX(320.97px, 0px, 0px) blending transform from to translateX(400px, 0px, 0px) at 0.80 -> translateX(320.97px, 0px, 0px) blending transform from to translateX(400px, 0px, 0px) at 0.80 -> translateX(320.97px, 0px, 0px) blending transform from to translateX(400px, 0px, 0px) at 0.80 -> translateX(320.97px, 0px, 0px) blending transform from to translateX(400px, 0px, 0px) at 0.80 -> translateX(320.97px, 0px, 0px) blending transform from to translateX(400px, 0px, 0px) at 0.80 -> translateX(320.97px, 0px, 0px) GraphicsLayerCA 0x1355f0840 id 4 seekAnimation keyframe-effect-160e7b6d-da78-4392-8523-3e4b6666f372 to 0.53 (is running 1) GraphicsLayerCA 0x1355f0840 id 4 pauseAnimation keyframe-effect-160e7b6d-da78-4392-8523-3e4b6666f372 (is running 1) blending left from 0px to 400px at 0.83 -> 330.46px blending transform from to translateX(400px, 0px, 0px) at 0.83 -> translateX(330.46px, 0px, 0px) blending transform from to translateX(400px, 0px, 0px) at 0.83 -> translateX(330.46px, 0px, 0px) blending transform from to translateX(400px, 0px, 0px) at 0.83 -> translateX(330.46px, 0px, 0px) blending transform from to translateX(400px, 0px, 0px) at 0.83 -> translateX(330.46px, 0px, 0px) blending transform from to translateX(400px, 0px, 0px) at 0.83 -> translateX(330.46px, 0px, 0px) blending transform from to translateX(400px, 0px, 0px) at 0.83 -> translateX(330.46px, 0px, 0px) GraphicsLayerCA 0x1355f0840 id 4 platformCALayerAnimationStarted keyframe-effect-160e7b6d-da78-4392-8523-3e4b6666f372_1_0_0 CSSAnimationController 0x1354ff650 notifyAnimationStarted on renderer 0x132b8fb90, time=3019.885259 CSSAnimationControllerPrivate 0x13549d140 receivedStartTimeResponse 3019.885259
Simon Fraser (smfr)
Comment 6 2020-01-06 15:22:19 PST
So confused: animations may start for document 0x132bf9e50 blending left from 0px to 400px at 0 -> 0px blending left from 0px to 400px at 0 -> 0px WebAnimation 0x132bfbdf0 setCurrentTime 0.50s WebAnimation 0x132bfbdf0 silentlySetCurrentTime 0.50s blending left from 0px to 400px at 0.80 -> 320.97px WebAnimation 0x132bfbdf0 pause (current time is 0.50s) blending left from 0px to 400px at 0.80 -> 320.97px WebAnimation 0x132bfbdf0 runPendingPauseTask (current time is 0.52s) blending left from 0px to 400px at 0.82 -> 327.52px
Simon Fraser (smfr)
Comment 7 2020-01-06 15:23:38 PST
At the end of WebAnimation::runPendingPauseTask(), the animation is not suspended, and has a playback rate of 1, which seems wrong.
Simon Fraser (smfr)
Comment 8 2020-01-06 15:38:19 PST
Antoine, I don't get why AnimationEffect::getComputedTiming() seems to continue to allow time to move forward on an effect whose animation is paused. Also, when we have tests that do: animation.currentTime = time * 1000; animation.pause(); the pause is async, so we end up pausing a bit later.
Simon Fraser (smfr)
Comment 9 2020-01-06 15:39:09 PST
I'm debugging transitions/default-timing-function.html is after commenting out the transform stuff so only the 'left' animation is running. Logging patch attached.
Simon Fraser (smfr)
Comment 10 2020-01-06 15:39:35 PST
Created attachment 386901 [details] Animations logging etc
Antoine Quint
Comment 11 2020-01-07 11:20:30 PST
WebKit Commit Bot
Comment 12 2020-01-07 12:38:51 PST
Comment on attachment 387001 [details] Patch Clearing flags on attachment: 387001 Committed r254146: <https://trac.webkit.org/changeset/254146>
WebKit Commit Bot
Comment 13 2020-01-07 12:38:52 PST
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.