Changeset 268516 in webkit


Ignore:
Timestamp:
Oct 15, 2020 12:54:56 AM (4 years ago)
Author:
svillar@igalia.com
Message:

[css-flexbox] flex-grow property should be animatable
https://bugs.webkit.org/show_bug.cgi?id=209872

Reviewed by Antoine Quint.

LayoutTests/imported/w3c:

  • web-platform-tests/css/css-flexbox/animation/flex-grow-interpolation-expected.txt: New expected PASS results.
  • web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-001-expected.txt: Additional results.
  • web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-001-expected.txt: Ditto.
  • web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-001-expected.txt: Ditto.
  • web-platform-tests/web-animations/animation-model/keyframe-effects/effect-value-iteration-composite-operation-expected.txt: Ditto.

Source/WebCore:

Make flew-grow animatable as per spec. This allows us to pass a bunch of flexbox animation subtests.

  • animation/CSSPropertyAnimation.cpp:

(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap): Add the wrapper for flex-grow.

  • rendering/style/RenderStyle.h:

(WebCore::RenderStyle::setFlexGrow): Clamp flex-grow to 0 as negative values are invalid.

Location:
trunk
Files:
9 edited

Legend:

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

    r268479 r268516  
     12020-10-14  Sergio Villar Senin  <svillar@igalia.com>
     2
     3        [css-flexbox] flex-grow property should be animatable
     4        https://bugs.webkit.org/show_bug.cgi?id=209872
     5
     6        Reviewed by Antoine Quint.
     7
     8        * web-platform-tests/css/css-flexbox/animation/flex-grow-interpolation-expected.txt: New expected PASS results.
     9        * web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-001-expected.txt: Additional results.
     10        * web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-001-expected.txt: Ditto.
     11        * web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-001-expected.txt: Ditto.
     12        * web-platform-tests/web-animations/animation-model/keyframe-effects/effect-value-iteration-composite-operation-expected.txt: Ditto.
     13
    1142020-10-14  Alex Christensen  <achristensen@webkit.org>
    215
  • trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/animation/flex-grow-interpolation-expected.txt

    r267650 r268516  
    11
    2 FAIL CSS Transitions: property <flex-grow> from neutral to [2] at (-0.3) should be [0.7] assert_equals: expected "0.7 " but got "2 "
    3 FAIL CSS Transitions: property <flex-grow> from neutral to [2] at (0) should be [1] assert_equals: expected "1 " but got "2 "
    4 FAIL CSS Transitions: property <flex-grow> from neutral to [2] at (0.3) should be [1.3] assert_equals: expected "1.3 " but got "2 "
    5 FAIL CSS Transitions: property <flex-grow> from neutral to [2] at (0.6) should be [1.6] assert_equals: expected "1.6 " but got "2 "
     2PASS CSS Transitions: property <flex-grow> from neutral to [2] at (-0.3) should be [0.7]
     3PASS CSS Transitions: property <flex-grow> from neutral to [2] at (0) should be [1]
     4PASS CSS Transitions: property <flex-grow> from neutral to [2] at (0.3) should be [1.3]
     5PASS CSS Transitions: property <flex-grow> from neutral to [2] at (0.6) should be [1.6]
    66PASS CSS Transitions: property <flex-grow> from neutral to [2] at (1) should be [2]
    7 FAIL CSS Transitions: property <flex-grow> from neutral to [2] at (1.5) should be [2.5] assert_equals: expected "2.5 " but got "2 "
     7PASS CSS Transitions: property <flex-grow> from neutral to [2] at (1.5) should be [2.5]
    88PASS CSS Transitions with transition: all: property <flex-grow> from neutral to [2] at (-0.3) should be [0.7]
    99PASS CSS Transitions with transition: all: property <flex-grow> from neutral to [2] at (0) should be [1]
     
    1212PASS CSS Transitions with transition: all: property <flex-grow> from neutral to [2] at (1) should be [2]
    1313PASS CSS Transitions with transition: all: property <flex-grow> from neutral to [2] at (1.5) should be [2.5]
    14 FAIL CSS Animations: property <flex-grow> from neutral to [2] at (-0.3) should be [0.7] assert_equals: expected "0.7 " but got "1 "
     14PASS CSS Animations: property <flex-grow> from neutral to [2] at (-0.3) should be [0.7]
    1515PASS CSS Animations: property <flex-grow> from neutral to [2] at (0) should be [1]
    16 FAIL CSS Animations: property <flex-grow> from neutral to [2] at (0.3) should be [1.3] assert_equals: expected "1.3 " but got "1 "
    17 FAIL CSS Animations: property <flex-grow> from neutral to [2] at (0.6) should be [1.6] assert_equals: expected "1.6 " but got "1 "
    18 FAIL CSS Animations: property <flex-grow> from neutral to [2] at (1) should be [2] assert_equals: expected "2 " but got "1 "
    19 FAIL CSS Animations: property <flex-grow> from neutral to [2] at (1.5) should be [2.5] assert_equals: expected "2.5 " but got "1 "
    20 FAIL Web Animations: property <flex-grow> from neutral to [2] at (-0.3) should be [0.7] assert_equals: expected "0.7 " but got "1 "
    21 PASS Web Animations: property <flex-grow> from neutral to [2] at (0) should be [1]
    22 FAIL Web Animations: property <flex-grow> from neutral to [2] at (0.3) should be [1.3] assert_equals: expected "1.3 " but got "1 "
    23 FAIL Web Animations: property <flex-grow> from neutral to [2] at (0.6) should be [1.6] assert_equals: expected "1.6 " but got "1 "
    24 FAIL Web Animations: property <flex-grow> from neutral to [2] at (1) should be [2] assert_equals: expected "2 " but got "1 "
    25 FAIL Web Animations: property <flex-grow> from neutral to [2] at (1.5) should be [2.5] assert_equals: expected "2.5 " but got "1 "
    26 FAIL CSS Transitions: property <flex-grow> from [initial] to [2] at (-0.3) should be [0] assert_equals: expected "0 " but got "2 "
    27 FAIL CSS Transitions: property <flex-grow> from [initial] to [2] at (0) should be [0] assert_equals: expected "0 " but got "2 "
    28 FAIL CSS Transitions: property <flex-grow> from [initial] to [2] at (0.3) should be [0.6] assert_equals: expected "0.6 " but got "2 "
    29 FAIL CSS Transitions: property <flex-grow> from [initial] to [2] at (0.6) should be [1.2] assert_equals: expected "1.2 " but got "2 "
     16PASS CSS Animations: property <flex-grow> from neutral to [2] at (0.3) should be [1.3]
     17PASS CSS Animations: property <flex-grow> from neutral to [2] at (0.6) should be [1.6]
     18PASS CSS Animations: property <flex-grow> from neutral to [2] at (1) should be [2]
     19PASS CSS Animations: property <flex-grow> from neutral to [2] at (1.5) should be [2.5]
     20PASS Web Animations: property <flex-grow> from neutral to [2] at (-0.3) should be [0.7]
     21FAIL Web Animations: property <flex-grow> from neutral to [2] at (0) should be [1] assert_equals: expected "1 " but got "0.7 "
     22FAIL Web Animations: property <flex-grow> from neutral to [2] at (0.3) should be [1.3] assert_equals: expected "1.3 " but got "1.09 "
     23FAIL Web Animations: property <flex-grow> from neutral to [2] at (0.6) should be [1.6] assert_equals: expected "1.6 " but got "1.64 "
     24PASS Web Animations: property <flex-grow> from neutral to [2] at (1) should be [2]
     25FAIL Web Animations: property <flex-grow> from neutral to [2] at (1.5) should be [2.5] assert_equals: expected "2.5 " but got "2 "
     26PASS CSS Transitions: property <flex-grow> from [initial] to [2] at (-0.3) should be [0]
     27PASS CSS Transitions: property <flex-grow> from [initial] to [2] at (0) should be [0]
     28PASS CSS Transitions: property <flex-grow> from [initial] to [2] at (0.3) should be [0.6]
     29PASS CSS Transitions: property <flex-grow> from [initial] to [2] at (0.6) should be [1.2]
    3030PASS CSS Transitions: property <flex-grow> from [initial] to [2] at (1) should be [2]
    31 FAIL CSS Transitions: property <flex-grow> from [initial] to [2] at (1.5) should be [3] assert_equals: expected "3 " but got "2 "
    32 FAIL CSS Transitions with transition: all: property <flex-grow> from [initial] to [2] at (-0.3) should be [0] assert_equals: expected "0 " but got "- 0.6 "
     31PASS CSS Transitions: property <flex-grow> from [initial] to [2] at (1.5) should be [3]
     32PASS CSS Transitions with transition: all: property <flex-grow> from [initial] to [2] at (-0.3) should be [0]
    3333PASS CSS Transitions with transition: all: property <flex-grow> from [initial] to [2] at (0) should be [0]
    3434PASS CSS Transitions with transition: all: property <flex-grow> from [initial] to [2] at (0.3) should be [0.6]
     
    3636PASS CSS Transitions with transition: all: property <flex-grow> from [initial] to [2] at (1) should be [2]
    3737PASS CSS Transitions with transition: all: property <flex-grow> from [initial] to [2] at (1.5) should be [3]
    38 FAIL CSS Animations: property <flex-grow> from [initial] to [2] at (-0.3) should be [0] assert_equals: expected "0 " but got "1 "
    39 FAIL CSS Animations: property <flex-grow> from [initial] to [2] at (0) should be [0] assert_equals: expected "0 " but got "1 "
    40 FAIL CSS Animations: property <flex-grow> from [initial] to [2] at (0.3) should be [0.6] assert_equals: expected "0.6 " but got "1 "
    41 FAIL CSS Animations: property <flex-grow> from [initial] to [2] at (0.6) should be [1.2] assert_equals: expected "1.2 " but got "1 "
    42 FAIL CSS Animations: property <flex-grow> from [initial] to [2] at (1) should be [2] assert_equals: expected "2 " but got "1 "
    43 FAIL CSS Animations: property <flex-grow> from [initial] to [2] at (1.5) should be [3] assert_equals: expected "3 " but got "1 "
    44 FAIL Web Animations: property <flex-grow> from [initial] to [2] at (-0.3) should be [0] assert_equals: expected "0 " but got "1 "
    45 FAIL Web Animations: property <flex-grow> from [initial] to [2] at (0) should be [0] assert_equals: expected "0 " but got "1 "
    46 FAIL Web Animations: property <flex-grow> from [initial] to [2] at (0.3) should be [0.6] assert_equals: expected "0.6 " but got "1 "
    47 FAIL Web Animations: property <flex-grow> from [initial] to [2] at (0.6) should be [1.2] assert_equals: expected "1.2 " but got "1 "
    48 FAIL Web Animations: property <flex-grow> from [initial] to [2] at (1) should be [2] assert_equals: expected "2 " but got "1 "
    49 FAIL Web Animations: property <flex-grow> from [initial] to [2] at (1.5) should be [3] assert_equals: expected "3 " but got "1 "
    50 FAIL CSS Transitions: property <flex-grow> from [inherit] to [2] at (-0.3) should be [3.3] assert_equals: expected "3.3 " but got "2 "
    51 FAIL CSS Transitions: property <flex-grow> from [inherit] to [2] at (0) should be [3] assert_equals: expected "3 " but got "2 "
    52 FAIL CSS Transitions: property <flex-grow> from [inherit] to [2] at (0.3) should be [2.7] assert_equals: expected "2.7 " but got "2 "
    53 FAIL CSS Transitions: property <flex-grow> from [inherit] to [2] at (0.6) should be [2.4] assert_equals: expected "2.4 " but got "2 "
     38PASS CSS Animations: property <flex-grow> from [initial] to [2] at (-0.3) should be [0]
     39PASS CSS Animations: property <flex-grow> from [initial] to [2] at (0) should be [0]
     40PASS CSS Animations: property <flex-grow> from [initial] to [2] at (0.3) should be [0.6]
     41PASS CSS Animations: property <flex-grow> from [initial] to [2] at (0.6) should be [1.2]
     42PASS CSS Animations: property <flex-grow> from [initial] to [2] at (1) should be [2]
     43PASS CSS Animations: property <flex-grow> from [initial] to [2] at (1.5) should be [3]
     44PASS Web Animations: property <flex-grow> from [initial] to [2] at (-0.3) should be [0]
     45PASS Web Animations: property <flex-grow> from [initial] to [2] at (0) should be [0]
     46PASS Web Animations: property <flex-grow> from [initial] to [2] at (0.3) should be [0.6]
     47PASS Web Animations: property <flex-grow> from [initial] to [2] at (0.6) should be [1.2]
     48PASS Web Animations: property <flex-grow> from [initial] to [2] at (1) should be [2]
     49PASS Web Animations: property <flex-grow> from [initial] to [2] at (1.5) should be [3]
     50PASS CSS Transitions: property <flex-grow> from [inherit] to [2] at (-0.3) should be [3.3]
     51PASS CSS Transitions: property <flex-grow> from [inherit] to [2] at (0) should be [3]
     52PASS CSS Transitions: property <flex-grow> from [inherit] to [2] at (0.3) should be [2.7]
     53PASS CSS Transitions: property <flex-grow> from [inherit] to [2] at (0.6) should be [2.4]
    5454PASS CSS Transitions: property <flex-grow> from [inherit] to [2] at (1) should be [2]
    55 FAIL CSS Transitions: property <flex-grow> from [inherit] to [2] at (1.5) should be [1.5] assert_equals: expected "1.5 " but got "2 "
     55PASS CSS Transitions: property <flex-grow> from [inherit] to [2] at (1.5) should be [1.5]
    5656PASS CSS Transitions with transition: all: property <flex-grow> from [inherit] to [2] at (-0.3) should be [3.3]
    5757PASS CSS Transitions with transition: all: property <flex-grow> from [inherit] to [2] at (0) should be [3]
     
    6060PASS CSS Transitions with transition: all: property <flex-grow> from [inherit] to [2] at (1) should be [2]
    6161PASS CSS Transitions with transition: all: property <flex-grow> from [inherit] to [2] at (1.5) should be [1.5]
    62 FAIL CSS Animations: property <flex-grow> from [inherit] to [2] at (-0.3) should be [3.3] assert_equals: expected "3.3 " but got "1 "
    63 FAIL CSS Animations: property <flex-grow> from [inherit] to [2] at (0) should be [3] assert_equals: expected "3 " but got "1 "
    64 FAIL CSS Animations: property <flex-grow> from [inherit] to [2] at (0.3) should be [2.7] assert_equals: expected "2.7 " but got "1 "
    65 FAIL CSS Animations: property <flex-grow> from [inherit] to [2] at (0.6) should be [2.4] assert_equals: expected "2.4 " but got "1 "
    66 FAIL CSS Animations: property <flex-grow> from [inherit] to [2] at (1) should be [2] assert_equals: expected "2 " but got "1 "
    67 FAIL CSS Animations: property <flex-grow> from [inherit] to [2] at (1.5) should be [1.5] assert_equals: expected "1.5 " but got "1 "
    68 FAIL Web Animations: property <flex-grow> from [inherit] to [2] at (-0.3) should be [3.3] assert_equals: expected "3.3 " but got "1 "
    69 FAIL Web Animations: property <flex-grow> from [inherit] to [2] at (0) should be [3] assert_equals: expected "3 " but got "1 "
    70 FAIL Web Animations: property <flex-grow> from [inherit] to [2] at (0.3) should be [2.7] assert_equals: expected "2.7 " but got "1 "
    71 FAIL Web Animations: property <flex-grow> from [inherit] to [2] at (0.6) should be [2.4] assert_equals: expected "2.4 " but got "1 "
    72 FAIL Web Animations: property <flex-grow> from [inherit] to [2] at (1) should be [2] assert_equals: expected "2 " but got "1 "
    73 FAIL Web Animations: property <flex-grow> from [inherit] to [2] at (1.5) should be [1.5] assert_equals: expected "1.5 " but got "1 "
    74 FAIL CSS Transitions: property <flex-grow> from [unset] to [2] at (-0.3) should be [0] assert_equals: expected "0 " but got "2 "
    75 FAIL CSS Transitions: property <flex-grow> from [unset] to [2] at (0) should be [0] assert_equals: expected "0 " but got "2 "
    76 FAIL CSS Transitions: property <flex-grow> from [unset] to [2] at (0.3) should be [0.6] assert_equals: expected "0.6 " but got "2 "
    77 FAIL CSS Transitions: property <flex-grow> from [unset] to [2] at (0.6) should be [1.2] assert_equals: expected "1.2 " but got "2 "
     62PASS CSS Animations: property <flex-grow> from [inherit] to [2] at (-0.3) should be [3.3]
     63PASS CSS Animations: property <flex-grow> from [inherit] to [2] at (0) should be [3]
     64PASS CSS Animations: property <flex-grow> from [inherit] to [2] at (0.3) should be [2.7]
     65PASS CSS Animations: property <flex-grow> from [inherit] to [2] at (0.6) should be [2.4]
     66PASS CSS Animations: property <flex-grow> from [inherit] to [2] at (1) should be [2]
     67PASS CSS Animations: property <flex-grow> from [inherit] to [2] at (1.5) should be [1.5]
     68FAIL Web Animations: property <flex-grow> from [inherit] to [2] at (-0.3) should be [3.3] assert_equals: expected "3.3 " but got "0.7 "
     69FAIL Web Animations: property <flex-grow> from [inherit] to [2] at (0) should be [3] assert_equals: expected "3 " but got "0.7 "
     70FAIL Web Animations: property <flex-grow> from [inherit] to [2] at (0.3) should be [2.7] assert_equals: expected "2.7 " but got "1.09 "
     71FAIL Web Animations: property <flex-grow> from [inherit] to [2] at (0.6) should be [2.4] assert_equals: expected "2.4 " but got "1.64 "
     72PASS Web Animations: property <flex-grow> from [inherit] to [2] at (1) should be [2]
     73FAIL Web Animations: property <flex-grow> from [inherit] to [2] at (1.5) should be [1.5] assert_equals: expected "1.5 " but got "2 "
     74PASS CSS Transitions: property <flex-grow> from [unset] to [2] at (-0.3) should be [0]
     75PASS CSS Transitions: property <flex-grow> from [unset] to [2] at (0) should be [0]
     76PASS CSS Transitions: property <flex-grow> from [unset] to [2] at (0.3) should be [0.6]
     77PASS CSS Transitions: property <flex-grow> from [unset] to [2] at (0.6) should be [1.2]
    7878PASS CSS Transitions: property <flex-grow> from [unset] to [2] at (1) should be [2]
    79 FAIL CSS Transitions: property <flex-grow> from [unset] to [2] at (1.5) should be [3] assert_equals: expected "3 " but got "2 "
    80 FAIL CSS Transitions with transition: all: property <flex-grow> from [unset] to [2] at (-0.3) should be [0] assert_equals: expected "0 " but got "- 0.6 "
     79PASS CSS Transitions: property <flex-grow> from [unset] to [2] at (1.5) should be [3]
     80PASS CSS Transitions with transition: all: property <flex-grow> from [unset] to [2] at (-0.3) should be [0]
    8181PASS CSS Transitions with transition: all: property <flex-grow> from [unset] to [2] at (0) should be [0]
    8282PASS CSS Transitions with transition: all: property <flex-grow> from [unset] to [2] at (0.3) should be [0.6]
     
    8484PASS CSS Transitions with transition: all: property <flex-grow> from [unset] to [2] at (1) should be [2]
    8585PASS CSS Transitions with transition: all: property <flex-grow> from [unset] to [2] at (1.5) should be [3]
    86 FAIL CSS Animations: property <flex-grow> from [unset] to [2] at (-0.3) should be [0] assert_equals: expected "0 " but got "1 "
    87 FAIL CSS Animations: property <flex-grow> from [unset] to [2] at (0) should be [0] assert_equals: expected "0 " but got "1 "
    88 FAIL CSS Animations: property <flex-grow> from [unset] to [2] at (0.3) should be [0.6] assert_equals: expected "0.6 " but got "1 "
    89 FAIL CSS Animations: property <flex-grow> from [unset] to [2] at (0.6) should be [1.2] assert_equals: expected "1.2 " but got "1 "
    90 FAIL CSS Animations: property <flex-grow> from [unset] to [2] at (1) should be [2] assert_equals: expected "2 " but got "1 "
    91 FAIL CSS Animations: property <flex-grow> from [unset] to [2] at (1.5) should be [3] assert_equals: expected "3 " but got "1 "
    92 FAIL Web Animations: property <flex-grow> from [unset] to [2] at (-0.3) should be [0] assert_equals: expected "0 " but got "1 "
    93 FAIL Web Animations: property <flex-grow> from [unset] to [2] at (0) should be [0] assert_equals: expected "0 " but got "1 "
    94 FAIL Web Animations: property <flex-grow> from [unset] to [2] at (0.3) should be [0.6] assert_equals: expected "0.6 " but got "1 "
    95 FAIL Web Animations: property <flex-grow> from [unset] to [2] at (0.6) should be [1.2] assert_equals: expected "1.2 " but got "1 "
    96 FAIL Web Animations: property <flex-grow> from [unset] to [2] at (1) should be [2] assert_equals: expected "2 " but got "1 "
    97 FAIL Web Animations: property <flex-grow> from [unset] to [2] at (1.5) should be [3] assert_equals: expected "3 " but got "1 "
    98 FAIL CSS Transitions: property <flex-grow> from [1] to [2] at (-5) should be [0] assert_equals: expected "0 " but got "2 "
    99 FAIL CSS Transitions: property <flex-grow> from [1] to [2] at (-0.3) should be [0.7] assert_equals: expected "0.7 " but got "2 "
    100 FAIL CSS Transitions: property <flex-grow> from [1] to [2] at (0) should be [1] assert_equals: expected "1 " but got "2 "
    101 FAIL CSS Transitions: property <flex-grow> from [1] to [2] at (0.3) should be [1.3] assert_equals: expected "1.3 " but got "2 "
    102 FAIL CSS Transitions: property <flex-grow> from [1] to [2] at (0.6) should be [1.6] assert_equals: expected "1.6 " but got "2 "
     86PASS CSS Animations: property <flex-grow> from [unset] to [2] at (-0.3) should be [0]
     87PASS CSS Animations: property <flex-grow> from [unset] to [2] at (0) should be [0]
     88PASS CSS Animations: property <flex-grow> from [unset] to [2] at (0.3) should be [0.6]
     89PASS CSS Animations: property <flex-grow> from [unset] to [2] at (0.6) should be [1.2]
     90PASS CSS Animations: property <flex-grow> from [unset] to [2] at (1) should be [2]
     91PASS CSS Animations: property <flex-grow> from [unset] to [2] at (1.5) should be [3]
     92PASS Web Animations: property <flex-grow> from [unset] to [2] at (-0.3) should be [0]
     93PASS Web Animations: property <flex-grow> from [unset] to [2] at (0) should be [0]
     94PASS Web Animations: property <flex-grow> from [unset] to [2] at (0.3) should be [0.6]
     95PASS Web Animations: property <flex-grow> from [unset] to [2] at (0.6) should be [1.2]
     96PASS Web Animations: property <flex-grow> from [unset] to [2] at (1) should be [2]
     97PASS Web Animations: property <flex-grow> from [unset] to [2] at (1.5) should be [3]
     98PASS CSS Transitions: property <flex-grow> from [1] to [2] at (-5) should be [0]
     99PASS CSS Transitions: property <flex-grow> from [1] to [2] at (-0.3) should be [0.7]
     100PASS CSS Transitions: property <flex-grow> from [1] to [2] at (0) should be [1]
     101PASS CSS Transitions: property <flex-grow> from [1] to [2] at (0.3) should be [1.3]
     102PASS CSS Transitions: property <flex-grow> from [1] to [2] at (0.6) should be [1.6]
    103103PASS CSS Transitions: property <flex-grow> from [1] to [2] at (1) should be [2]
    104 FAIL CSS Transitions: property <flex-grow> from [1] to [2] at (1.5) should be [2.5] assert_equals: expected "2.5 " but got "2 "
    105 FAIL CSS Transitions with transition: all: property <flex-grow> from [1] to [2] at (-5) should be [0] assert_equals: expected "0 " but got "- 4 "
     104PASS CSS Transitions: property <flex-grow> from [1] to [2] at (1.5) should be [2.5]
     105PASS CSS Transitions with transition: all: property <flex-grow> from [1] to [2] at (-5) should be [0]
    106106PASS CSS Transitions with transition: all: property <flex-grow> from [1] to [2] at (-0.3) should be [0.7]
    107107PASS CSS Transitions with transition: all: property <flex-grow> from [1] to [2] at (0) should be [1]
     
    110110PASS CSS Transitions with transition: all: property <flex-grow> from [1] to [2] at (1) should be [2]
    111111PASS CSS Transitions with transition: all: property <flex-grow> from [1] to [2] at (1.5) should be [2.5]
    112 FAIL CSS Animations: property <flex-grow> from [1] to [2] at (-5) should be [0] assert_equals: expected "0 " but got "1 "
    113 FAIL CSS Animations: property <flex-grow> from [1] to [2] at (-0.3) should be [0.7] assert_equals: expected "0.7 " but got "1 "
     112PASS CSS Animations: property <flex-grow> from [1] to [2] at (-5) should be [0]
     113PASS CSS Animations: property <flex-grow> from [1] to [2] at (-0.3) should be [0.7]
    114114PASS CSS Animations: property <flex-grow> from [1] to [2] at (0) should be [1]
    115 FAIL CSS Animations: property <flex-grow> from [1] to [2] at (0.3) should be [1.3] assert_equals: expected "1.3 " but got "1 "
    116 FAIL CSS Animations: property <flex-grow> from [1] to [2] at (0.6) should be [1.6] assert_equals: expected "1.6 " but got "1 "
    117 FAIL CSS Animations: property <flex-grow> from [1] to [2] at (1) should be [2] assert_equals: expected "2 " but got "1 "
    118 FAIL CSS Animations: property <flex-grow> from [1] to [2] at (1.5) should be [2.5] assert_equals: expected "2.5 " but got "1 "
    119 FAIL Web Animations: property <flex-grow> from [1] to [2] at (-5) should be [0] assert_equals: expected "0 " but got "1 "
    120 FAIL Web Animations: property <flex-grow> from [1] to [2] at (-0.3) should be [0.7] assert_equals: expected "0.7 " but got "1 "
     115PASS CSS Animations: property <flex-grow> from [1] to [2] at (0.3) should be [1.3]
     116PASS CSS Animations: property <flex-grow> from [1] to [2] at (0.6) should be [1.6]
     117PASS CSS Animations: property <flex-grow> from [1] to [2] at (1) should be [2]
     118PASS CSS Animations: property <flex-grow> from [1] to [2] at (1.5) should be [2.5]
     119PASS Web Animations: property <flex-grow> from [1] to [2] at (-5) should be [0]
     120PASS Web Animations: property <flex-grow> from [1] to [2] at (-0.3) should be [0.7]
    121121PASS Web Animations: property <flex-grow> from [1] to [2] at (0) should be [1]
    122 FAIL Web Animations: property <flex-grow> from [1] to [2] at (0.3) should be [1.3] assert_equals: expected "1.3 " but got "1 "
    123 FAIL Web Animations: property <flex-grow> from [1] to [2] at (0.6) should be [1.6] assert_equals: expected "1.6 " but got "1 "
    124 FAIL Web Animations: property <flex-grow> from [1] to [2] at (1) should be [2] assert_equals: expected "2 " but got "1 "
    125 FAIL Web Animations: property <flex-grow> from [1] to [2] at (1.5) should be [2.5] assert_equals: expected "2.5 " but got "1 "
    126 FAIL CSS Transitions: property <flex-grow> from [0] to [1] at (-5) should be [0] assert_equals: expected "0 " but got "1 "
    127 FAIL CSS Transitions: property <flex-grow> from [0] to [1] at (-0.3) should be [0] assert_equals: expected "0 " but got "1 "
    128 FAIL CSS Transitions: property <flex-grow> from [0] to [1] at (0) should be [0] assert_equals: expected "0 " but got "1 "
    129 FAIL CSS Transitions: property <flex-grow> from [0] to [1] at (0.3) should be [0.3] assert_equals: expected "0.3 " but got "1 "
    130 FAIL CSS Transitions: property <flex-grow> from [0] to [1] at (0.6) should be [0.6] assert_equals: expected "0.6 " but got "1 "
     122PASS Web Animations: property <flex-grow> from [1] to [2] at (0.3) should be [1.3]
     123PASS Web Animations: property <flex-grow> from [1] to [2] at (0.6) should be [1.6]
     124PASS Web Animations: property <flex-grow> from [1] to [2] at (1) should be [2]
     125PASS Web Animations: property <flex-grow> from [1] to [2] at (1.5) should be [2.5]
     126PASS CSS Transitions: property <flex-grow> from [0] to [1] at (-5) should be [0]
     127PASS CSS Transitions: property <flex-grow> from [0] to [1] at (-0.3) should be [0]
     128PASS CSS Transitions: property <flex-grow> from [0] to [1] at (0) should be [0]
     129PASS CSS Transitions: property <flex-grow> from [0] to [1] at (0.3) should be [0.3]
     130PASS CSS Transitions: property <flex-grow> from [0] to [1] at (0.6) should be [0.6]
    131131PASS CSS Transitions: property <flex-grow> from [0] to [1] at (1) should be [1]
    132 FAIL CSS Transitions: property <flex-grow> from [0] to [1] at (1.5) should be [1.5] assert_equals: expected "1.5 " but got "1 "
    133 FAIL CSS Transitions with transition: all: property <flex-grow> from [0] to [1] at (-5) should be [0] assert_equals: expected "0 " but got "- 5 "
    134 FAIL CSS Transitions with transition: all: property <flex-grow> from [0] to [1] at (-0.3) should be [0] assert_equals: expected "0 " but got "- 0.3 "
     132PASS CSS Transitions: property <flex-grow> from [0] to [1] at (1.5) should be [1.5]
     133PASS CSS Transitions with transition: all: property <flex-grow> from [0] to [1] at (-5) should be [0]
     134PASS CSS Transitions with transition: all: property <flex-grow> from [0] to [1] at (-0.3) should be [0]
    135135PASS CSS Transitions with transition: all: property <flex-grow> from [0] to [1] at (0) should be [0]
    136136PASS CSS Transitions with transition: all: property <flex-grow> from [0] to [1] at (0.3) should be [0.3]
     
    138138PASS CSS Transitions with transition: all: property <flex-grow> from [0] to [1] at (1) should be [1]
    139139PASS CSS Transitions with transition: all: property <flex-grow> from [0] to [1] at (1.5) should be [1.5]
    140 FAIL CSS Animations: property <flex-grow> from [0] to [1] at (-5) should be [0] assert_equals: expected "0 " but got "1 "
    141 FAIL CSS Animations: property <flex-grow> from [0] to [1] at (-0.3) should be [0] assert_equals: expected "0 " but got "1 "
    142 FAIL CSS Animations: property <flex-grow> from [0] to [1] at (0) should be [0] assert_equals: expected "0 " but got "1 "
    143 FAIL CSS Animations: property <flex-grow> from [0] to [1] at (0.3) should be [0.3] assert_equals: expected "0.3 " but got "1 "
    144 FAIL CSS Animations: property <flex-grow> from [0] to [1] at (0.6) should be [0.6] assert_equals: expected "0.6 " but got "1 "
     140PASS CSS Animations: property <flex-grow> from [0] to [1] at (-5) should be [0]
     141PASS CSS Animations: property <flex-grow> from [0] to [1] at (-0.3) should be [0]
     142PASS CSS Animations: property <flex-grow> from [0] to [1] at (0) should be [0]
     143PASS CSS Animations: property <flex-grow> from [0] to [1] at (0.3) should be [0.3]
     144PASS CSS Animations: property <flex-grow> from [0] to [1] at (0.6) should be [0.6]
    145145PASS CSS Animations: property <flex-grow> from [0] to [1] at (1) should be [1]
    146 FAIL CSS Animations: property <flex-grow> from [0] to [1] at (1.5) should be [1.5] assert_equals: expected "1.5 " but got "1 "
    147 FAIL Web Animations: property <flex-grow> from [0] to [1] at (-5) should be [0] assert_equals: expected "0 " but got "1 "
    148 FAIL Web Animations: property <flex-grow> from [0] to [1] at (-0.3) should be [0] assert_equals: expected "0 " but got "1 "
    149 FAIL Web Animations: property <flex-grow> from [0] to [1] at (0) should be [0] assert_equals: expected "0 " but got "1 "
    150 FAIL Web Animations: property <flex-grow> from [0] to [1] at (0.3) should be [0.3] assert_equals: expected "0.3 " but got "1 "
    151 FAIL Web Animations: property <flex-grow> from [0] to [1] at (0.6) should be [0.6] assert_equals: expected "0.6 " but got "1 "
     146PASS CSS Animations: property <flex-grow> from [0] to [1] at (1.5) should be [1.5]
     147PASS Web Animations: property <flex-grow> from [0] to [1] at (-5) should be [0]
     148PASS Web Animations: property <flex-grow> from [0] to [1] at (-0.3) should be [0]
     149PASS Web Animations: property <flex-grow> from [0] to [1] at (0) should be [0]
     150PASS Web Animations: property <flex-grow> from [0] to [1] at (0.3) should be [0.3]
     151PASS Web Animations: property <flex-grow> from [0] to [1] at (0.6) should be [0.6]
    152152PASS Web Animations: property <flex-grow> from [0] to [1] at (1) should be [1]
    153 FAIL Web Animations: property <flex-grow> from [0] to [1] at (1.5) should be [1.5] assert_equals: expected "1.5 " but got "1 "
     153PASS Web Animations: property <flex-grow> from [0] to [1] at (1.5) should be [1.5]
    154154
  • trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-001-expected.txt

    r267649 r268516  
    113113FAIL 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(20px) brightness(0.1)"
    114114PASS filter: mismatched ordered filter functions
     115PASS flex-grow (type: positiveNumber) has testAccumulation function
     116FAIL flex-grow: positive number assert_equals: The value should be 2.2 at 0ms expected "2.2" but got "1.100000023841858"
    115117PASS flood-color (type: color) has testAccumulation function
    116118FAIL flood-color supports animating as color of rgb() with overflowed  from and to values assert_equals: The value should be rgb(255, 128, 128) at 0ms expected "rgb(255, 128, 128)" but got "rgb(255, 0, 0)"
  • trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-001-expected.txt

    r267649 r268516  
    113113FAIL filter: blur on blur assert_equals: The value should be blur(10px) blur(20px) at 0ms expected "blur(10px) blur(20px)" but got "blur(20px)"
    114114FAIL filter: different filter functions assert_equals: The value should be blur(10px) brightness(0.8) at 0ms expected "blur(10px) brightness(0.8)" but got "brightness(0.8)"
     115PASS flex-grow (type: positiveNumber) has testAddition function
     116FAIL flex-grow: positive number assert_equals: The value should be 2.2 at 0ms expected "2.2" but got "1.100000023841858"
    115117PASS flood-color (type: color) has testAddition function
    116118FAIL flood-color supports animating as color of rgb() with overflowed  from and to values assert_equals: The value should be rgb(255, 128, 128) at 0ms expected "rgb(255, 128, 128)" but got "rgb(255, 0, 0)"
  • trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-001-expected.txt

    r267649 r268516  
    134134PASS filter: interpolate from none
    135135FAIL filter: url function (interpoalte as discrete) assert_equals: The value should be blur(0px) url("#f1") at 499ms expected "blur(0px) url(\"#f1\")" but got "blur(4.989999771118164px) url(\"#f1\")"
     136PASS flex-grow (type: positiveNumber) has testInterpolation function
     137FAIL flex-grow supports animating as a positive number assert_equals: The value should be 1.3 at 500ms expected "1.3" but got "1.2999999523162842"
    136138PASS flood-color (type: color) has testInterpolation function
    137139PASS flood-color supports animating as color of rgb()
  • trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/keyframe-effects/effect-value-iteration-composite-operation-expected.txt

    r267649 r268516  
    55FAIL iteration composition of <color> type animation assert_equals: Animated color style at 0s of the third iteration expected "rgb(240, 240, 240)" but got "rgb(0, 0, 0)"
    66FAIL iteration composition of <color> type animation that green component is decreasing assert_equals: Animated color style at 0s of the third iteration expected "rgb(120, 240, 120)" but got "rgb(0, 120, 0)"
    7 FAIL iteration composition of <number> type animation assert_equals: Animated flex-grow style at 50s of the first iteration expected "5" but got "0"
     7FAIL iteration composition of <number> type animation assert_equals: Animated flex-grow style at 0s of the third iteration expected "20" but got "0"
    88FAIL iteration composition of <shape> type animation assert_equals: Animated clip style at 50s of the first iteration expected "rect(5px, 5px, 5px, 5px)" but got "auto"
    99FAIL iteration composition of <calc()> value animation assert_equals: Animated calc width style at 0s of the third iteration expected "20px" but got "0px"
  • trunk/Source/WebCore/ChangeLog

    r268506 r268516  
     12020-10-14  Sergio Villar Senin  <svillar@igalia.com>
     2
     3        [css-flexbox] flex-grow property should be animatable
     4        https://bugs.webkit.org/show_bug.cgi?id=209872
     5
     6        Reviewed by Antoine Quint.
     7
     8        Make flew-grow animatable as per spec. This allows us to pass a bunch of flexbox animation subtests.
     9
     10        * animation/CSSPropertyAnimation.cpp:
     11        (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap): Add the wrapper for flex-grow.
     12        * rendering/style/RenderStyle.h:
     13        (WebCore::RenderStyle::setFlexGrow): Clamp flex-grow to 0 as negative values are invalid.
     14
    1152020-10-14  Chris Dumez  <cdumez@apple.com>
    216
  • trunk/Source/WebCore/animation/CSSPropertyAnimation.cpp

    r268173 r268516  
    18641864        new PropertyWrapper<TextDecorationThickness>(CSSPropertyTextDecorationThickness, &RenderStyle::textDecorationThickness, &RenderStyle::setTextDecorationThickness),
    18651865        new PropertyWrapper<TextUnderlineOffset>(CSSPropertyTextUnderlineOffset, &RenderStyle::textUnderlineOffset, &RenderStyle::setTextUnderlineOffset),
     1866
     1867        new PropertyWrapper<float>(CSSPropertyFlexGrow, &RenderStyle::flexGrow, &RenderStyle::setFlexGrow),
    18661868    };
    18671869    const unsigned animatableLonghandPropertiesCount = WTF_ARRAY_LENGTH(animatableLonghandPropertyWrappers);
  • trunk/Source/WebCore/rendering/style/RenderStyle.h

    r268263 r268516  
    11021102    void setBoxReflect(RefPtr<StyleReflection>&&);
    11031103    void setBoxSizing(BoxSizing s) { SET_VAR(m_boxData, m_boxSizing, static_cast<unsigned>(s)); }
    1104     void setFlexGrow(float f) { SET_NESTED_VAR(m_rareNonInheritedData, flexibleBox, flexGrow, f); }
     1104    void setFlexGrow(float f) { float clampedGrow = std::max<float>(f, 0.f); SET_NESTED_VAR(m_rareNonInheritedData, flexibleBox, flexGrow, clampedGrow); }
    11051105    void setFlexShrink(float f) { SET_NESTED_VAR(m_rareNonInheritedData, flexibleBox, flexShrink, f); }
    11061106    void setFlexBasis(Length&& length) { SET_NESTED_VAR(m_rareNonInheritedData, flexibleBox, flexBasis, WTFMove(length)); }
Note: See TracChangeset for help on using the changeset viewer.