WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
60303
animation-timing-function property with a list uses first item for all animations
https://bugs.webkit.org/show_bug.cgi?id=60303
Summary
animation-timing-function property with a list uses first item for all animat...
Chris Marrin
Reported
2011-05-05 14:41:42 PDT
The attached test case shows that a animation-timing-function property with multiple values will use the first timing function for all animations in the list. Looks like we are selecting timing-function item 0 when expanding into separate animations.
Attachments
test case
(967 bytes, text/html)
2011-05-05 14:42 PDT
,
Chris Marrin
no flags
Details
Patch
(6.47 KB, patch)
2011-06-21 10:19 PDT
,
Young Han Lee
no flags
Details
Formatted Diff
Diff
Patch
(6.41 KB, patch)
2011-06-22 07:28 PDT
,
Young Han Lee
no flags
Details
Formatted Diff
Diff
Patch
(6.42 KB, patch)
2011-06-22 09:23 PDT
,
Young Han Lee
no flags
Details
Formatted Diff
Diff
Patch
(6.43 KB, patch)
2011-06-22 09:44 PDT
,
Young Han Lee
no flags
Details
Formatted Diff
Diff
Show Obsolete
(3)
View All
Add attachment
proposed patch, testcase, etc.
Chris Marrin
Comment 1
2011-05-05 14:42:23 PDT
Created
attachment 92474
[details]
test case
Young Han Lee
Comment 2
2011-06-18 09:27:35 PDT
> -webkit-animation: > bouncer 1s ease infinite alternate, > mover 4s ease infinite alternate;
Hi, Chris It seems that you made a mistake in the testcase. Shouldn't the two animations have different timing-functions? Apart from the mistake, the bug you told is also reproduced on my environment.
Young Han Lee
Comment 3
2011-06-21 10:19:46 PDT
Created
attachment 98005
[details]
Patch
Young Han Lee
Comment 4
2011-06-21 10:26:03 PDT
KeyframeAnimation::fetchIntervalEndpointsForProperty() is always getting a timingFunction from the first animation, even for the calculation of the second animation. This patch makes the function look for the correct animation by the keyframe's name.
Simon Fraser (smfr)
Comment 5
2011-06-21 10:32:02 PDT
Comment on
attachment 98005
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=98005&action=review
> LayoutTests/animations/multiple-animations-on-an-element.html:35 > + runAnimationTest(expectedValues, null, null, true);
Why does this have to disable the pause API?
> Source/WebCore/page/animation/KeyframeAnimation.cpp:153 > + const Animation* matchedAnimation = getAnimationFromStyleByName(fromStyle, name()); > + if (matchedAnimation)
We usually write this: if (const Animation* matchedAnimation = getAnimationFrom...) ...
Young Han Lee
Comment 6
2011-06-22 07:28:40 PDT
Created
attachment 98168
[details]
Patch
Young Han Lee
Comment 7
2011-06-22 07:30:36 PDT
(In reply to
comment #5
)
> (From update of
attachment 98005
[details]
) > View in context:
https://bugs.webkit.org/attachment.cgi?id=98005&action=review
> > > LayoutTests/animations/multiple-animations-on-an-element.html:35 > > + runAnimationTest(expectedValues, null, null, true); > > Why does this have to disable the pause API?
Because the test failed when the pause API is enabled, but I just found out that runAnimationTest always fails if the pause API is enabled and the test target animation has "infinite" iteration count. Is this a bug, too? Anyway, I changed the iteration count and enabled the pause API in the new patch.
> > > Source/WebCore/page/animation/KeyframeAnimation.cpp:153 > > + const Animation* matchedAnimation = getAnimationFromStyleByName(fromStyle, name()); > > + if (matchedAnimation) > > We usually write this: > if (const Animation* matchedAnimation = getAnimationFrom...) > ...
This is also changed. Thanks :)
Simon Fraser (smfr)
Comment 8
2011-06-22 08:39:08 PDT
(In reply to
comment #7
)
> (In reply to
comment #5
) > > (From update of
attachment 98005
[details]
[details]) > > View in context:
https://bugs.webkit.org/attachment.cgi?id=98005&action=review
> > > > > LayoutTests/animations/multiple-animations-on-an-element.html:35 > > > + runAnimationTest(expectedValues, null, null, true); > > > > Why does this have to disable the pause API? > > Because the test failed when the pause API is enabled, but I just found out that runAnimationTest always fails if the pause API is enabled and the test target animation has "infinite" iteration count. > > Is this a bug, too?
Probably. You should file a bug on it.
> Anyway, I changed the iteration count and enabled the pause API in the new patch.
Cool.
Simon Fraser (smfr)
Comment 9
2011-06-22 08:40:06 PDT
Comment on
attachment 98168
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=98168&action=review
> LayoutTests/ChangeLog:16 > + * animations/multiple-animations-on-an-element-expected.txt: Added.
You should rename the test to multiple-animations-timing-function.html
Young Han Lee
Comment 10
2011-06-22 09:23:56 PDT
Created
attachment 98183
[details]
Patch
Young Han Lee
Comment 11
2011-06-22 09:28:05 PDT
(In reply to
comment #9
)
> (From update of
attachment 98168
[details]
) > View in context:
https://bugs.webkit.org/attachment.cgi?id=98168&action=review
> > > LayoutTests/ChangeLog:16 > > + * animations/multiple-animations-on-an-element-expected.txt: Added. > > You should rename the test to multiple-animations-timing-function.html
applied to the new patch.
Simon Fraser (smfr)
Comment 12
2011-06-22 09:31:39 PDT
Comment on
attachment 98183
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=98183&action=review
> LayoutTests/ChangeLog:17 > + * animations/multiple-animations-on-an-element-expected.txt: Added. > + * animations/multiple-animations-on-an-element.html: Added.
Still out of date.
> Source/WebCore/ChangeLog:16 > + Test: animations/multiple-animations-on-an-element.html
Out of date.
Young Han Lee
Comment 13
2011-06-22 09:44:44 PDT
Created
attachment 98188
[details]
Patch
Young Han Lee
Comment 14
2011-06-22 09:47:29 PDT
(In reply to
comment #12
)
> (From update of
attachment 98183
[details]
) > View in context:
https://bugs.webkit.org/attachment.cgi?id=98183&action=review
> > > LayoutTests/ChangeLog:17 > > + * animations/multiple-animations-on-an-element-expected.txt: Added. > > + * animations/multiple-animations-on-an-element.html: Added. > > Still out of date. > > > Source/WebCore/ChangeLog:16 > > + Test: animations/multiple-animations-on-an-element.html > > Out of date.
Oops.. I missed it!
Young Han Lee
Comment 15
2011-06-22 10:16:13 PDT
(In reply to
comment #8
)
> (In reply to
comment #7
) > > (In reply to
comment #5
) > > > (From update of
attachment 98005
[details]
[details] [details]) > > > View in context:
https://bugs.webkit.org/attachment.cgi?id=98005&action=review
> > > > > > > LayoutTests/animations/multiple-animations-on-an-element.html:35 > > > > + runAnimationTest(expectedValues, null, null, true); > > > > > > Why does this have to disable the pause API? > > > > Because the test failed when the pause API is enabled, but I just found out that runAnimationTest always fails if the pause API is enabled and the test target animation has "infinite" iteration count. > > > > Is this a bug, too? > > Probably. You should file a bug on it.
This is filed as
Bug 63152
.
> > > Anyway, I changed the iteration count and enabled the pause API in the new patch. > > Cool.
WebKit Review Bot
Comment 16
2011-06-22 12:57:26 PDT
Comment on
attachment 98188
[details]
Patch Clearing flags on attachment: 98188 Committed
r89462
: <
http://trac.webkit.org/changeset/89462
>
WebKit Review Bot
Comment 17
2011-06-22 12:57:31 PDT
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.
Top of Page
Format For Printing
XML
Clone This Bug