Changeset 233676 in webkit


Ignore:
Timestamp:
Jul 9, 2018 7:33:32 PM (6 years ago)
Author:
graouts@webkit.org
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):

Location:
trunk
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/imported/w3c/ChangeLog

    r233667 r233676  
     12018-07-09  Antoine Quint  <graouts@apple.com>
     2
     3        [Web Animations] Correct handle repetition of composite and easing values
     4        https://bugs.webkit.org/show_bug.cgi?id=187498
     5        <rdar://problem/41999183>
     6
     7        Reviewed by Dean Jackson.
     8
     9        Mark 6 new WPT progressions.
     10
     11        * web-platform-tests/web-animations/interfaces/Animatable/animate-expected.txt:
     12        * web-platform-tests/web-animations/interfaces/KeyframeEffect/constructor-expected.txt:
     13        * web-platform-tests/web-animations/interfaces/KeyframeEffect/setKeyframes-expected.txt:
     14
    1152018-07-09  Antoine Quint  <graouts@apple.com>
    216
  • trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/Animatable/animate-expected.txt

    r233666 r233676  
    3636PASS Element.animate() accepts a property-indexed keyframe with a single easing
    3737PASS Element.animate() accepts a property-indexed keyframe with an array of easings
    38 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"
     38PASS Element.animate() accepts a property-indexed keyframe with an array of easings that is too short
    3939PASS Element.animate() accepts a property-indexed keyframe with a single-element array of easings
    4040PASS Element.animate() accepts a property-indexed keyframe with an empty array of easings
     
    4242PASS Element.animate() accepts a property-indexed keyframe with a single composite operation
    4343PASS Element.animate() accepts a property-indexed keyframe with a composite array
    44 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"
     44PASS Element.animate() accepts a property-indexed keyframe with a composite array that is too short
    4545PASS Element.animate() accepts a property-indexed keyframe with a composite array that is too long
    4646PASS Element.animate() accepts a property-indexed keyframe with a single-element composite array
  • trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/KeyframeEffect/constructor-expected.txt

    r233666 r233676  
    6262PASS A KeyframeEffectReadOnly can be constructed with a property-indexed keyframe with an array of easings
    6363PASS A KeyframeEffectReadOnly constructed with a property-indexed keyframe with an array of easings roundtrips
    64 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"
     64PASS A KeyframeEffectReadOnly can be constructed with a property-indexed keyframe with an array of easings that is too short
    6565PASS A KeyframeEffectReadOnly constructed with a property-indexed keyframe with an array of easings that is too short roundtrips
    6666PASS A KeyframeEffectReadOnly can be constructed with a property-indexed keyframe with a single-element array of easings
     
    7474PASS A KeyframeEffectReadOnly can be constructed with a property-indexed keyframe with a composite array
    7575PASS A KeyframeEffectReadOnly constructed with a property-indexed keyframe with a composite array roundtrips
    76 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"
     76PASS A KeyframeEffectReadOnly can be constructed with a property-indexed keyframe with a composite array that is too short
    7777PASS A KeyframeEffectReadOnly constructed with a property-indexed keyframe with a composite array that is too short roundtrips
    7878PASS A KeyframeEffectReadOnly can be constructed with a property-indexed keyframe with a composite array that is too long
  • trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/KeyframeEffect/setKeyframes-expected.txt

    r233666 r233676  
    2929PASS Keyframes can be replaced with a property-indexed keyframe with a single easing
    3030PASS Keyframes can be replaced with a property-indexed keyframe with an array of easings
    31 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"
     31PASS Keyframes can be replaced with a property-indexed keyframe with an array of easings that is too short
    3232PASS Keyframes can be replaced with a property-indexed keyframe with a single-element array of easings
    3333PASS Keyframes can be replaced with a property-indexed keyframe with an empty array of easings
     
    3535PASS Keyframes can be replaced with a property-indexed keyframe with a single composite operation
    3636PASS Keyframes can be replaced with a property-indexed keyframe with a composite array
    37 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"
     37PASS Keyframes can be replaced with a property-indexed keyframe with a composite array that is too short
    3838PASS Keyframes can be replaced with a property-indexed keyframe with a composite array that is too long
    3939PASS Keyframes can be replaced with a property-indexed keyframe with a single-element composite array
  • trunk/Source/WebCore/ChangeLog

    r233672 r233676  
     12018-07-09  Antoine Quint  <graouts@apple.com>
     2
     3        [Web Animations] Correct handle repetition of composite and easing values
     4        https://bugs.webkit.org/show_bug.cgi?id=187498
     5        <rdar://problem/41999183>
     6
     7        Reviewed by Dean Jackson.
     8
     9        If there are fewer values for "easing" and "composite" than there are keyframes, we are supposed to
     10        fill in missing values by repeating the pattern of specified values. We were starting our iteration
     11        to fill those missing values on the second missing value rather than the first missing value.
     12
     13        * animation/KeyframeEffectReadOnly.cpp:
     14        (WebCore::processPropertyIndexedKeyframes):
     15
    1162018-07-09  Youenn Fablet  <youenn@apple.com>
    217
  • trunk/Source/WebCore/animation/KeyframeEffectReadOnly.cpp

    r233666 r233676  
    390390    if (easings.size() < parsedKeyframes.size()) {
    391391        size_t initialNumberOfEasings = easings.size();
    392         for (i = initialNumberOfEasings + 1; i <= parsedKeyframes.size(); ++i)
     392        for (i = initialNumberOfEasings; i < parsedKeyframes.size(); ++i)
    393393            easings.append(easings[i % initialNumberOfEasings]);
    394394    }
     
    418418        if (compositeModes.size() < parsedKeyframes.size()) {
    419419            size_t initialNumberOfCompositeModes = compositeModes.size();
    420             for (i = initialNumberOfCompositeModes + 1; i <= parsedKeyframes.size(); ++i)
     420            for (i = initialNumberOfCompositeModes; i < parsedKeyframes.size(); ++i)
    421421                compositeModes.append(compositeModes[i % initialNumberOfCompositeModes]);
    422422        }
Note: See TracChangeset for help on using the changeset viewer.