Title: [233676] trunk
Revision
233676
Author
[email protected]
Date
2018-07-09 19:33:32 -0700 (Mon, 09 Jul 2018)

Log Message

[Web Animations] Correct handle repetition of composite and easing values
https://bugs.webkit.org/show_bug.cgi?id=187498
<rdar://problem/41999183>

Reviewed by Dean Jackson.

LayoutTests/imported/w3c:

Mark 6 new WPT progressions.

* web-platform-tests/web-animations/interfaces/Animatable/animate-expected.txt:
* web-platform-tests/web-animations/interfaces/KeyframeEffect/constructor-expected.txt:
* web-platform-tests/web-animations/interfaces/KeyframeEffect/setKeyframes-expected.txt:

Source/WebCore:

If there are fewer values for "easing" and "composite" than there are keyframes, we are supposed to
fill in missing values by repeating the pattern of specified values. We were starting our iteration
to fill those missing values on the second missing value rather than the first missing value.

* animation/KeyframeEffectReadOnly.cpp:
(WebCore::processPropertyIndexedKeyframes):

Modified Paths

Diff

Modified: trunk/LayoutTests/imported/w3c/ChangeLog (233675 => 233676)


--- trunk/LayoutTests/imported/w3c/ChangeLog	2018-07-10 02:06:02 UTC (rev 233675)
+++ trunk/LayoutTests/imported/w3c/ChangeLog	2018-07-10 02:33:32 UTC (rev 233676)
@@ -1,5 +1,19 @@
 2018-07-09  Antoine Quint  <[email protected]>
 
+        [Web Animations] Correct handle repetition of composite and easing values
+        https://bugs.webkit.org/show_bug.cgi?id=187498
+        <rdar://problem/41999183>
+
+        Reviewed by Dean Jackson.
+
+        Mark 6 new WPT progressions.
+
+        * web-platform-tests/web-animations/interfaces/Animatable/animate-expected.txt:
+        * web-platform-tests/web-animations/interfaces/KeyframeEffect/constructor-expected.txt:
+        * web-platform-tests/web-animations/interfaces/KeyframeEffect/setKeyframes-expected.txt:
+
+2018-07-09  Antoine Quint  <[email protected]>
+
         [Web Animations] Make WPT test at interfaces/DocumentTimeline/constructor.html pass reliably
         https://bugs.webkit.org/show_bug.cgi?id=186498
         <rdar://problem/41000205>

Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/Animatable/animate-expected.txt (233675 => 233676)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/Animatable/animate-expected.txt	2018-07-10 02:06:02 UTC (rev 233675)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/Animatable/animate-expected.txt	2018-07-10 02:33:32 UTC (rev 233676)
@@ -35,13 +35,13 @@
 PASS Element.animate() accepts a property-indexed keyframe without any specified easing 
 PASS Element.animate() accepts a property-indexed keyframe with a single easing 
 PASS Element.animate() accepts a property-indexed keyframe with an array of easings 
-FAIL Element.animate() accepts a property-indexed keyframe with an array of easings that is too short assert_equals: value for 'easing' on ComputedKeyframe #2 expected "ease-in" but got "ease-out"
+PASS Element.animate() accepts a property-indexed keyframe with an array of easings that is too short 
 PASS Element.animate() accepts a property-indexed keyframe with a single-element array of easings 
 PASS Element.animate() accepts a property-indexed keyframe with an empty array of easings 
 PASS Element.animate() accepts a property-indexed keyframe with an array of easings that is too long 
 PASS Element.animate() accepts a property-indexed keyframe with a single composite operation 
 PASS Element.animate() accepts a property-indexed keyframe with a composite array 
-FAIL Element.animate() accepts a property-indexed keyframe with a composite array that is too short assert_equals: value for 'composite' on ComputedKeyframe #2 expected "add" but got "replace"
+PASS Element.animate() accepts a property-indexed keyframe with a composite array that is too short 
 PASS Element.animate() accepts a property-indexed keyframe with a composite array that is too long 
 PASS Element.animate() accepts a property-indexed keyframe with a single-element composite array 
 PASS Element.animate() accepts a one property one keyframe sequence 

Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/KeyframeEffect/constructor-expected.txt (233675 => 233676)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/KeyframeEffect/constructor-expected.txt	2018-07-10 02:06:02 UTC (rev 233675)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/KeyframeEffect/constructor-expected.txt	2018-07-10 02:33:32 UTC (rev 233676)
@@ -61,7 +61,7 @@
 PASS A KeyframeEffectReadOnly constructed with a property-indexed keyframe with a single easing roundtrips 
 PASS A KeyframeEffectReadOnly can be constructed with a property-indexed keyframe with an array of easings 
 PASS A KeyframeEffectReadOnly constructed with a property-indexed keyframe with an array of easings roundtrips 
-FAIL A KeyframeEffectReadOnly can be constructed with a property-indexed keyframe with an array of easings that is too short assert_equals: value for 'easing' on ComputedKeyframe #2 expected "ease-in" but got "ease-out"
+PASS A KeyframeEffectReadOnly can be constructed with a property-indexed keyframe with an array of easings that is too short 
 PASS A KeyframeEffectReadOnly constructed with a property-indexed keyframe with an array of easings that is too short roundtrips 
 PASS A KeyframeEffectReadOnly can be constructed with a property-indexed keyframe with a single-element array of easings 
 PASS A KeyframeEffectReadOnly constructed with a property-indexed keyframe with a single-element array of easings roundtrips 
