Changeset 276231 in webkit


Ignore:
Timestamp:
Apr 18, 2021 11:12:23 AM (15 months ago)
Author:
graouts@webkit.org
Message:

Fix interpolation of the rotate CSS property
https://bugs.webkit.org/show_bug.cgi?id=224730

Reviewed by Dean Jackson.

LayoutTests/imported/w3c:

Mark 123 WPT progressions.

  • web-platform-tests/css/css-transforms/animation/rotate-composition-expected.txt:
  • web-platform-tests/css/css-transforms/animation/rotate-interpolation-expected.txt:
  • web-platform-tests/css/css-transforms/animation/transform-interpolation-001-expected.txt:
  • web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-002-expected.txt:
  • web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-002-expected.txt:
  • web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-002-expected.txt:

Source/WebCore:

Implement the CSS Transforms spec about animating the rotateZ() function
for the simplified case where only the angle is interpolated.

  • platform/graphics/transforms/RotateTransformOperation.cpp:

(WebCore::RotateTransformOperation::blend):

Location:
trunk
Files:
9 edited

Legend:

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

    r276228 r276231  
     12021-04-18  Antoine Quint  <graouts@webkit.org>
     2
     3        Fix interpolation of the rotate CSS property
     4        https://bugs.webkit.org/show_bug.cgi?id=224730
     5
     6        Reviewed by Dean Jackson.
     7
     8        Mark 123 WPT progressions.
     9
     10        * web-platform-tests/css/css-transforms/animation/rotate-composition-expected.txt:
     11        * web-platform-tests/css/css-transforms/animation/rotate-interpolation-expected.txt:
     12        * web-platform-tests/css/css-transforms/animation/transform-interpolation-001-expected.txt:
     13        * web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-002-expected.txt:
     14        * web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-002-expected.txt:
     15        * web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-002-expected.txt:
     16
    1172021-04-18  Cathie Chen  <cathiechen@igalia.com>
    218
  • trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transforms/animation/rotate-composition-expected.txt

    r268173 r276231  
    3636PASS Compositing: property <rotate> underlying [1 2 3 90deg] from add [2 4 6 270deg] to replace [0 1 0 100deg] at (1) should be [0 1 0 100deg]
    3737FAIL Compositing: property <rotate> underlying [1 2 3 90deg] from add [2 4 6 270deg] to replace [0 1 0 100deg] at (2) should be [-3.3235e-17 -1 -9.97049e-17 160deg] assert_equals: expected "0 - 1 0 160deg " but got "- 0.22 - 0.73 - 0.65 120.66deg "
    38 FAIL Compositing: property <rotate> underlying [1 0 0 90deg] from add [0 1 0 180deg] to replace [0 0 1 90deg] at (-1) should be [-6.12323e-17 -1 1.57009e-16 90deg] assert_equals: expected "0 - 1 0 90deg " but got "0 1 0 270deg "
    39 FAIL Compositing: property <rotate> underlying [1 0 0 90deg] from add [0 1 0 180deg] to replace [0 0 1 90deg] at (0) should be [-4.32978e-17 -0.707107 -0.707107 180deg] assert_equals: expected "0 - 0.71 - 0.71 180deg " but got "0 1 0 180deg "
    40 FAIL Compositing: property <rotate> underlying [1 0 0 90deg] from add [0 1 0 180deg] to replace [0 0 1 90deg] at (0.25) should be [-1.48952e-16 -0.894427 -0.447214 131.81deg] assert_equals: expected "0 - 0.89 - 0.45 131.81deg " but got "0 1 0 157.5deg "
    41 FAIL Compositing: property <rotate> underlying [1 0 0 90deg] from add [0 1 0 180deg] to replace [0 0 1 90deg] at (0.75) should be [-2.94392e-17 -0.707107 0.707107 70.5288deg] assert_equals: expected "0 - 0.71 0.71 70.53deg " but got "0 1 0 112.5deg "
    42 FAIL Compositing: property <rotate> underlying [1 0 0 90deg] from add [0 1 0 180deg] to replace [0 0 1 90deg] at (1) should be [90deg] assert_equals: expected "90deg " but got "0 1 0 90deg "
    43 FAIL Compositing: property <rotate> underlying [1 0 0 90deg] from add [0 1 0 180deg] to replace [0 0 1 90deg] at (2) should be [-6.12323e-17 -1 -4.71028e-16 90deg] assert_equals: expected "0 - 1 0 90deg " but got "none "
    44 FAIL Compositing: property <rotate> underlying [none] from add [none] to replace [0 1 0 100deg] at (-1) should be [0 1 0 -100deg] assert_equals: expected "0 1 0 - 100deg " but got "- 100deg "
     38FAIL Compositing: property <rotate> underlying [1 0 0 90deg] from add [0 1 0 180deg] to replace [0 0 1 90deg] at (-1) should be [-6.12323e-17 -1 1.57009e-16 90deg] assert_equals: expected "0 - 1 0 90deg " but got "y 90deg "
     39FAIL Compositing: property <rotate> underlying [1 0 0 90deg] from add [0 1 0 180deg] to replace [0 0 1 90deg] at (0) should be [-4.32978e-17 -0.707107 -0.707107 180deg] assert_equals: expected "0 - 0.71 - 0.71 180deg " but got "0 - 1 0 180deg "
     40FAIL Compositing: property <rotate> underlying [1 0 0 90deg] from add [0 1 0 180deg] to replace [0 0 1 90deg] at (0.25) should be [-1.48952e-16 -0.894427 -0.447214 131.81deg] assert_equals: expected "0 - 0.89 - 0.45 131.81deg " but got "0 0.96 0.28 148.6deg "
     41FAIL Compositing: property <rotate> underlying [1 0 0 90deg] from add [0 1 0 180deg] to replace [0 0 1 90deg] at (0.75) should be [-2.94392e-17 -0.707107 0.707107 70.5288deg] assert_equals: expected "0 - 0.71 0.71 70.53deg " but got "0 0.51 0.86 98.42deg "
     42PASS Compositing: property <rotate> underlying [1 0 0 90deg] from add [0 1 0 180deg] to replace [0 0 1 90deg] at (1) should be [90deg]
     43FAIL Compositing: property <rotate> underlying [1 0 0 90deg] from add [0 1 0 180deg] to replace [0 0 1 90deg] at (2) should be [-6.12323e-17 -1 -4.71028e-16 90deg] assert_equals: expected "0 - 1 0 90deg " but got "0 - 1 0 180deg "
     44PASS Compositing: property <rotate> underlying [none] from add [none] to replace [0 1 0 100deg] at (-1) should be [0 1 0 -100deg]
    4545PASS Compositing: property <rotate> underlying [none] from add [none] to replace [0 1 0 100deg] at (0) should be [none]
    46 FAIL Compositing: property <rotate> underlying [none] from add [none] to replace [0 1 0 100deg] at (0.25) should be [0 1 0 25deg] assert_equals: expected "0 1 0 25deg " but got "25deg "
    47 FAIL Compositing: property <rotate> underlying [none] from add [none] to replace [0 1 0 100deg] at (0.75) should be [0 1 0 75deg] assert_equals: expected "0 1 0 75deg " but got "75deg "
    48 FAIL Compositing: property <rotate> underlying [none] from add [none] to replace [0 1 0 100deg] at (1) should be [0 1 0 100deg] assert_equals: expected "0 1 0 100deg " but got "100deg "
    49 FAIL Compositing: property <rotate> underlying [none] from add [none] to replace [0 1 0 100deg] at (2) should be [0 1 0 200deg] assert_equals: expected "0 1 0 200deg " but got "200deg "
    50 FAIL Compositing: property <rotate> underlying [none] from add [2 4 6 270deg] to replace [none] at (-1) should be [2 4 6 540deg] assert_equals: expected "2 4 6 540deg " but got "none "
    51 FAIL Compositing: property <rotate> underlying [none] from add [2 4 6 270deg] to replace [none] at (0) should be [2 4 6 270deg] assert_equals: expected "2 4 6 270deg " but got "- 0.27 - 0.53 - 0.8 90deg "
    52 FAIL Compositing: property <rotate> underlying [none] from add [2 4 6 270deg] to replace [none] at (0.25) should be [2 4 6 202.5deg] assert_equals: expected "2 4 6 202.5deg " but got "- 0.25 - 0.58 - 0.77 79.33deg "
    53 FAIL Compositing: property <rotate> underlying [none] from add [2 4 6 270deg] to replace [none] at (0.75) should be [2 4 6 67.5deg] assert_equals: expected "2 4 6 67.5deg " but got "0.08 - 0.75 - 0.65 9.63deg "
     46PASS Compositing: property <rotate> underlying [none] from add [none] to replace [0 1 0 100deg] at (0.25) should be [0 1 0 25deg]
     47PASS Compositing: property <rotate> underlying [none] from add [none] to replace [0 1 0 100deg] at (0.75) should be [0 1 0 75deg]
     48PASS Compositing: property <rotate> underlying [none] from add [none] to replace [0 1 0 100deg] at (1) should be [0 1 0 100deg]
     49PASS Compositing: property <rotate> underlying [none] from add [none] to replace [0 1 0 100deg] at (2) should be [0 1 0 200deg]
     50FAIL Compositing: property <rotate> underlying [none] from add [2 4 6 270deg] to replace [none] at (-1) should be [2 4 6 540deg] assert_equals: expected "2 4 6 540deg " but got "0.27 0.53 0.8 540deg "
     51FAIL Compositing: property <rotate> underlying [none] from add [2 4 6 270deg] to replace [none] at (0) should be [2 4 6 270deg] assert_equals: expected "2 4 6 270deg " but got "0.27 0.53 0.8 270deg "
     52FAIL Compositing: property <rotate> underlying [none] from add [2 4 6 270deg] to replace [none] at (0.25) should be [2 4 6 202.5deg] assert_equals: expected "2 4 6 202.5deg " but got "0.27 0.53 0.8 202.5deg "
     53FAIL Compositing: property <rotate> underlying [none] from add [2 4 6 270deg] to replace [none] at (0.75) should be [2 4 6 67.5deg] assert_equals: expected "2 4 6 67.5deg " but got "0.27 0.53 0.8 67.5deg "
    5454PASS Compositing: property <rotate> underlying [none] from add [2 4 6 270deg] to replace [none] at (1) should be [none]
    55 FAIL Compositing: property <rotate> underlying [none] from add [2 4 6 270deg] to replace [none] at (2) should be [2 4 6 -270deg] assert_equals: expected "2 4 6 - 270deg " but got "- 0.27 - 0.53 - 0.8 90deg "
    56 FAIL Compositing: property <rotate> underlying [1 2 3 90deg] from add [none] to replace [0 1 0 100deg] at (-1) should be [0.31 -0.22 0.92 131.66deg] assert_equals: expected "0.31 - 0.22 0.92 131.66deg " but got "- 100deg "
     55FAIL Compositing: property <rotate> underlying [none] from add [2 4 6 270deg] to replace [none] at (2) should be [2 4 6 -270deg] assert_equals: expected "2 4 6 - 270deg " but got "0.27 0.53 0.8 - 270deg "
     56FAIL Compositing: property <rotate> underlying [1 2 3 90deg] from add [none] to replace [0 1 0 100deg] at (-1) should be [0.31 -0.22 0.92 131.66deg] assert_equals: expected "0.31 - 0.22 0.92 131.66deg " but got "0 1 0 - 100deg "
    5757FAIL Compositing: property <rotate> underlying [1 2 3 90deg] from add [none] to replace [0 1 0 100deg] at (0) should be [1 2 3 90deg] assert_equals: expected "1 2 3 90deg " but got "none "
    58 FAIL Compositing: property <rotate> underlying [1 2 3 90deg] from add [none] to replace [0 1 0 100deg] at (0.25) should be [0.21 0.73 0.64 86.72deg] assert_equals: expected "0.21 0.73 0.64 86.72deg " but got "25deg "
    59 FAIL Compositing: property <rotate> underlying [1 2 3 90deg] from add [none] to replace [0 1 0 100deg] at (0.75) should be [0.07 0.97 0.21 92.05deg] assert_equals: expected "0.07 0.97 0.21 92.05deg " but got "75deg "
    60 FAIL Compositing: property <rotate> underlying [1 2 3 90deg] from add [none] to replace [0 1 0 100deg] at (1) should be [0 1 0 100deg] assert_equals: expected "0 1 0 100deg " but got "100deg "
    61 FAIL Compositing: property <rotate> underlying [1 2 3 90deg] from add [none] to replace [0 1 0 100deg] at (2) should be [-0.2 0.79 -0.59 151.11deg] assert_equals: expected "- 0.2 0.79 - 0.59 151.11deg " but got "200deg "
    62 FAIL Compositing: property <rotate> underlying [1 2 3 90deg] from add [2 4 6 270deg] to replace [none] at (-1) should be [1 2 3 720deg] assert_equals: expected "1 2 3 720deg " but got "none "
    63 FAIL Compositing: property <rotate> underlying [1 2 3 90deg] from add [2 4 6 270deg] to replace [none] at (0) should be [1 2 3 360deg] assert_equals: expected "1 2 3 360deg " but got "- 0.27 - 0.53 - 0.8 90deg "
    64 FAIL Compositing: property <rotate> underlying [1 2 3 90deg] from add [2 4 6 270deg] to replace [none] at (0.25) should be [1 2 3 270deg] assert_equals: expected "1 2 3 270deg " but got "- 0.25 - 0.58 - 0.77 79.33deg "
    65 FAIL Compositing: property <rotate> underlying [1 2 3 90deg] from add [2 4 6 270deg] to replace [none] at (0.75) should be [1 2 3 90deg] assert_equals: expected "1 2 3 90deg " but got "0.08 - 0.75 - 0.65 9.63deg "
     58FAIL Compositing: property <rotate> underlying [1 2 3 90deg] from add [none] to replace [0 1 0 100deg] at (0.25) should be [0.21 0.73 0.64 86.72deg] assert_equals: expected "0.21 0.73 0.64 86.72deg " but got "0 1 0 25deg "
     59FAIL Compositing: property <rotate> underlying [1 2 3 90deg] from add [none] to replace [0 1 0 100deg] at (0.75) should be [0.07 0.97 0.21 92.05deg] assert_equals: expected "0.07 0.97 0.21 92.05deg " but got "0 1 0 75deg "
     60PASS Compositing: property <rotate> underlying [1 2 3 90deg] from add [none] to replace [0 1 0 100deg] at (1) should be [0 1 0 100deg]
     61FAIL Compositing: property <rotate> underlying [1 2 3 90deg] from add [none] to replace [0 1 0 100deg] at (2) should be [-0.2 0.79 -0.59 151.11deg] assert_equals: expected "- 0.2 0.79 - 0.59 151.11deg " but got "0 1 0 200deg "
     62FAIL Compositing: property <rotate> underlying [1 2 3 90deg] from add [2 4 6 270deg] to replace [none] at (-1) should be [1 2 3 720deg] assert_equals: expected "1 2 3 720deg " but got "0.27 0.53 0.8 540deg "
     63FAIL Compositing: property <rotate> underlying [1 2 3 90deg] from add [2 4 6 270deg] to replace [none] at (0) should be [1 2 3 360deg] assert_equals: expected "1 2 3 360deg " but got "0.27 0.53 0.8 270deg "
     64FAIL Compositing: property <rotate> underlying [1 2 3 90deg] from add [2 4 6 270deg] to replace [none] at (0.25) should be [1 2 3 270deg] assert_equals: expected "1 2 3 270deg " but got "0.27 0.53 0.8 202.5deg "
     65FAIL Compositing: property <rotate> underlying [1 2 3 90deg] from add [2 4 6 270deg] to replace [none] at (0.75) should be [1 2 3 90deg] assert_equals: expected "1 2 3 90deg " but got "0.27 0.53 0.8 67.5deg "
    6666PASS Compositing: property <rotate> underlying [1 2 3 90deg] from add [2 4 6 270deg] to replace [none] at (1) should be [none]
    67 FAIL Compositing: property <rotate> underlying [1 2 3 90deg] from add [2 4 6 270deg] to replace [none] at (2) should be [1 2 3 -360deg] assert_equals: expected "1 2 3 - 360deg " but got "- 0.27 - 0.53 - 0.8 90deg "
     67FAIL Compositing: property <rotate> underlying [1 2 3 90deg] from add [2 4 6 270deg] to replace [none] at (2) should be [1 2 3 -360deg] assert_equals: expected "1 2 3 - 360deg " but got "0.27 0.53 0.8 - 270deg "
    6868
  • trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transforms/animation/rotate-interpolation-expected.txt

    r272904 r276231  
    2424PASS Web Animations: property <rotate> from [100deg] to [180deg] at (1) should be [180deg]
    2525PASS Web Animations: property <rotate> from [100deg] to [180deg] at (2) should be [260deg]
    26 FAIL CSS Transitions: property <rotate> from [45deg] to [-1 1 0 60deg] at (-1) should be [0.447214 -0.447214 0.774597 104.478deg] assert_equals: expected "0.45 - 0.45 0.77 104.48deg " but got "30deg "
     26PASS CSS Transitions: property <rotate> from [45deg] to [-1 1 0 60deg] at (-1) should be [0.447214 -0.447214 0.774597 104.478deg]
    2727PASS CSS Transitions: property <rotate> from [45deg] to [-1 1 0 60deg] at (0) should be [z 45deg]
    28 FAIL CSS Transitions: property <rotate> from [45deg] to [-1 1 0 60deg] at (0.125) should be [-0.136456 0.136456 0.981203 40.6037deg] assert_equals: expected "- 0.14 0.14 0.98 40.6deg " but got "46.88deg "
    29 FAIL CSS Transitions: property <rotate> from [45deg] to [-1 1 0 60deg] at (0.875) should be [-0.70246 0.70246 0.114452 53.1994deg] assert_equals: expected "- 0.7 0.7 0.11 53.2deg " but got "58.13deg "
    30 FAIL CSS Transitions: property <rotate> from [45deg] to [-1 1 0 60deg] at (1) should be [-0.71 0.71 0 60deg] assert_equals: expected "- 0.71 0.71 0 60deg " but got "60deg "
    31 FAIL CSS Transitions: property <rotate> from [45deg] to [-1 1 0 60deg] at (2) should be [-0.637897 0.637897 -0.431479 124.975deg] assert_equals: expected "- 0.64 0.64 - 0.43 124.97deg " but got "75deg "
    32 FAIL CSS Transitions with transition: all: property <rotate> from [45deg] to [-1 1 0 60deg] at (-1) should be [0.447214 -0.447214 0.774597 104.478deg] assert_equals: expected "0.45 - 0.45 0.77 104.48deg " but got "30deg "
     28PASS CSS Transitions: property <rotate> from [45deg] to [-1 1 0 60deg] at (0.125) should be [-0.136456 0.136456 0.981203 40.6037deg]
     29PASS CSS Transitions: property <rotate> from [45deg] to [-1 1 0 60deg] at (0.875) should be [-0.70246 0.70246 0.114452 53.1994deg]
     30PASS CSS Transitions: property <rotate> from [45deg] to [-1 1 0 60deg] at (1) should be [-0.71 0.71 0 60deg]
     31FAIL CSS Transitions: property <rotate> from [45deg] to [-1 1 0 60deg] at (2) should be [-0.637897 0.637897 -0.431479 124.975deg] assert_equals: expected "- 0.64 0.64 - 0.43 124.97deg " but got "- 0.64 0.64 - 0.43 124.98deg "
     32PASS CSS Transitions with transition: all: property <rotate> from [45deg] to [-1 1 0 60deg] at (-1) should be [0.447214 -0.447214 0.774597 104.478deg]
    3333PASS CSS Transitions with transition: all: property <rotate> from [45deg] to [-1 1 0 60deg] at (0) should be [z 45deg]
    34 FAIL CSS Transitions with transition: all: property <rotate> from [45deg] to [-1 1 0 60deg] at (0.125) should be [-0.136456 0.136456 0.981203 40.6037deg] assert_equals: expected "- 0.14 0.14 0.98 40.6deg " but got "46.88deg "
    35 FAIL CSS Transitions with transition: all: property <rotate> from [45deg] to [-1 1 0 60deg] at (0.875) should be [-0.70246 0.70246 0.114452 53.1994deg] assert_equals: expected "- 0.7 0.7 0.11 53.2deg " but got "58.13deg "
    36 FAIL CSS Transitions with transition: all: property <rotate> from [45deg] to [-1 1 0 60deg] at (1) should be [-0.71 0.71 0 60deg] assert_equals: expected "- 0.71 0.71 0 60deg " but got "60deg "
    37 FAIL CSS Transitions with transition: all: property <rotate> from [45deg] to [-1 1 0 60deg] at (2) should be [-0.637897 0.637897 -0.431479 124.975deg] assert_equals: expected "- 0.64 0.64 - 0.43 124.97deg " but got "75deg "
    38 FAIL CSS Animations: property <rotate> from [45deg] to [-1 1 0 60deg] at (-1) should be [0.447214 -0.447214 0.774597 104.478deg] assert_equals: expected "0.45 - 0.45 0.77 104.48deg " but got "30deg "
     34PASS CSS Transitions with transition: all: property <rotate> from [45deg] to [-1 1 0 60deg] at (0.125) should be [-0.136456 0.136456 0.981203 40.6037deg]
     35PASS CSS Transitions with transition: all: property <rotate> from [45deg] to [-1 1 0 60deg] at (0.875) should be [-0.70246 0.70246 0.114452 53.1994deg]
     36PASS CSS Transitions with transition: all: property <rotate> from [45deg] to [-1 1 0 60deg] at (1) should be [-0.71 0.71 0 60deg]
     37FAIL CSS Transitions with transition: all: property <rotate> from [45deg] to [-1 1 0 60deg] at (2) should be [-0.637897 0.637897 -0.431479 124.975deg] assert_equals: expected "- 0.64 0.64 - 0.43 124.97deg " but got "- 0.64 0.64 - 0.43 124.98deg "
     38PASS CSS Animations: property <rotate> from [45deg] to [-1 1 0 60deg] at (-1) should be [0.447214 -0.447214 0.774597 104.478deg]
    3939PASS CSS Animations: property <rotate> from [45deg] to [-1 1 0 60deg] at (0) should be [z 45deg]
    40 FAIL CSS Animations: property <rotate> from [45deg] to [-1 1 0 60deg] at (0.125) should be [-0.136456 0.136456 0.981203 40.6037deg] assert_equals: expected "- 0.14 0.14 0.98 40.6deg " but got "46.88deg "
    41 FAIL CSS Animations: property <rotate> from [45deg] to [-1 1 0 60deg] at (0.875) should be [-0.70246 0.70246 0.114452 53.1994deg] assert_equals: expected "- 0.7 0.7 0.11 53.2deg " but got "58.13deg "
    42 FAIL CSS Animations: property <rotate> from [45deg] to [-1 1 0 60deg] at (1) should be [-0.71 0.71 0 60deg] assert_equals: expected "- 0.71 0.71 0 60deg " but got "60deg "
    43 FAIL CSS Animations: property <rotate> from [45deg] to [-1 1 0 60deg] at (2) should be [-0.637897 0.637897 -0.431479 124.975deg] assert_equals: expected "- 0.64 0.64 - 0.43 124.97deg " but got "75deg "
    44 FAIL Web Animations: property <rotate> from [45deg] to [-1 1 0 60deg] at (-1) should be [0.447214 -0.447214 0.774597 104.478deg] assert_equals: expected "0.45 - 0.45 0.77 104.48deg " but got "30deg "
     40PASS CSS Animations: property <rotate> from [45deg] to [-1 1 0 60deg] at (0.125) should be [-0.136456 0.136456 0.981203 40.6037deg]
     41PASS CSS Animations: property <rotate> from [45deg] to [-1 1 0 60deg] at (0.875) should be [-0.70246 0.70246 0.114452 53.1994deg]
     42PASS CSS Animations: property <rotate> from [45deg] to [-1 1 0 60deg] at (1) should be [-0.71 0.71 0 60deg]
     43FAIL CSS Animations: property <rotate> from [45deg] to [-1 1 0 60deg] at (2) should be [-0.637897 0.637897 -0.431479 124.975deg] assert_equals: expected "- 0.64 0.64 - 0.43 124.97deg " but got "- 0.64 0.64 - 0.43 124.98deg "
     44PASS Web Animations: property <rotate> from [45deg] to [-1 1 0 60deg] at (-1) should be [0.447214 -0.447214 0.774597 104.478deg]
    4545PASS Web Animations: property <rotate> from [45deg] to [-1 1 0 60deg] at (0) should be [z 45deg]
    46 FAIL Web Animations: property <rotate> from [45deg] to [-1 1 0 60deg] at (0.125) should be [-0.136456 0.136456 0.981203 40.6037deg] assert_equals: expected "- 0.14 0.14 0.98 40.6deg " but got "46.88deg "
    47 FAIL Web Animations: property <rotate> from [45deg] to [-1 1 0 60deg] at (0.875) should be [-0.70246 0.70246 0.114452 53.1994deg] assert_equals: expected "- 0.7 0.7 0.11 53.2deg " but got "58.13deg "
    48 FAIL Web Animations: property <rotate> from [45deg] to [-1 1 0 60deg] at (1) should be [-0.71 0.71 0 60deg] assert_equals: expected "- 0.71 0.71 0 60deg " but got "60deg "
    49 FAIL Web Animations: property <rotate> from [45deg] to [-1 1 0 60deg] at (2) should be [-0.637897 0.637897 -0.431479 124.975deg] assert_equals: expected "- 0.64 0.64 - 0.43 124.97deg " but got "75deg "
    50 FAIL CSS Transitions: property <rotate> from [none] to [7 -8 9 400grad] at (-1) should be [0.5 -0.57 0.65 -400grad] assert_equals: expected "0.5 - 0.57 0.65 - 360deg " but got "- 360deg "
     46PASS Web Animations: property <rotate> from [45deg] to [-1 1 0 60deg] at (0.125) should be [-0.136456 0.136456 0.981203 40.6037deg]
     47PASS Web Animations: property <rotate> from [45deg] to [-1 1 0 60deg] at (0.875) should be [-0.70246 0.70246 0.114452 53.1994deg]
     48PASS Web Animations: property <rotate> from [45deg] to [-1 1 0 60deg] at (1) should be [-0.71 0.71 0 60deg]
     49FAIL Web Animations: property <rotate> from [45deg] to [-1 1 0 60deg] at (2) should be [-0.637897 0.637897 -0.431479 124.975deg] assert_equals: expected "- 0.64 0.64 - 0.43 124.97deg " but got "- 0.64 0.64 - 0.43 124.98deg "
     50PASS CSS Transitions: property <rotate> from [none] to [7 -8 9 400grad] at (-1) should be [0.5 -0.57 0.65 -400grad]
    5151PASS CSS Transitions: property <rotate> from [none] to [7 -8 9 400grad] at (0) should be [0.5 -0.57 0.65 0deg]
    52 FAIL CSS Transitions: property <rotate> from [none] to [7 -8 9 400grad] at (0.125) should be [0.5 -0.57 0.65 50grad] assert_equals: expected "0.5 - 0.57 0.65 45deg " but got "45deg "
    53 FAIL CSS Transitions: property <rotate> from [none] to [7 -8 9 400grad] at (0.875) should be [0.5 -0.57 0.65 350grad] assert_equals: expected "0.5 - 0.57 0.65 315deg " but got "315deg "
    54 FAIL CSS Transitions: property <rotate> from [none] to [7 -8 9 400grad] at (1) should be [0.5 -0.57 0.65 400grad] assert_equals: expected "0.5 - 0.57 0.65 360deg " but got "360deg "
    55 FAIL CSS Transitions: property <rotate> from [none] to [7 -8 9 400grad] at (2) should be [0.5 -0.57 0.65 800grad] assert_equals: expected "0.5 - 0.57 0.65 720deg " but got "720deg "
    56 FAIL CSS Transitions with transition: all: property <rotate> from [none] to [7 -8 9 400grad] at (-1) should be [0.5 -0.57 0.65 -400grad] assert_equals: expected "0.5 - 0.57 0.65 - 360deg " but got "- 360deg "
     52PASS CSS Transitions: property <rotate> from [none] to [7 -8 9 400grad] at (0.125) should be [0.5 -0.57 0.65 50grad]
     53PASS CSS Transitions: property <rotate> from [none] to [7 -8 9 400grad] at (0.875) should be [0.5 -0.57 0.65 350grad]
     54PASS CSS Transitions: property <rotate> from [none] to [7 -8 9 400grad] at (1) should be [0.5 -0.57 0.65 400grad]
     55PASS CSS Transitions: property <rotate> from [none] to [7 -8 9 400grad] at (2) should be [0.5 -0.57 0.65 800grad]
     56PASS CSS Transitions with transition: all: property <rotate> from [none] to [7 -8 9 400grad] at (-1) should be [0.5 -0.57 0.65 -400grad]
    5757PASS CSS Transitions with transition: all: property <rotate> from [none] to [7 -8 9 400grad] at (0) should be [0.5 -0.57 0.65 0deg]
    58 FAIL CSS Transitions with transition: all: property <rotate> from [none] to [7 -8 9 400grad] at (0.125) should be [0.5 -0.57 0.65 50grad] assert_equals: expected "0.5 - 0.57 0.65 45deg " but got "45deg "
    59 FAIL CSS Transitions with transition: all: property <rotate> from [none] to [7 -8 9 400grad] at (0.875) should be [0.5 -0.57 0.65 350grad] assert_equals: expected "0.5 - 0.57 0.65 315deg " but got "315deg "
    60 FAIL CSS Transitions with transition: all: property <rotate> from [none] to [7 -8 9 400grad] at (1) should be [0.5 -0.57 0.65 400grad] assert_equals: expected "0.5 - 0.57 0.65 360deg " but got "360deg "
    61 FAIL CSS Transitions with transition: all: property <rotate> from [none] to [7 -8 9 400grad] at (2) should be [0.5 -0.57 0.65 800grad] assert_equals: expected "0.5 - 0.57 0.65 720deg " but got "720deg "
    62 FAIL CSS Animations: property <rotate> from [none] to [7 -8 9 400grad] at (-1) should be [0.5 -0.57 0.65 -400grad] assert_equals: expected "0.5 - 0.57 0.65 - 360deg " but got "- 360deg "
     58PASS CSS Transitions with transition: all: property <rotate> from [none] to [7 -8 9 400grad] at (0.125) should be [0.5 -0.57 0.65 50grad]
     59PASS CSS Transitions with transition: all: property <rotate> from [none] to [7 -8 9 400grad] at (0.875) should be [0.5 -0.57 0.65 350grad]
     60PASS CSS Transitions with transition: all: property <rotate> from [none] to [7 -8 9 400grad] at (1) should be [0.5 -0.57 0.65 400grad]
     61PASS CSS Transitions with transition: all: property <rotate> from [none] to [7 -8 9 400grad] at (2) should be [0.5 -0.57 0.65 800grad]
     62PASS CSS Animations: property <rotate> from [none] to [7 -8 9 400grad] at (-1) should be [0.5 -0.57 0.65 -400grad]
    6363PASS CSS Animations: property <rotate> from [none] to [7 -8 9 400grad] at (0) should be [0.5 -0.57 0.65 0deg]
    64 FAIL CSS Animations: property <rotate> from [none] to [7 -8 9 400grad] at (0.125) should be [0.5 -0.57 0.65 50grad] assert_equals: expected "0.5 - 0.57 0.65 45deg " but got "45deg "
    65 FAIL CSS Animations: property <rotate> from [none] to [7 -8 9 400grad] at (0.875) should be [0.5 -0.57 0.65 350grad] assert_equals: expected "0.5 - 0.57 0.65 315deg " but got "315deg "
    66 FAIL CSS Animations: property <rotate> from [none] to [7 -8 9 400grad] at (1) should be [0.5 -0.57 0.65 400grad] assert_equals: expected "0.5 - 0.57 0.65 360deg " but got "360deg "
    67 FAIL CSS Animations: property <rotate> from [none] to [7 -8 9 400grad] at (2) should be [0.5 -0.57 0.65 800grad] assert_equals: expected "0.5 - 0.57 0.65 720deg " but got "720deg "
    68 FAIL Web Animations: property <rotate> from [none] to [7 -8 9 400grad] at (-1) should be [0.5 -0.57 0.65 -400grad] assert_equals: expected "0.5 - 0.57 0.65 - 360deg " but got "- 360deg "
     64PASS CSS Animations: property <rotate> from [none] to [7 -8 9 400grad] at (0.125) should be [0.5 -0.57 0.65 50grad]
     65PASS CSS Animations: property <rotate> from [none] to [7 -8 9 400grad] at (0.875) should be [0.5 -0.57 0.65 350grad]
     66PASS CSS Animations: property <rotate> from [none] to [7 -8 9 400grad] at (1) should be [0.5 -0.57 0.65 400grad]
     67PASS CSS Animations: property <rotate> from [none] to [7 -8 9 400grad] at (2) should be [0.5 -0.57 0.65 800grad]
     68PASS Web Animations: property <rotate> from [none] to [7 -8 9 400grad] at (-1) should be [0.5 -0.57 0.65 -400grad]
    6969PASS Web Animations: property <rotate> from [none] to [7 -8 9 400grad] at (0) should be [0.5 -0.57 0.65 0deg]
    70 FAIL Web Animations: property <rotate> from [none] to [7 -8 9 400grad] at (0.125) should be [0.5 -0.57 0.65 50grad] assert_equals: expected "0.5 - 0.57 0.65 45deg " but got "45deg "
    71 FAIL Web Animations: property <rotate> from [none] to [7 -8 9 400grad] at (0.875) should be [0.5 -0.57 0.65 350grad] assert_equals: expected "0.5 - 0.57 0.65 315deg " but got "315deg "
    72 FAIL Web Animations: property <rotate> from [none] to [7 -8 9 400grad] at (1) should be [0.5 -0.57 0.65 400grad] assert_equals: expected "0.5 - 0.57 0.65 360deg " but got "360deg "
    73 FAIL Web Animations: property <rotate> from [none] to [7 -8 9 400grad] at (2) should be [0.5 -0.57 0.65 800grad] assert_equals: expected "0.5 - 0.57 0.65 720deg " but got "720deg "
     70PASS Web Animations: property <rotate> from [none] to [7 -8 9 400grad] at (0.125) should be [0.5 -0.57 0.65 50grad]
     71PASS Web Animations: property <rotate> from [none] to [7 -8 9 400grad] at (0.875) should be [0.5 -0.57 0.65 350grad]
     72PASS Web Animations: property <rotate> from [none] to [7 -8 9 400grad] at (1) should be [0.5 -0.57 0.65 400grad]
     73PASS Web Animations: property <rotate> from [none] to [7 -8 9 400grad] at (2) should be [0.5 -0.57 0.65 800grad]
    7474PASS CSS Transitions: property <rotate> from [none] to [none] at (-1) should be [none]
    7575PASS CSS Transitions: property <rotate> from [none] to [none] at (0) should be [none]
     
    240240PASS Web Animations: property <rotate> from [0 1 0 100deg] to [0 1 0 -100deg] at (1) should be [0 1 0 -100deg]
    241241PASS Web Animations: property <rotate> from [0 1 0 100deg] to [0 1 0 -100deg] at (2) should be [0 1 0 -300deg]
    242 FAIL CSS Transitions: property <rotate> from [1 -2.5 3.64 100deg] to [1 -2.5 3.64 -100deg] at (-1) should be [0.22 -0.55 0.8 300deg] assert_equals: expected "0.22 - 0.55 0.8 300deg " but got "- 0.22 0.55 - 0.8 60deg "
     242PASS CSS Transitions: property <rotate> from [1 -2.5 3.64 100deg] to [1 -2.5 3.64 -100deg] at (-1) should be [0.22 -0.55 0.8 300deg]
    243243PASS CSS Transitions: property <rotate> from [1 -2.5 3.64 100deg] to [1 -2.5 3.64 -100deg] at (0) should be [0.22 -0.55 0.8 100deg]
    244 FAIL CSS Transitions: property <rotate> from [1 -2.5 3.64 100deg] to [1 -2.5 3.64 -100deg] at (0.25) should be [0.22 -0.55 0.8 50deg] assert_equals: expected "0.22 - 0.55 0.8 50deg " but got "0.22 - 0.55 0.8 140deg "
    245 FAIL CSS Transitions: property <rotate> from [1 -2.5 3.64 100deg] to [1 -2.5 3.64 -100deg] at (0.75) should be [0.22 -0.55 0.8 -50deg] assert_equals: expected "0.22 - 0.55 0.8 - 50deg " but got "- 0.22 0.55 - 0.8 140deg "
    246 FAIL CSS Transitions: property <rotate> from [1 -2.5 3.64 100deg] to [1 -2.5 3.64 -100deg] at (1) should be [0.22 -0.55 0.8 -100deg] assert_equals: expected "0.22 - 0.55 0.8 - 100deg " but got "- 0.22 0.55 - 0.8 100deg "
    247 FAIL CSS Transitions: property <rotate> from [1 -2.5 3.64 100deg] to [1 -2.5 3.64 -100deg] at (2) should be [0.22 -0.55 0.8 -300deg] assert_equals: expected "0.22 - 0.55 0.8 - 300deg " but got "0.22 - 0.55 0.8 60deg "
    248 FAIL CSS Transitions with transition: all: property <rotate> from [1 -2.5 3.64 100deg] to [1 -2.5 3.64 -100deg] at (-1) should be [0.22 -0.55 0.8 300deg] assert_equals: expected "0.22 - 0.55 0.8 300deg " but got "- 0.22 0.55 - 0.8 60deg "
     244PASS CSS Transitions: property <rotate> from [1 -2.5 3.64 100deg] to [1 -2.5 3.64 -100deg] at (0.25) should be [0.22 -0.55 0.8 50deg]
     245PASS CSS Transitions: property <rotate> from [1 -2.5 3.64 100deg] to [1 -2.5 3.64 -100deg] at (0.75) should be [0.22 -0.55 0.8 -50deg]
     246PASS CSS Transitions: property <rotate> from [1 -2.5 3.64 100deg] to [1 -2.5 3.64 -100deg] at (1) should be [0.22 -0.55 0.8 -100deg]
     247PASS CSS Transitions: property <rotate> from [1 -2.5 3.64 100deg] to [1 -2.5 3.64 -100deg] at (2) should be [0.22 -0.55 0.8 -300deg]
     248PASS CSS Transitions with transition: all: property <rotate> from [1 -2.5 3.64 100deg] to [1 -2.5 3.64 -100deg] at (-1) should be [0.22 -0.55 0.8 300deg]
    249249PASS CSS Transitions with transition: all: property <rotate> from [1 -2.5 3.64 100deg] to [1 -2.5 3.64 -100deg] at (0) should be [0.22 -0.55 0.8 100deg]
    250 FAIL CSS Transitions with transition: all: property <rotate> from [1 -2.5 3.64 100deg] to [1 -2.5 3.64 -100deg] at (0.25) should be [0.22 -0.55 0.8 50deg] assert_equals: expected "0.22 - 0.55 0.8 50deg " but got "0.22 - 0.55 0.8 140deg "
    251 FAIL CSS Transitions with transition: all: property <rotate> from [1 -2.5 3.64 100deg] to [1 -2.5 3.64 -100deg] at (0.75) should be [0.22 -0.55 0.8 -50deg] assert_equals: expected "0.22 - 0.55 0.8 - 50deg " but got "- 0.22 0.55 - 0.8 140deg "
    252 FAIL CSS Transitions with transition: all: property <rotate> from [1 -2.5 3.64 100deg] to [1 -2.5 3.64 -100deg] at (1) should be [0.22 -0.55 0.8 -100deg] assert_equals: expected "0.22 - 0.55 0.8 - 100deg " but got "- 0.22 0.55 - 0.8 100deg "
    253 FAIL CSS Transitions with transition: all: property <rotate> from [1 -2.5 3.64 100deg] to [1 -2.5 3.64 -100deg] at (2) should be [0.22 -0.55 0.8 -300deg] assert_equals: expected "0.22 - 0.55 0.8 - 300deg " but got "0.22 - 0.55 0.8 60deg "
    254 FAIL CSS Animations: property <rotate> from [1 -2.5 3.64 100deg] to [1 -2.5 3.64 -100deg] at (-1) should be [0.22 -0.55 0.8 300deg] assert_equals: expected "0.22 - 0.55 0.8 300deg " but got "- 0.22 0.55 - 0.8 60deg "
     250PASS CSS Transitions with transition: all: property <rotate> from [1 -2.5 3.64 100deg] to [1 -2.5 3.64 -100deg] at (0.25) should be [0.22 -0.55 0.8 50deg]
     251PASS CSS Transitions with transition: all: property <rotate> from [1 -2.5 3.64 100deg] to [1 -2.5 3.64 -100deg] at (0.75) should be [0.22 -0.55 0.8 -50deg]
     252PASS CSS Transitions with transition: all: property <rotate> from [1 -2.5 3.64 100deg] to [1 -2.5 3.64 -100deg] at (1) should be [0.22 -0.55 0.8 -100deg]
     253PASS CSS Transitions with transition: all: property <rotate> from [1 -2.5 3.64 100deg] to [1 -2.5 3.64 -100deg] at (2) should be [0.22 -0.55 0.8 -300deg]
     254PASS CSS Animations: property <rotate> from [1 -2.5 3.64 100deg] to [1 -2.5 3.64 -100deg] at (-1) should be [0.22 -0.55 0.8 300deg]
    255255PASS CSS Animations: property <rotate> from [1 -2.5 3.64 100deg] to [1 -2.5 3.64 -100deg] at (0) should be [0.22 -0.55 0.8 100deg]
    256 FAIL CSS Animations: property <rotate> from [1 -2.5 3.64 100deg] to [1 -2.5 3.64 -100deg] at (0.25) should be [0.22 -0.55 0.8 50deg] assert_equals: expected "0.22 - 0.55 0.8 50deg " but got "0.22 - 0.55 0.8 140deg "
    257 FAIL CSS Animations: property <rotate> from [1 -2.5 3.64 100deg] to [1 -2.5 3.64 -100deg] at (0.75) should be [0.22 -0.55 0.8 -50deg] assert_equals: expected "0.22 - 0.55 0.8 - 50deg " but got "- 0.22 0.55 - 0.8 140deg "
    258 FAIL CSS Animations: property <rotate> from [1 -2.5 3.64 100deg] to [1 -2.5 3.64 -100deg] at (1) should be [0.22 -0.55 0.8 -100deg] assert_equals: expected "0.22 - 0.55 0.8 - 100deg " but got "- 0.22 0.55 - 0.8 100deg "
    259 FAIL CSS Animations: property <rotate> from [1 -2.5 3.64 100deg] to [1 -2.5 3.64 -100deg] at (2) should be [0.22 -0.55 0.8 -300deg] assert_equals: expected "0.22 - 0.55 0.8 - 300deg " but got "0.22 - 0.55 0.8 60deg "
    260 FAIL Web Animations: property <rotate> from [1 -2.5 3.64 100deg] to [1 -2.5 3.64 -100deg] at (-1) should be [0.22 -0.55 0.8 300deg] assert_equals: expected "0.22 - 0.55 0.8 300deg " but got "- 0.22 0.55 - 0.8 60deg "
     256PASS CSS Animations: property <rotate> from [1 -2.5 3.64 100deg] to [1 -2.5 3.64 -100deg] at (0.25) should be [0.22 -0.55 0.8 50deg]
     257PASS CSS Animations: property <rotate> from [1 -2.5 3.64 100deg] to [1 -2.5 3.64 -100deg] at (0.75) should be [0.22 -0.55 0.8 -50deg]
     258PASS CSS Animations: property <rotate> from [1 -2.5 3.64 100deg] to [1 -2.5 3.64 -100deg] at (1) should be [0.22 -0.55 0.8 -100deg]
     259PASS CSS Animations: property <rotate> from [1 -2.5 3.64 100deg] to [1 -2.5 3.64 -100deg] at (2) should be [0.22 -0.55 0.8 -300deg]
     260PASS Web Animations: property <rotate> from [1 -2.5 3.64 100deg] to [1 -2.5 3.64 -100deg] at (-1) should be [0.22 -0.55 0.8 300deg]
    261261PASS Web Animations: property <rotate> from [1 -2.5 3.64 100deg] to [1 -2.5 3.64 -100deg] at (0) should be [0.22 -0.55 0.8 100deg]
    262 FAIL Web Animations: property <rotate> from [1 -2.5 3.64 100deg] to [1 -2.5 3.64 -100deg] at (0.25) should be [0.22 -0.55 0.8 50deg] assert_equals: expected "0.22 - 0.55 0.8 50deg " but got "0.22 - 0.55 0.8 140deg "
    263 FAIL Web Animations: property <rotate> from [1 -2.5 3.64 100deg] to [1 -2.5 3.64 -100deg] at (0.75) should be [0.22 -0.55 0.8 -50deg] assert_equals: expected "0.22 - 0.55 0.8 - 50deg " but got "- 0.22 0.55 - 0.8 140deg "
    264 FAIL Web Animations: property <rotate> from [1 -2.5 3.64 100deg] to [1 -2.5 3.64 -100deg] at (1) should be [0.22 -0.55 0.8 -100deg] assert_equals: expected "0.22 - 0.55 0.8 - 100deg " but got "- 0.22 0.55 - 0.8 100deg "
    265 FAIL Web Animations: property <rotate> from [1 -2.5 3.64 100deg] to [1 -2.5 3.64 -100deg] at (2) should be [0.22 -0.55 0.8 -300deg] assert_equals: expected "0.22 - 0.55 0.8 - 300deg " but got "0.22 - 0.55 0.8 60deg "
    266 FAIL CSS Transitions: property <rotate> from [1 0 0 0deg] to [0 1 0 10deg] at (-1) should be [0 1 0 -10deg] assert_equals: expected "0 1 0 - 10deg " but got "1 0 0 - 10deg "
     262PASS Web Animations: property <rotate> from [1 -2.5 3.64 100deg] to [1 -2.5 3.64 -100deg] at (0.25) should be [0.22 -0.55 0.8 50deg]
     263PASS Web Animations: property <rotate> from [1 -2.5 3.64 100deg] to [1 -2.5 3.64 -100deg] at (0.75) should be [0.22 -0.55 0.8 -50deg]
     264PASS Web Animations: property <rotate> from [1 -2.5 3.64 100deg] to [1 -2.5 3.64 -100deg] at (1) should be [0.22 -0.55 0.8 -100deg]
     265PASS Web Animations: property <rotate> from [1 -2.5 3.64 100deg] to [1 -2.5 3.64 -100deg] at (2) should be [0.22 -0.55 0.8 -300deg]
     266PASS CSS Transitions: property <rotate> from [1 0 0 0deg] to [0 1 0 10deg] at (-1) should be [0 1 0 -10deg]
    267267PASS CSS Transitions: property <rotate> from [1 0 0 0deg] to [0 1 0 10deg] at (0) should be [0 1 0 0deg]
    268 FAIL CSS Transitions: property <rotate> from [1 0 0 0deg] to [0 1 0 10deg] at (0.25) should be [0 1 0 2.5deg] assert_equals: expected "0 1 0 2.5deg " but got "1 0 0 2.5deg "
    269 FAIL CSS Transitions: property <rotate> from [1 0 0 0deg] to [0 1 0 10deg] at (0.75) should be [0 1 0 7.5deg] assert_equals: expected "0 1 0 7.5deg " but got "1 0 0 7.5deg "
    270 FAIL CSS Transitions: property <rotate> from [1 0 0 0deg] to [0 1 0 10deg] at (1) should be [0 1 0 10deg] assert_equals: expected "0 1 0 10deg " but got "1 0 0 10deg "
    271 FAIL CSS Transitions: property <rotate> from [1 0 0 0deg] to [0 1 0 10deg] at (2) should be [0 1 0 20deg] assert_equals: expected "0 1 0 20deg " but got "1 0 0 20deg "
    272 FAIL CSS Transitions with transition: all: property <rotate> from [1 0 0 0deg] to [0 1 0 10deg] at (-1) should be [0 1 0 -10deg] assert_equals: expected "0 1 0 - 10deg " but got "1 0 0 - 10deg "
     268PASS CSS Transitions: property <rotate> from [1 0 0 0deg] to [0 1 0 10deg] at (0.25) should be [0 1 0 2.5deg]
     269PASS CSS Transitions: property <rotate> from [1 0 0 0deg] to [0 1 0 10deg] at (0.75) should be [0 1 0 7.5deg]
     270PASS CSS Transitions: property <rotate> from [1 0 0 0deg] to [0 1 0 10deg] at (1) should be [0 1 0 10deg]
     271PASS CSS Transitions: property <rotate> from [1 0 0 0deg] to [0 1 0 10deg] at (2) should be [0 1 0 20deg]
     272PASS CSS Transitions with transition: all: property <rotate> from [1 0 0 0deg] to [0 1 0 10deg] at (-1) should be [0 1 0 -10deg]
    273273PASS CSS Transitions with transition: all: property <rotate> from [1 0 0 0deg] to [0 1 0 10deg] at (0) should be [0 1 0 0deg]
    274 FAIL CSS Transitions with transition: all: property <rotate> from [1 0 0 0deg] to [0 1 0 10deg] at (0.25) should be [0 1 0 2.5deg] assert_equals: expected "0 1 0 2.5deg " but got "1 0 0 2.5deg "
    275 FAIL CSS Transitions with transition: all: property <rotate> from [1 0 0 0deg] to [0 1 0 10deg] at (0.75) should be [0 1 0 7.5deg] assert_equals: expected "0 1 0 7.5deg " but got "1 0 0 7.5deg "
    276 FAIL CSS Transitions with transition: all: property <rotate> from [1 0 0 0deg] to [0 1 0 10deg] at (1) should be [0 1 0 10deg] assert_equals: expected "0 1 0 10deg " but got "1 0 0 10deg "
    277 FAIL CSS Transitions with transition: all: property <rotate> from [1 0 0 0deg] to [0 1 0 10deg] at (2) should be [0 1 0 20deg] assert_equals: expected "0 1 0 20deg " but got "1 0 0 20deg "
    278 FAIL CSS Animations: property <rotate> from [1 0 0 0deg] to [0 1 0 10deg] at (-1) should be [0 1 0 -10deg] assert_equals: expected "0 1 0 - 10deg " but got "1 0 0 - 10deg "
     274PASS CSS Transitions with transition: all: property <rotate> from [1 0 0 0deg] to [0 1 0 10deg] at (0.25) should be [0 1 0 2.5deg]
     275PASS CSS Transitions with transition: all: property <rotate> from [1 0 0 0deg] to [0 1 0 10deg] at (0.75) should be [0 1 0 7.5deg]
     276PASS CSS Transitions with transition: all: property <rotate> from [1 0 0 0deg] to [0 1 0 10deg] at (1) should be [0 1 0 10deg]
     277PASS CSS Transitions with transition: all: property <rotate> from [1 0 0 0deg] to [0 1 0 10deg] at (2) should be [0 1 0 20deg]
     278PASS CSS Animations: property <rotate> from [1 0 0 0deg] to [0 1 0 10deg] at (-1) should be [0 1 0 -10deg]
    279279PASS CSS Animations: property <rotate> from [1 0 0 0deg] to [0 1 0 10deg] at (0) should be [0 1 0 0deg]
    280 FAIL CSS Animations: property <rotate> from [1 0 0 0deg] to [0 1 0 10deg] at (0.25) should be [0 1 0 2.5deg] assert_equals: expected "0 1 0 2.5deg " but got "1 0 0 2.5deg "
    281 FAIL CSS Animations: property <rotate> from [1 0 0 0deg] to [0 1 0 10deg] at (0.75) should be [0 1 0 7.5deg] assert_equals: expected "0 1 0 7.5deg " but got "1 0 0 7.5deg "
    282 FAIL CSS Animations: property <rotate> from [1 0 0 0deg] to [0 1 0 10deg] at (1) should be [0 1 0 10deg] assert_equals: expected "0 1 0 10deg " but got "1 0 0 10deg "
    283 FAIL CSS Animations: property <rotate> from [1 0 0 0deg] to [0 1 0 10deg] at (2) should be [0 1 0 20deg] assert_equals: expected "0 1 0 20deg " but got "1 0 0 20deg "
    284 FAIL Web Animations: property <rotate> from [1 0 0 0deg] to [0 1 0 10deg] at (-1) should be [0 1 0 -10deg] assert_equals: expected "0 1 0 - 10deg " but got "1 0 0 - 10deg "
     280PASS CSS Animations: property <rotate> from [1 0 0 0deg] to [0 1 0 10deg] at (0.25) should be [0 1 0 2.5deg]
     281PASS CSS Animations: property <rotate> from [1 0 0 0deg] to [0 1 0 10deg] at (0.75) should be [0 1 0 7.5deg]
     282PASS CSS Animations: property <rotate> from [1 0 0 0deg] to [0 1 0 10deg] at (1) should be [0 1 0 10deg]
     283PASS CSS Animations: property <rotate> from [1 0 0 0deg] to [0 1 0 10deg] at (2) should be [0 1 0 20deg]
     284PASS Web Animations: property <rotate> from [1 0 0 0deg] to [0 1 0 10deg] at (-1) should be [0 1 0 -10deg]
    285285PASS Web Animations: property <rotate> from [1 0 0 0deg] to [0 1 0 10deg] at (0) should be [0 1 0 0deg]
    286 FAIL Web Animations: property <rotate> from [1 0 0 0deg] to [0 1 0 10deg] at (0.25) should be [0 1 0 2.5deg] assert_equals: expected "0 1 0 2.5deg " but got "1 0 0 2.5deg "
    287 FAIL Web Animations: property <rotate> from [1 0 0 0deg] to [0 1 0 10deg] at (0.75) should be [0 1 0 7.5deg] assert_equals: expected "0 1 0 7.5deg " but got "1 0 0 7.5deg "
    288 FAIL Web Animations: property <rotate> from [1 0 0 0deg] to [0 1 0 10deg] at (1) should be [0 1 0 10deg] assert_equals: expected "0 1 0 10deg " but got "1 0 0 10deg "
    289 FAIL Web Animations: property <rotate> from [1 0 0 0deg] to [0 1 0 10deg] at (2) should be [0 1 0 20deg] assert_equals: expected "0 1 0 20deg " but got "1 0 0 20deg "
     286PASS Web Animations: property <rotate> from [1 0 0 0deg] to [0 1 0 10deg] at (0.25) should be [0 1 0 2.5deg]
     287PASS Web Animations: property <rotate> from [1 0 0 0deg] to [0 1 0 10deg] at (0.75) should be [0 1 0 7.5deg]
     288PASS Web Animations: property <rotate> from [1 0 0 0deg] to [0 1 0 10deg] at (1) should be [0 1 0 10deg]
     289PASS Web Animations: property <rotate> from [1 0 0 0deg] to [0 1 0 10deg] at (2) should be [0 1 0 20deg]
    290290FAIL CSS Transitions: property <rotate> from [1 1 0 90deg] to [0 1 1 135deg] at (-1) should be [0.67 -0.06 -0.74 124.97deg] assert_equals: expected "0.67 - 0.06 - 0.74 124.97deg " but got "0.67 - 0.06 - 0.74 124.98deg "
    291291PASS CSS Transitions: property <rotate> from [1 1 0 90deg] to [0 1 1 135deg] at (0) should be [0.71 0.71 0 90deg]
     
    312312PASS Web Animations: property <rotate> from [1 1 0 90deg] to [0 1 1 135deg] at (1) should be [0 0.71 0.71 135deg]
    313313FAIL Web Animations: property <rotate> from [1 1 0 90deg] to [0 1 1 135deg] at (2) should be [-0.52 0.29 0.81 208.96deg] assert_equals: expected "- 0.52 0.29 0.81 208.96deg " but got "0.52 - 0.29 - 0.81 151.04deg "
    314 FAIL CSS Transitions: property <rotate> from [0 1 0 0deg] to [1 0 0 450deg] at (-1) should be [1 0 0 -450deg] assert_equals: expected "1 0 0 - 450deg " but got "0 1 0 - 450deg "
     314PASS CSS Transitions: property <rotate> from [0 1 0 0deg] to [1 0 0 450deg] at (-1) should be [1 0 0 -450deg]
    315315PASS CSS Transitions: property <rotate> from [0 1 0 0deg] to [1 0 0 450deg] at (0) should be [1 0 0 0deg]
    316 FAIL CSS Transitions: property <rotate> from [0 1 0 0deg] to [1 0 0 450deg] at (0.25) should be [1 0 0 112.5deg] assert_equals: expected "1 0 0 112.5deg " but got "0 1 0 112.5deg "
    317 FAIL CSS Transitions: property <rotate> from [0 1 0 0deg] to [1 0 0 450deg] at (0.75) should be [1 0 0 337.5deg] assert_equals: expected "1 0 0 337.5deg " but got "0 1 0 337.5deg "
    318 FAIL CSS Transitions: property <rotate> from [0 1 0 0deg] to [1 0 0 450deg] at (1) should be [1 0 0 450deg] assert_equals: expected "1 0 0 450deg " but got "0 1 0 450deg "
    319 FAIL CSS Transitions: property <rotate> from [0 1 0 0deg] to [1 0 0 450deg] at (2) should be [1 0 0 900deg] assert_equals: expected "1 0 0 900deg " but got "0 1 0 900deg "
    320 FAIL CSS Transitions with transition: all: property <rotate> from [0 1 0 0deg] to [1 0 0 450deg] at (-1) should be [1 0 0 -450deg] assert_equals: expected "1 0 0 - 450deg " but got "0 1 0 - 450deg "
     316PASS CSS Transitions: property <rotate> from [0 1 0 0deg] to [1 0 0 450deg] at (0.25) should be [1 0 0 112.5deg]
     317PASS CSS Transitions: property <rotate> from [0 1 0 0deg] to [1 0 0 450deg] at (0.75) should be [1 0 0 337.5deg]
     318PASS CSS Transitions: property <rotate> from [0 1 0 0deg] to [1 0 0 450deg] at (1) should be [1 0 0 450deg]
     319PASS CSS Transitions: property <rotate> from [0 1 0 0deg] to [1 0 0 450deg] at (2) should be [1 0 0 900deg]
     320PASS CSS Transitions with transition: all: property <rotate> from [0 1 0 0deg] to [1 0 0 450deg] at (-1) should be [1 0 0 -450deg]
    321321PASS CSS Transitions with transition: all: property <rotate> from [0 1 0 0deg] to [1 0 0 450deg] at (0) should be [1 0 0 0deg]
    322 FAIL CSS Transitions with transition: all: property <rotate> from [0 1 0 0deg] to [1 0 0 450deg] at (0.25) should be [1 0 0 112.5deg] assert_equals: expected "1 0 0 112.5deg " but got "0 1 0 112.5deg "
    323 FAIL CSS Transitions with transition: all: property <rotate> from [0 1 0 0deg] to [1 0 0 450deg] at (0.75) should be [1 0 0 337.5deg] assert_equals: expected "1 0 0 337.5deg " but got "0 1 0 337.5deg "
    324 FAIL CSS Transitions with transition: all: property <rotate> from [0 1 0 0deg] to [1 0 0 450deg] at (1) should be [1 0 0 450deg] assert_equals: expected "1 0 0 450deg " but got "0 1 0 450deg "
    325 FAIL CSS Transitions with transition: all: property <rotate> from [0 1 0 0deg] to [1 0 0 450deg] at (2) should be [1 0 0 900deg] assert_equals: expected "1 0 0 900deg " but got "0 1 0 900deg "
    326 FAIL CSS Animations: property <rotate> from [0 1 0 0deg] to [1 0 0 450deg] at (-1) should be [1 0 0 -450deg] assert_equals: expected "1 0 0 - 450deg " but got "0 1 0 - 450deg "
     322PASS CSS Transitions with transition: all: property <rotate> from [0 1 0 0deg] to [1 0 0 450deg] at (0.25) should be [1 0 0 112.5deg]
     323PASS CSS Transitions with transition: all: property <rotate> from [0 1 0 0deg] to [1 0 0 450deg] at (0.75) should be [1 0 0 337.5deg]
     324PASS CSS Transitions with transition: all: property <rotate> from [0 1 0 0deg] to [1 0 0 450deg] at (1) should be [1 0 0 450deg]
     325PASS CSS Transitions with transition: all: property <rotate> from [0 1 0 0deg] to [1 0 0 450deg] at (2) should be [1 0 0 900deg]
     326PASS CSS Animations: property <rotate> from [0 1 0 0deg] to [1 0 0 450deg] at (-1) should be [1 0 0 -450deg]
    327327PASS CSS Animations: property <rotate> from [0 1 0 0deg] to [1 0 0 450deg] at (0) should be [1 0 0 0deg]
    328 FAIL CSS Animations: property <rotate> from [0 1 0 0deg] to [1 0 0 450deg] at (0.25) should be [1 0 0 112.5deg] assert_equals: expected "1 0 0 112.5deg " but got "0 1 0 112.5deg "
    329 FAIL CSS Animations: property <rotate> from [0 1 0 0deg] to [1 0 0 450deg] at (0.75) should be [1 0 0 337.5deg] assert_equals: expected "1 0 0 337.5deg " but got "0 1 0 337.5deg "
    330 FAIL CSS Animations: property <rotate> from [0 1 0 0deg] to [1 0 0 450deg] at (1) should be [1 0 0 450deg] assert_equals: expected "1 0 0 450deg " but got "0 1 0 450deg "
    331 FAIL CSS Animations: property <rotate> from [0 1 0 0deg] to [1 0 0 450deg] at (2) should be [1 0 0 900deg] assert_equals: expected "1 0 0 900deg " but got "0 1 0 900deg "
    332 FAIL Web Animations: property <rotate> from [0 1 0 0deg] to [1 0 0 450deg] at (-1) should be [1 0 0 -450deg] assert_equals: expected "1 0 0 - 450deg " but got "0 1 0 - 450deg "
     328PASS CSS Animations: property <rotate> from [0 1 0 0deg] to [1 0 0 450deg] at (0.25) should be [1 0 0 112.5deg]
     329PASS CSS Animations: property <rotate> from [0 1 0 0deg] to [1 0 0 450deg] at (0.75) should be [1 0 0 337.5deg]
     330PASS CSS Animations: property <rotate> from [0 1 0 0deg] to [1 0 0 450deg] at (1) should be [1 0 0 450deg]
     331PASS CSS Animations: property <rotate> from [0 1 0 0deg] to [1 0 0 450deg] at (2) should be [1 0 0 900deg]
     332PASS Web Animations: property <rotate> from [0 1 0 0deg] to [1 0 0 450deg] at (-1) should be [1 0 0 -450deg]
    333333PASS Web Animations: property <rotate> from [0 1 0 0deg] to [1 0 0 450deg] at (0) should be [1 0 0 0deg]
    334 FAIL Web Animations: property <rotate> from [0 1 0 0deg] to [1 0 0 450deg] at (0.25) should be [1 0 0 112.5deg] assert_equals: expected "1 0 0 112.5deg " but got "0 1 0 112.5deg "
    335 FAIL Web Animations: property <rotate> from [0 1 0 0deg] to [1 0 0 450deg] at (0.75) should be [1 0 0 337.5deg] assert_equals: expected "1 0 0 337.5deg " but got "0 1 0 337.5deg "
    336 FAIL Web Animations: property <rotate> from [0 1 0 0deg] to [1 0 0 450deg] at (1) should be [1 0 0 450deg] assert_equals: expected "1 0 0 450deg " but got "0 1 0 450deg "
    337 FAIL Web Animations: property <rotate> from [0 1 0 0deg] to [1 0 0 450deg] at (2) should be [1 0 0 900deg] assert_equals: expected "1 0 0 900deg " but got "0 1 0 900deg "
     334PASS Web Animations: property <rotate> from [0 1 0 0deg] to [1 0 0 450deg] at (0.25) should be [1 0 0 112.5deg]
     335PASS Web Animations: property <rotate> from [0 1 0 0deg] to [1 0 0 450deg] at (0.75) should be [1 0 0 337.5deg]
     336PASS Web Animations: property <rotate> from [0 1 0 0deg] to [1 0 0 450deg] at (1) should be [1 0 0 450deg]
     337PASS Web Animations: property <rotate> from [0 1 0 0deg] to [1 0 0 450deg] at (2) should be [1 0 0 900deg]
    338338PASS CSS Transitions: property <rotate> from [1 0 0 450deg] to [0 1 0 0deg] at (-1) should be [1 0 0 900deg]
    339339PASS CSS Transitions: property <rotate> from [1 0 0 450deg] to [0 1 0 0deg] at (0) should be [1 0 0 450deg]
  • trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transforms/animation/transform-interpolation-001-expected.txt

    r267650 r276231  
    240240PASS Web Animations: property <transform> from [rotate3d(7, 8, 9, 100deg)] to [rotate3d(7, 8, 9, 260deg)] at (1) should be [rotate3d(7, 8, 9, 260deg)]
    241241PASS Web Animations: property <transform> from [rotate3d(7, 8, 9, 100deg)] to [rotate3d(7, 8, 9, 260deg)] at (2) should be [rotate3d(7, 8, 9, 420deg)]
    242 FAIL CSS Transitions: property <transform> from [rotate3d(7, 8, 9, 0deg)] to [rotate3d(7, 8, 9, 450deg)] at (-1) should be [rotate3d(7, 8, 9, -450deg)] assert_equals: expected "matrix3d ( 0.25 , - 0.36 , 0.9 , 0 , 0.93 , 0.33 , - 0.13 , 0 , - 0.25 , 0.87 , 0.42 , 0 , 0 , 0 , 0 , 1 ) " but got "matrix3d ( 0.25 , 0.93 , - 0.25 , 0 , - 0.36 , 0.33 , 0.87 , 0 , 0.9 , - 0.13 , 0.42 , 0 , 0 , 0 , 0 , 1 ) "
     242PASS CSS Transitions: property <transform> from [rotate3d(7, 8, 9, 0deg)] to [rotate3d(7, 8, 9, 450deg)] at (-1) should be [rotate3d(7, 8, 9, -450deg)]
    243243PASS CSS Transitions: property <transform> from [rotate3d(7, 8, 9, 0deg)] to [rotate3d(7, 8, 9, 450deg)] at (0) should be [rotate3d(7, 8, 9, 0deg)]
    244 FAIL CSS Transitions: property <transform> from [rotate3d(7, 8, 9, 0deg)] to [rotate3d(7, 8, 9, 450deg)] at (0.25) should be [rotate3d(7, 8, 9, 112.5deg)] assert_equals: expected "matrix3d ( - 0.03 , 1 , - 0.08 , 0 , - 0.2 , 0.07 , 0.98 , 0 , 0.98 , 0.05 , 0.19 , 0 , 0 , 0 , 0 , 1 ) " but got "matrix3d ( 0.99 , 0.15 , - 0.04 , 0 , - 0.14 , 0.98 , 0.14 , 0 , 0.06 , - 0.14 , 0.99 , 0 , 0 , 0 , 0 , 1 ) "
    245 FAIL CSS Transitions: property <transform> from [rotate3d(7, 8, 9, 0deg)] to [rotate3d(7, 8, 9, 450deg)] at (0.75) should be [rotate3d(7, 8, 9, 337.5deg)] assert_equals: expected "matrix3d ( 0.94 , - 0.23 , 0.24 , 0 , 0.27 , 0.95 , - 0.16 , 0 , - 0.2 , 0.22 , 0.96 , 0 , 0 , 0 , 0 , 1 ) " but got "matrix3d ( 0.4 , 0.88 , - 0.24 , 0 , - 0.37 , 0.39 , 0.84 , 0 , 0.84 , - 0.25 , 0.49 , 0 , 0 , 0 , 0 , 1 ) "
     244PASS CSS Transitions: property <transform> from [rotate3d(7, 8, 9, 0deg)] to [rotate3d(7, 8, 9, 450deg)] at (0.25) should be [rotate3d(7, 8, 9, 112.5deg)]
     245PASS CSS Transitions: property <transform> from [rotate3d(7, 8, 9, 0deg)] to [rotate3d(7, 8, 9, 450deg)] at (0.75) should be [rotate3d(7, 8, 9, 337.5deg)]
    246246PASS CSS Transitions: property <transform> from [rotate3d(7, 8, 9, 0deg)] to [rotate3d(7, 8, 9, 450deg)] at (1) should be [rotate3d(7, 8, 9, 450deg)]
    247 FAIL CSS Transitions: property <transform> from [rotate3d(7, 8, 9, 0deg)] to [rotate3d(7, 8, 9, 450deg)] at (2) should be [rotate3d(7, 8, 9, 900deg)] assert_equals: expected "matrix3d ( - 0.49 , 0.58 , 0.65 , 0 , 0.58 , - 0.34 , 0.74 , 0 , 0.65 , 0.74 , - 0.16 , 0 , 0 , 0 , 0 , 1 ) " but got "matrix ( 1 , 0 , 0 , 1 , 0 , 0 ) "
    248 FAIL CSS Transitions with transition: all: property <transform> from [rotate3d(7, 8, 9, 0deg)] to [rotate3d(7, 8, 9, 450deg)] at (-1) should be [rotate3d(7, 8, 9, -450deg)] assert_equals: expected "matrix3d ( 0.25 , - 0.36 , 0.9 , 0 , 0.93 , 0.33 , - 0.13 , 0 , - 0.25 , 0.87 , 0.42 , 0 , 0 , 0 , 0 , 1 ) " but got "matrix3d ( 0.25 , 0.93 , - 0.25 , 0 , - 0.36 , 0.33 , 0.87 , 0 , 0.9 , - 0.13 , 0.42 , 0 , 0 , 0 , 0 , 1 ) "
     247PASS CSS Transitions: property <transform> from [rotate3d(7, 8, 9, 0deg)] to [rotate3d(7, 8, 9, 450deg)] at (2) should be [rotate3d(7, 8, 9, 900deg)]
     248PASS CSS Transitions with transition: all: property <transform> from [rotate3d(7, 8, 9, 0deg)] to [rotate3d(7, 8, 9, 450deg)] at (-1) should be [rotate3d(7, 8, 9, -450deg)]
    249249PASS CSS Transitions with transition: all: property <transform> from [rotate3d(7, 8, 9, 0deg)] to [rotate3d(7, 8, 9, 450deg)] at (0) should be [rotate3d(7, 8, 9, 0deg)]
    250 FAIL CSS Transitions with transition: all: property <transform> from [rotate3d(7, 8, 9, 0deg)] to [rotate3d(7, 8, 9, 450deg)] at (0.25) should be [rotate3d(7, 8, 9, 112.5deg)] assert_equals: expected "matrix3d ( - 0.03 , 1 , - 0.08 , 0 , - 0.2 , 0.07 , 0.98 , 0 , 0.98 , 0.05 , 0.19 , 0 , 0 , 0 , 0 , 1 ) " but got "matrix3d ( 0.99 , 0.15 , - 0.04 , 0 , - 0.14 , 0.98 , 0.14 , 0 , 0.06 , - 0.14 , 0.99 , 0 , 0 , 0 , 0 , 1 ) "
    251 FAIL CSS Transitions with transition: all: property <transform> from [rotate3d(7, 8, 9, 0deg)] to [rotate3d(7, 8, 9, 450deg)] at (0.75) should be [rotate3d(7, 8, 9, 337.5deg)] assert_equals: expected "matrix3d ( 0.94 , - 0.23 , 0.24 , 0 , 0.27 , 0.95 , - 0.16 , 0 , - 0.2 , 0.22 , 0.96 , 0 , 0 , 0 , 0 , 1 ) " but got "matrix3d ( 0.4 , 0.88 , - 0.24 , 0 , - 0.37 , 0.39 , 0.84 , 0 , 0.84 , - 0.25 , 0.49 , 0 , 0 , 0 , 0 , 1 ) "
     250PASS CSS Transitions with transition: all: property <transform> from [rotate3d(7, 8, 9, 0deg)] to [rotate3d(7, 8, 9, 450deg)] at (0.25) should be [rotate3d(7, 8, 9, 112.5deg)]
     251PASS CSS Transitions with transition: all: property <transform> from [rotate3d(7, 8, 9, 0deg)] to [rotate3d(7, 8, 9, 450deg)] at (0.75) should be [rotate3d(7, 8, 9, 337.5deg)]
    252252PASS CSS Transitions with transition: all: property <transform> from [rotate3d(7, 8, 9, 0deg)] to [rotate3d(7, 8, 9, 450deg)] at (1) should be [rotate3d(7, 8, 9, 450deg)]
    253 FAIL CSS Transitions with transition: all: property <transform> from [rotate3d(7, 8, 9, 0deg)] to [rotate3d(7, 8, 9, 450deg)] at (2) should be [rotate3d(7, 8, 9, 900deg)] assert_equals: expected "matrix3d ( - 0.49 , 0.58 , 0.65 , 0 , 0.58 , - 0.34 , 0.74 , 0 , 0.65 , 0.74 , - 0.16 , 0 , 0 , 0 , 0 , 1 ) " but got "matrix ( 1 , 0 , 0 , 1 , 0 , 0 ) "
    254 FAIL CSS Animations: property <transform> from [rotate3d(7, 8, 9, 0deg)] to [rotate3d(7, 8, 9, 450deg)] at (-1) should be [rotate3d(7, 8, 9, -450deg)] assert_equals: expected "matrix3d ( 0.25 , - 0.36 , 0.9 , 0 , 0.93 , 0.33 , - 0.13 , 0 , - 0.25 , 0.87 , 0.42 , 0 , 0 , 0 , 0 , 1 ) " but got "matrix3d ( 0.25 , 0.93 , - 0.25 , 0 , - 0.36 , 0.33 , 0.87 , 0 , 0.9 , - 0.13 , 0.42 , 0 , 0 , 0 , 0 , 1 ) "
     253PASS CSS Transitions with transition: all: property <transform> from [rotate3d(7, 8, 9, 0deg)] to [rotate3d(7, 8, 9, 450deg)] at (2) should be [rotate3d(7, 8, 9, 900deg)]
     254PASS CSS Animations: property <transform> from [rotate3d(7, 8, 9, 0deg)] to [rotate3d(7, 8, 9, 450deg)] at (-1) should be [rotate3d(7, 8, 9, -450deg)]
    255255PASS CSS Animations: property <transform> from [rotate3d(7, 8, 9, 0deg)] to [rotate3d(7, 8, 9, 450deg)] at (0) should be [rotate3d(7, 8, 9, 0deg)]
    256 FAIL CSS Animations: property <transform> from [rotate3d(7, 8, 9, 0deg)] to [rotate3d(7, 8, 9, 450deg)] at (0.25) should be [rotate3d(7, 8, 9, 112.5deg)] assert_equals: expected "matrix3d ( - 0.03 , 1 , - 0.08 , 0 , - 0.2 , 0.07 , 0.98 , 0 , 0.98 , 0.05 , 0.19 , 0 , 0 , 0 , 0 , 1 ) " but got "matrix3d ( 0.99 , 0.15 , - 0.04 , 0 , - 0.14 , 0.98 , 0.14 , 0 , 0.06 , - 0.14 , 0.99 , 0 , 0 , 0 , 0 , 1 ) "
    257 FAIL CSS Animations: property <transform> from [rotate3d(7, 8, 9, 0deg)] to [rotate3d(7, 8, 9, 450deg)] at (0.75) should be [rotate3d(7, 8, 9, 337.5deg)] assert_equals: expected "matrix3d ( 0.94 , - 0.23 , 0.24 , 0 , 0.27 , 0.95 , - 0.16 , 0 , - 0.2 , 0.22 , 0.96 , 0 , 0 , 0 , 0 , 1 ) " but got "matrix3d ( 0.4 , 0.88 , - 0.24 , 0 , - 0.37 , 0.39 , 0.84 , 0 , 0.84 , - 0.25 , 0.49 , 0 , 0 , 0 , 0 , 1 ) "
     256PASS CSS Animations: property <transform> from [rotate3d(7, 8, 9, 0deg)] to [rotate3d(7, 8, 9, 450deg)] at (0.25) should be [rotate3d(7, 8, 9, 112.5deg)]
     257PASS CSS Animations: property <transform> from [rotate3d(7, 8, 9, 0deg)] to [rotate3d(7, 8, 9, 450deg)] at (0.75) should be [rotate3d(7, 8, 9, 337.5deg)]
    258258PASS CSS Animations: property <transform> from [rotate3d(7, 8, 9, 0deg)] to [rotate3d(7, 8, 9, 450deg)] at (1) should be [rotate3d(7, 8, 9, 450deg)]
    259 FAIL CSS Animations: property <transform> from [rotate3d(7, 8, 9, 0deg)] to [rotate3d(7, 8, 9, 450deg)] at (2) should be [rotate3d(7, 8, 9, 900deg)] assert_equals: expected "matrix3d ( - 0.49 , 0.58 , 0.65 , 0 , 0.58 , - 0.34 , 0.74 , 0 , 0.65 , 0.74 , - 0.16 , 0 , 0 , 0 , 0 , 1 ) " but got "matrix ( 1 , 0 , 0 , 1 , 0 , 0 ) "
    260 FAIL Web Animations: property <transform> from [rotate3d(7, 8, 9, 0deg)] to [rotate3d(7, 8, 9, 450deg)] at (-1) should be [rotate3d(7, 8, 9, -450deg)] assert_equals: expected "matrix3d ( 0.25 , - 0.36 , 0.9 , 0 , 0.93 , 0.33 , - 0.13 , 0 , - 0.25 , 0.87 , 0.42 , 0 , 0 , 0 , 0 , 1 ) " but got "matrix3d ( 0.25 , 0.93 , - 0.25 , 0 , - 0.36 , 0.33 , 0.87 , 0 , 0.9 , - 0.13 , 0.42 , 0 , 0 , 0 , 0 , 1 ) "
     259PASS CSS Animations: property <transform> from [rotate3d(7, 8, 9, 0deg)] to [rotate3d(7, 8, 9, 450deg)] at (2) should be [rotate3d(7, 8, 9, 900deg)]
     260PASS Web Animations: property <transform> from [rotate3d(7, 8, 9, 0deg)] to [rotate3d(7, 8, 9, 450deg)] at (-1) should be [rotate3d(7, 8, 9, -450deg)]
    261261PASS Web Animations: property <transform> from [rotate3d(7, 8, 9, 0deg)] to [rotate3d(7, 8, 9, 450deg)] at (0) should be [rotate3d(7, 8, 9, 0deg)]
    262 FAIL Web Animations: property <transform> from [rotate3d(7, 8, 9, 0deg)] to [rotate3d(7, 8, 9, 450deg)] at (0.25) should be [rotate3d(7, 8, 9, 112.5deg)] assert_equals: expected "matrix3d ( - 0.03 , 1 , - 0.08 , 0 , - 0.2 , 0.07 , 0.98 , 0 , 0.98 , 0.05 , 0.19 , 0 , 0 , 0 , 0 , 1 ) " but got "matrix3d ( 0.99 , 0.15 , - 0.04 , 0 , - 0.14 , 0.98 , 0.14 , 0 , 0.06 , - 0.14 , 0.99 , 0 , 0 , 0 , 0 , 1 ) "
    263 FAIL Web Animations: property <transform> from [rotate3d(7, 8, 9, 0deg)] to [rotate3d(7, 8, 9, 450deg)] at (0.75) should be [rotate3d(7, 8, 9, 337.5deg)] assert_equals: expected "matrix3d ( 0.94 , - 0.23 , 0.24 , 0 , 0.27 , 0.95 , - 0.16 , 0 , - 0.2 , 0.22 , 0.96 , 0 , 0 , 0 , 0 , 1 ) " but got "matrix3d ( 0.4 , 0.88 , - 0.24 , 0 , - 0.37 , 0.39 , 0.84 , 0 , 0.84 , - 0.25 , 0.49 , 0 , 0 , 0 , 0 , 1 ) "
     262PASS Web Animations: property <transform> from [rotate3d(7, 8, 9, 0deg)] to [rotate3d(7, 8, 9, 450deg)] at (0.25) should be [rotate3d(7, 8, 9, 112.5deg)]
     263PASS Web Animations: property <transform> from [rotate3d(7, 8, 9, 0deg)] to [rotate3d(7, 8, 9, 450deg)] at (0.75) should be [rotate3d(7, 8, 9, 337.5deg)]
    264264PASS Web Animations: property <transform> from [rotate3d(7, 8, 9, 0deg)] to [rotate3d(7, 8, 9, 450deg)] at (1) should be [rotate3d(7, 8, 9, 450deg)]
    265 FAIL Web Animations: property <transform> from [rotate3d(7, 8, 9, 0deg)] to [rotate3d(7, 8, 9, 450deg)] at (2) should be [rotate3d(7, 8, 9, 900deg)] assert_equals: expected "matrix3d ( - 0.49 , 0.58 , 0.65 , 0 , 0.58 , - 0.34 , 0.74 , 0 , 0.65 , 0.74 , - 0.16 , 0 , 0 , 0 , 0 , 1 ) " but got "matrix ( 1 , 0 , 0 , 1 , 0 , 0 ) "
     265PASS Web Animations: property <transform> from [rotate3d(7, 8, 9, 0deg)] to [rotate3d(7, 8, 9, 450deg)] at (2) should be [rotate3d(7, 8, 9, 900deg)]
    266266PASS CSS Transitions: property <transform> from [rotate3d(0, 1, 0, 0deg)] to [rotate3d(0, 1, 0, 450deg)] at (-1) should be [rotate3d(0, 1, 0, -450deg)]
    267267PASS CSS Transitions: property <transform> from [rotate3d(0, 1, 0, 0deg)] to [rotate3d(0, 1, 0, 450deg)] at (0) should be [rotate3d(0, 1, 0, 0deg)]
  • trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-002-expected.txt

    r274355 r276231  
    174174FAIL rotate without rotation axes assert_equals: The value should be -45deg at 0ms expected "-45deg" but got "-90deg"
    175175FAIL rotate with underlying transform assert_equals: The value should be x 45deg at 0ms expected "x 45deg" but got "1 0 0 90deg"
    176 FAIL rotate with different rotation axes assert_approx_equals: expected 0.707107 0 0.707107 90deg but got 0 1 0 90deg: The value should be 0.707107 0 0.707107 90deg at 500ms but got 0 1 0 90deg expected 0.707107 +/- 0.0001 but got 0
     176PASS rotate with different rotation axes
    177177PASS translate (type: translateList) has testAccumulation function
    178178FAIL translate assert_equals: The value should be -100px at 0ms expected "-100px" but got "-200px"
  • trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-002-expected.txt

    r274355 r276231  
    169169FAIL rotate without rotation axes assert_equals: The value should be -45deg at 0ms expected "-45deg" but got "-90deg"
    170170FAIL rotate with underlying transform assert_equals: The value should be y 45deg at 0ms expected "y 45deg" but got "0 1 0 90deg"
    171 FAIL rotate with different rotation axes assert_approx_equals: expected 0.57735 0.57735 0.57735 135deg but got 0 1 0 135deg: The value should be 0.57735 0.57735 0.57735 135deg at 500ms but got 0 1 0 135deg expected 0.57735 +/- 0.0001 but got 0
     171PASS rotate with different rotation axes
    172172PASS translate (type: translateList) has testAddition function
    173173FAIL translate assert_equals: The value should be -100px at 0ms expected "-100px" but got "-200px"
  • trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-002-expected.txt

    r275015 r276231  
    193193PASS transform: mismatch order of translate and rotate
    194194PASS transform: matrix
    195 FAIL transform: rotate3d assert_approx_equals: expected matrix3d(0.853553, 0.146447, -0.5, 0, 0.146447, 0.853553, 0.5, 0, 0.5, -0.5, 0.707107, 0, 0, 0, 0, 1) but got matrix3d(0.866025, 0.288675, -0.408248, 0, 0, 0.816497, 0.57735, 0, 0.5, -0.5, 0.707107, 0, 0, 0, 0, 1): The value should be matrix3d(0.853553, 0.146447, -0.5, 0, 0.146447, 0.853553, 0.5, 0, 0.5, -0.5, 0.707107, 0, 0, 0, 0, 1) at 500ms but got matrix3d(0.866025, 0.288675, -0.408248, 0, 0, 0.816497, 0.57735, 0, 0.5, -0.5, 0.707107, 0, 0, 0, 0, 1) expected 0.853553 +/- 0.0001 but got 0.866025
     195PASS transform: rotate3d
    196196PASS transform: matrix3d
    197197PASS transform: mismatched 3D transforms
     
    213213FAIL rotate with rotation axes assert_equals: The value should be y 45deg at 500ms expected "y 45deg" but got "0 1 0 45deg"
    214214FAIL rotate with rotation axes and range over 360 degrees assert_equals: The value should be y 180deg at 250ms expected "y 180deg" but got "0 1 0 180deg"
    215 FAIL rotate with different rotation axes assert_approx_equals: expected 0 0.707107 0.707107 45deg but got 0 1 0 45deg: The value should be 0 0.707107 0.707107 45deg at 500ms but got 0 1 0 45deg expected 0.707107 +/- 0.0001 but got 1
     215PASS rotate with different rotation axes
    216216PASS translate (type: translateList) has testInterpolation function
    217217PASS translate with two unspecified values
  • trunk/Source/WebCore/ChangeLog

    r276230 r276231  
     12021-04-18  Antoine Quint  <graouts@webkit.org>
     2
     3        Fix interpolation of the rotate CSS property
     4        https://bugs.webkit.org/show_bug.cgi?id=224730
     5
     6        Reviewed by Dean Jackson.
     7
     8        Implement the CSS Transforms spec about animating the rotateZ() function
     9        for the simplified case where only the angle is interpolated.
     10
     11        * platform/graphics/transforms/RotateTransformOperation.cpp:
     12        (WebCore::RotateTransformOperation::blend):
     13
    1142021-04-18  Youenn Fablet  <youenn@apple.com>
    215
  • trunk/Source/WebCore/platform/graphics/transforms/RotateTransformOperation.cpp

    r276141 r276231  
    4747   
    4848    const RotateTransformOperation* fromOp = downcast<RotateTransformOperation>(from);
    49    
    50     // Optimize for single axis rotation
    51     if (!fromOp || (fromOp->m_x == 0 && fromOp->m_y == 0 && fromOp->m_z == 1) ||
    52                    (fromOp->m_x == 0 && fromOp->m_y == 1 && fromOp->m_z == 0) ||
    53                    (fromOp->m_x == 1 && fromOp->m_y == 0 && fromOp->m_z == 0)) {
    54         double fromAngle = fromOp ? fromOp->m_angle : 0;
    55         return RotateTransformOperation::create(fromOp ? fromOp->m_x : m_x,
    56                                                 fromOp ? fromOp->m_y : m_y,
    57                                                 fromOp ? fromOp->m_z : m_z,
    58                                                 WebCore::blend(fromAngle, m_angle, context), type());
     49    const RotateTransformOperation* toOp = this;
     50
     51    // Interpolation of primitives and derived transform functions
     52    //
     53    // https://drafts.csswg.org/css-transforms-2/#interpolation-of-transform-functions
     54    //
     55    // For interpolations with the primitive rotate3d(), the direction vectors of the transform functions get
     56    // normalized first. If the normalized vectors are not equal and both rotation angles are non-zero the transform
     57    // functions get converted into 4x4 matrices first and interpolated as defined in section Interpolation of Matrices
     58    // afterwards. Otherwise the rotation angle gets interpolated numerically and the rotation vector of the non-zero
     59    // angle is used or (0, 0, 1) if both angles are zero.
     60
     61    auto normalizedVector = [](const RotateTransformOperation& op) -> FloatPoint3D {
     62        FloatPoint3D vector { static_cast<float>(op.m_x), static_cast<float>(op.m_y), static_cast<float>(op.m_z) };
     63        vector.normalize();
     64        return vector;
     65    };
     66
     67    double fromAngle = fromOp ? fromOp->m_angle : 0.0;
     68    double toAngle = toOp->m_angle;
     69    auto fromNormalizedVector = fromOp ? normalizedVector(*fromOp) : FloatPoint3D(0, 0, 1);
     70    auto toNormalizedVector = normalizedVector(*toOp);
     71    if (!fromAngle || !toAngle || fromNormalizedVector == toNormalizedVector) {
     72        auto vector = (!fromAngle && toAngle) ? toNormalizedVector : fromNormalizedVector;
     73        return RotateTransformOperation::create(vector.x(), vector.y(), vector.z(), WebCore::blend(fromAngle, toAngle, context), type());
    5974    }
    60 
    61     const RotateTransformOperation* toOp = this;
    6275
    6376    // Create the 2 rotation matrices
Note: See TracChangeset for help on using the changeset viewer.