WebKit Bugzilla
Attachment 343136 Details for
Bug 183841
: [Web Animations] Make imported/mozilla/css-transitions/test_element-get-animations.html pass reliably
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-183841-20180620091811.patch (text/plain), 9.07 KB, created by
Antoine Quint
on 2018-06-20 00:18:12 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Antoine Quint
Created:
2018-06-20 00:18:12 PDT
Size:
9.07 KB
patch
obsolete
>Subversion Revision: 233004 >diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index 18ba9250868b506c551cbfb5e09349d1602ab1de..a02f55fc0f4d1374964bb56cbc9026869ca422ea 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,16 @@ >+2018-06-20 Antoine Quint <graouts@apple.com> >+ >+ [Web Animations] Make imported/mozilla/css-transitions/test_element-get-animations.html pass reliably >+ https://bugs.webkit.org/show_bug.cgi?id=183841 >+ <rdar://problem/40998101> >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ We must ignore CSS Animations with "animation-name: none". >+ >+ * animation/AnimationTimeline.cpp: >+ (WebCore::AnimationTimeline::updateCSSAnimationsForElement): >+ > 2018-06-19 Antoine Quint <graouts@apple.com> > > [Web Animations] Make imported/mozilla/css-animations/test_pseudoElement-get-animations.html pass reliably >diff --git a/Source/WebCore/animation/AnimationTimeline.cpp b/Source/WebCore/animation/AnimationTimeline.cpp >index 71efa885fbe24d7551d45ddb6d2668e15bd0c155..a40bd57753cd7885d311f7d1fc4a42e71eb0e1bb 100644 >--- a/Source/WebCore/animation/AnimationTimeline.cpp >+++ b/Source/WebCore/animation/AnimationTimeline.cpp >@@ -204,6 +204,8 @@ void AnimationTimeline::updateCSSAnimationsForElement(Element& element, const Re > if (currentStyle && currentStyle->hasAnimations() && afterChangeStyle.hasAnimations() && *(currentStyle->animations()) == *(afterChangeStyle.animations())) > return; > >+ static NeverDestroyed<const String> animationNameNone(MAKE_STATIC_STRING_IMPL("none")); >+ > // First, compile the list of animation names that were applied to this element up to this point. > HashSet<String> namesOfPreviousAnimations; > if (currentStyle && currentStyle->hasAnimations()) { >@@ -224,14 +226,16 @@ void AnimationTimeline::updateCSSAnimationsForElement(Element& element, const Re > for (size_t i = 0; i < currentAnimations->size(); ++i) { > auto& currentAnimation = currentAnimations->animation(i); > auto& name = currentAnimation.name(); >- if (namesOfPreviousAnimations.contains(name)) { >- // We've found the name of this animation in our list of previous animations, this means we've already >- // created a CSSAnimation object for it and need to ensure that this CSSAnimation is backed by the current >- // animation object for this animation name. >- cssAnimationsByName.get(name)->setBackingAnimation(currentAnimation); >- } else if (currentAnimation.isValidAnimation()) { >- // Otherwise we are dealing with a new animation name and must create a CSSAnimation for it. >- cssAnimationsByName.set(name, CSSAnimation::create(element, currentAnimation, currentStyle, afterChangeStyle)); >+ if (name != animationNameNone) { >+ if (namesOfPreviousAnimations.contains(name)) { >+ // We've found the name of this animation in our list of previous animations, this means we've already >+ // created a CSSAnimation object for it and need to ensure that this CSSAnimation is backed by the current >+ // animation object for this animation name. >+ cssAnimationsByName.get(name)->setBackingAnimation(currentAnimation); >+ } else if (currentAnimation.isValidAnimation()) { >+ // Otherwise we are dealing with a new animation name and must create a CSSAnimation for it. >+ cssAnimationsByName.set(name, CSSAnimation::create(element, currentAnimation, currentStyle, afterChangeStyle)); >+ } > } > // Remove the name of this animation from our list since it's now known to be current. > namesOfPreviousAnimations.remove(name); >diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog >index ffb7943f1532b9788ca6e31a4afc3d7769824dd6..e396de3876e841ecb48727e2045ff537f12c7620 100644 >--- a/LayoutTests/ChangeLog >+++ b/LayoutTests/ChangeLog >@@ -1,3 +1,15 @@ >+2018-06-20 Antoine Quint <graouts@apple.com> >+ >+ [Web Animations] Make imported/mozilla/css-transitions/test_element-get-animations.html pass reliably >+ https://bugs.webkit.org/show_bug.cgi?id=183841 >+ <rdar://problem/40998101> >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ This test now passes reliably. >+ >+ * TestExpectations: >+ > 2018-06-19 Antoine Quint <graouts@apple.com> > > [Web Animations] Make imported/mozilla/css-animations/test_pseudoElement-get-animations.html pass reliably >diff --git a/LayoutTests/imported/mozilla/ChangeLog b/LayoutTests/imported/mozilla/ChangeLog >index df63dcea32351c47f7e26e26833259b2a971e51f..0f60ff3d2650c405bf139c688de6b58868e20ae0 100644 >--- a/LayoutTests/imported/mozilla/ChangeLog >+++ b/LayoutTests/imported/mozilla/ChangeLog >@@ -1,3 +1,16 @@ >+2018-06-20 Antoine Quint <graouts@apple.com> >+ >+ [Web Animations] Make imported/mozilla/css-transitions/test_element-get-animations.html pass reliably >+ https://bugs.webkit.org/show_bug.cgi?id=183841 >+ <rdar://problem/40998101> >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Mark progressions in the Mozilla CSS Transitions and CSS Animations tests. >+ >+ * css-animations/test_element-get-animations-expected.txt: >+ * css-transitions/test_element-get-animations-expected.txt: >+ > 2018-06-19 Antoine Quint <graouts@apple.com> > > [Web Animations] Make imported/mozilla/css-animations/test_pseudoElement-get-animations.html pass reliably >diff --git a/LayoutTests/TestExpectations b/LayoutTests/TestExpectations >index 9a0ee3d143a2531cf773ee6d584ff692208206a5..dc471b2c8bd09f9a118578656989138ec3846bbc 100644 >--- a/LayoutTests/TestExpectations >+++ b/LayoutTests/TestExpectations >@@ -1932,7 +1932,6 @@ webkit.org/b/183834 imported/mozilla/css-animations/test_animation-starttime.htm > webkit.org/b/183836 imported/mozilla/css-animations/test_animations-dynamic-changes.html [ Pass Failure Timeout ] > webkit.org/b/183837 imported/mozilla/css-transitions/test_document-get-animations.html [ Pass Failure Timeout ] > webkit.org/b/183840 imported/mozilla/css-animations/test_document-get-animations.html [ Pass Failure Timeout ] >-webkit.org/b/183841 imported/mozilla/css-transitions/test_element-get-animations.html [ Pass Failure Timeout ] > webkit.org/b/183844 imported/mozilla/css-animations/test_element-get-animations.html [ Pass Failure Timeout ] > webkit.org/b/183846 imported/mozilla/css-transitions/test_pseudoElement-get-animations.html [ Pass Failure Timeout ] > webkit.org/b/183847 imported/mozilla/css-animations/test_event-order.html [ Pass Failure Timeout ] >diff --git a/LayoutTests/imported/mozilla/css-animations/test_element-get-animations-expected.txt b/LayoutTests/imported/mozilla/css-animations/test_element-get-animations-expected.txt >index 6ab933681be9cbc106ff23281c3dff4a63f2826e..abfa29623d41f21543fef5843e8a512d35eef33c 100644 >--- a/LayoutTests/imported/mozilla/css-animations/test_element-get-animations-expected.txt >+++ b/LayoutTests/imported/mozilla/css-animations/test_element-get-animations-expected.txt >@@ -6,7 +6,7 @@ PASS getAnimations for multi-property animations > PASS getAnimations for both CSS Animations and CSS Transitions at once > PASS getAnimations for CSS Animations that have finished > PASS getAnimations for CSS Animations that have finished but are forwards filling >-FAIL getAnimations for CSS Animations with animation-name: none assert_equals: getAnimations returns an empty sequence for an element with animation-name: none expected 0 but got 1 >+PASS getAnimations for CSS Animations with animation-name: none > FAIL getAnimations for CSS Animations with animation-name: missing assert_equals: getAnimations returns an empty sequence for an element with animation-name: missing expected 0 but got 1 > FAIL getAnimations for CSS Animations where the @keyframes rule is added later assert_equals: getAnimations initally only returns Animations for CSS Animations whose animation-name is found expected 1 but got 2 > PASS getAnimations for CSS Animations with duplicated animation-name >diff --git a/LayoutTests/imported/mozilla/css-transitions/test_element-get-animations-expected.txt b/LayoutTests/imported/mozilla/css-transitions/test_element-get-animations-expected.txt >index 9c796e00d029db0b5980b92f0e70d74ea778e551..0ce5344c93631ac03866f72af85a6477855a5065 100644 >--- a/LayoutTests/imported/mozilla/css-transitions/test_element-get-animations-expected.txt >+++ b/LayoutTests/imported/mozilla/css-transitions/test_element-get-animations-expected.txt >@@ -2,7 +2,7 @@ > PASS getAnimations for CSS Transitions > PASS getAnimations returns CSSTransition objects for CSS Transitions > PASS getAnimations for CSS Transitions that have finished >-FAIL getAnimations for transition on non-animatable property assert_equals: getAnimations returns an empty sequence for a transition of a non-animatable property expected 0 but got 1 >+PASS getAnimations for transition on non-animatable property > PASS getAnimations for transition on unsupported property > PASS getAnimations sorts simultaneous transitions by name > PASS getAnimations sorts transitions by when they were generated
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 183841
:
343136
|
343140
|
343147