Changeset 291100 in webkit


Ignore:
Timestamp:
Mar 10, 2022 3:38:43 AM (4 months ago)
Author:
graouts@webkit.org
Message:

[web-animations] fill-rule should support discrete animation
https://bugs.webkit.org/show_bug.cgi?id=237648

Reviewed by Antti Koivisto.

LayoutTests/imported/w3c:

  • web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-001-expected.txt:
  • web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-001-expected.txt:
  • web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-001-expected.txt:

Source/WebCore:

  • animation/CSSPropertyAnimation.cpp:

(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):

  • rendering/style/RenderStyle.h:

(WebCore::RenderStyle::fillRule const):
(WebCore::RenderStyle::setFillRule):

Location:
trunk
Files:
7 edited

Legend:

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

    r291099 r291100  
     12022-03-09  Antoine Quint  <graouts@webkit.org>
     2
     3        [web-animations] fill-rule should support discrete animation
     4        https://bugs.webkit.org/show_bug.cgi?id=237648
     5
     6        Reviewed by Antti Koivisto.
     7
     8        * web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-001-expected.txt:
     9        * web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-001-expected.txt:
     10        * web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-001-expected.txt:
     11
    1122022-03-10  Antoine Quint  <graouts@webkit.org>
    213
  • trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-001-expected.txt

    r291099 r291100  
    194194PASS fill-opacity: [0, 1] number
    195195PASS fill-opacity: [0, 1] number (clamped)
     196PASS fill-rule (type: discrete) has testAccumulation function
     197PASS fill-rule: "nonzero" onto "evenodd"
     198PASS fill-rule: "evenodd" onto "nonzero"
    196199PASS filter (type: filterList) has testAccumulation function
    197200FAIL filter: same ordered filter functions assert_equals: The value should be blur(30px) brightness(0) at 0ms expected "blur(30px) brightness(0)" but got "blur(30px) brightness(0.4)"
  • trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-001-expected.txt

    r291099 r291100  
    194194PASS fill-opacity: [0, 1] number
    195195PASS fill-opacity: [0, 1] number (clamped)
     196PASS fill-rule (type: discrete) has testAddition function
     197PASS fill-rule: "nonzero" onto "evenodd"
     198PASS fill-rule: "evenodd" onto "nonzero"
    196199PASS filter (type: filterList) has testAddition function
    197200FAIL filter: blur on blur assert_equals: The value should be blur(10px) blur(20px) at 0ms expected "blur(10px) blur(20px)" but got "blur(30px)"
  • trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-001-expected.txt

    r291099 r291100  
    234234PASS fill-opacity (type: opacity) has testInterpolation function
    235235PASS fill-opacity supports animating as a [0, 1] number
     236PASS fill-rule (type: discrete) has testInterpolation function
     237PASS fill-rule uses discrete animation when animating between "evenodd" and "nonzero" with linear easing
     238PASS fill-rule uses discrete animation when animating between "evenodd" and "nonzero" with effect easing
     239PASS fill-rule uses discrete animation when animating between "evenodd" and "nonzero" with keyframe easing
    236240PASS filter (type: filterList) has testInterpolation function
    237241PASS filter: blur function
  • trunk/Source/WebCore/ChangeLog

    r291099 r291100  
     12022-03-09  Antoine Quint  <graouts@webkit.org>
     2
     3        [web-animations] fill-rule should support discrete animation
     4        https://bugs.webkit.org/show_bug.cgi?id=237648
     5
     6        Reviewed by Antti Koivisto.
     7
     8        * animation/CSSPropertyAnimation.cpp:
     9        (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
     10        * rendering/style/RenderStyle.h:
     11        (WebCore::RenderStyle::fillRule const):
     12        (WebCore::RenderStyle::setFillRule):
     13
    1142022-03-10  Antoine Quint  <graouts@webkit.org>
    215
  • trunk/Source/WebCore/animation/CSSPropertyAnimation.cpp

    r291099 r291100  
    29262926        new DiscretePropertyWrapper<DominantBaseline>(CSSPropertyDominantBaseline, &RenderStyle::dominantBaseline, &RenderStyle::setDominantBaseline),
    29272927        new CounterWrapper(CSSPropertyCounterIncrement),
    2928         new CounterWrapper(CSSPropertyCounterReset)
     2928        new CounterWrapper(CSSPropertyCounterReset),
     2929        new DiscretePropertyWrapper<WindRule>(CSSPropertyFillRule, &RenderStyle::fillRule, &RenderStyle::setFillRule)
    29292930    };
    29302931    const unsigned animatableLonghandPropertiesCount = WTF_ARRAY_LENGTH(animatableLonghandPropertyWrappers);
  • trunk/Source/WebCore/rendering/style/RenderStyle.h

    r291068 r291100  
    14401440    DominantBaseline dominantBaseline() const { return svgStyle().dominantBaseline(); }
    14411441    void setDominantBaseline(DominantBaseline dominantBaseline) { return accessSVGStyle().setDominantBaseline(dominantBaseline); }
     1442
     1443    WindRule fillRule() const { return svgStyle().fillRule(); }
     1444    void setFillRule(WindRule fillRule) { accessSVGStyle().setFillRule(fillRule); }
    14421445
    14431446    SVGPaintType fillPaintType() const { return svgStyle().fillPaintType(); }
Note: See TracChangeset for help on using the changeset viewer.