@@ -73,7 +73,7 @@
 PASS A KeyframeEffectReadOnly constructed with a property-indexed keyframe with a single composite operation roundtrips 
 PASS A KeyframeEffectReadOnly can be constructed with a property-indexed keyframe with a composite array 
 PASS A KeyframeEffectReadOnly constructed with a property-indexed keyframe with a composite array roundtrips 
-FAIL A KeyframeEffectReadOnly can be constructed with a property-indexed keyframe with a composite array that is too short assert_equals: value for 'composite' on ComputedKeyframe #2 expected "add" but got "replace"
+PASS A KeyframeEffectReadOnly can be constructed with a property-indexed keyframe with a composite array that is too short 
 PASS A KeyframeEffectReadOnly constructed with a property-indexed keyframe with a composite array that is too short roundtrips 
 PASS A KeyframeEffectReadOnly can be constructed with a property-indexed keyframe with a composite array that is too long 
 PASS A KeyframeEffectReadOnly constructed with a property-indexed keyframe with a composite array that is too long roundtrips 

Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/KeyframeEffect/setKeyframes-expected.txt (233675 => 233676)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/KeyframeEffect/setKeyframes-expected.txt	2018-07-10 02:06:02 UTC (rev 233675)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/KeyframeEffect/setKeyframes-expected.txt	2018-07-10 02:33:32 UTC (rev 233676)
@@ -28,13 +28,13 @@
 PASS Keyframes can be replaced with a property-indexed keyframe without any specified easing 
 PASS Keyframes can be replaced with a property-indexed keyframe with a single easing 
 PASS Keyframes can be replaced with a property-indexed keyframe with an array of easings 
-FAIL Keyframes can be replaced with a property-indexed keyframe with an array of easings that is too short assert_equals: value for 'easing' on ComputedKeyframe #2 expected "ease-in" but got "ease-out"
+PASS Keyframes can be replaced with a property-indexed keyframe with an array of easings that is too short 
 PASS Keyframes can be replaced with a property-indexed keyframe with a single-element array of easings 
 PASS Keyframes can be replaced with a property-indexed keyframe with an empty array of easings 
 PASS Keyframes can be replaced with a property-indexed keyframe with an array of easings that is too long 
 PASS Keyframes can be replaced with a property-indexed keyframe with a single composite operation 
 PASS Keyframes can be replaced with a property-indexed keyframe with a composite array 
-FAIL Keyframes can be replaced with a property-indexed keyframe with a composite array that is too short assert_equals: value for 'composite' on ComputedKeyframe #2 expected "add" but got "replace"
+PASS Keyframes can be replaced with a property-indexed keyframe with a composite array that is too short 
 PASS Keyframes can be replaced with a property-indexed keyframe with a composite array that is too long 
 PASS Keyframes can be replaced with a property-indexed keyframe with a single-element composite array 
 PASS Keyframes can be replaced with a one property one keyframe sequence 

Modified: trunk/Source/WebCore/ChangeLog (233675 => 233676)


--- trunk/Source/WebCore/ChangeLog	2018-07-10 02:06:02 UTC (rev 233675)
+++ trunk/Source/WebCore/ChangeLog	2018-07-10 02:33:32 UTC (rev 233676)
@@ -1,3 +1,18 @@
+2018-07-09  Antoine Quint  <[email protected]>
+
+        [Web Animations] Correct handle repetition of composite and easing values
+        https://bugs.webkit.org/show_bug.cgi?id=187498
+        <rdar://problem/41999183>
+
+        Reviewed by Dean Jackson.
+
+        If there are fewer values for "easing" and "composite" than there are keyframes, we are supposed to
+        fill in missing values by repeating the pattern of specified values. We were starting our iteration
+        to fill those missing values on the second missing value rather than the first missing value.
+
+        * animation/KeyframeEffectReadOnly.cpp:
+        (WebCore::processPropertyIndexedKeyframes):
+
 2018-07-09  Youenn Fablet  <[email protected]>
 
         Add the possibility to run unsandboxed plug-ins

Modified: trunk/Source/WebCore/animation/KeyframeEffectReadOnly.cpp (233675 => 233676)


--- trunk/Source/WebCore/animation/KeyframeEffectReadOnly.cpp	2018-07-10 02:06:02 UTC (rev 233675)
+++ trunk/Source/WebCore/animation/KeyframeEffectReadOnly.cpp	2018-07-10 02:33:32 UTC (rev 233676)
@@ -389,7 +389,7 @@
     //    items as property keyframes.
     if (easings.size() < parsedKeyframes.size()) {
         size_t initialNumberOfEasings = easings.size();
-        for (i = initialNumberOfEasings + 1; i <= parsedKeyframes.size(); ++i)
+        for (i = initialNumberOfEasings; i < parsedKeyframes.size(); ++i)
             easings.append(easings[i % initialNumberOfEasings]);
     }
 
@@ -417,7 +417,7 @@
         //    the list until composite modes has as many items as property keyframes.
         if (compositeModes.size() < parsedKeyframes.size()) {
             size_t initialNumberOfCompositeModes = compositeModes.size();
-            for (i = initialNumberOfCompositeModes + 1; i <= parsedKeyframes.size(); ++i)
+            for (i = initialNumberOfCompositeModes; i < parsedKeyframes.size(); ++i)
                 compositeModes.append(compositeModes[i % initialNumberOfCompositeModes]);
         }
         // 3. Assign each value in composite modes to the keyframe-specific composite operation on the keyframe with the corresponding position in property keyframes until
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to