⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 287815 in webkit


Ignore:
Timestamp:
Jan 8, 2022, 3:40:38 PM (5 years ago)
Author:
Simon Fraser
Message:

Fix some CSS filter interpolation issues
https://bugs.webkit.org/show_bug.cgi?id=235007

Reviewed by Antoine Quint.

LayoutTests/imported/w3c:

More passing now.

  • web-platform-tests/css/filter-effects/animation/filter-interpolation-002-expected.txt:
  • web-platform-tests/css/filter-effects/animation/filter-interpolation-003-expected.txt:
  • web-platform-tests/css/filter-effects/animation/filter-interpolation-004-expected.txt:

Source/WebCore:

Ensure that filter values are clamped after animation according to
https://drafts.fxtf.org/filter-effects-1/.

Tested by WPT.

  • platform/graphics/filters/FilterOperation.cpp:

(WebCore::BasicColorMatrixFilterOperation::blend):
(WebCore::BasicComponentTransferFilterOperation::blend):
(WebCore::BlurFilterOperation::blend):
(WebCore::DropShadowFilterOperation::blend):

LayoutTests:

imported/w3c/web-platform-tests/css/filter-effects/animation/filter-interpolation-004.html no longer asserts.

Location:
trunk
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r287813 r287815  
     12022-01-08  Simon Fraser  <simon.fraser@apple.com>
     2
     3        Fix some CSS filter interpolation issues
     4        https://bugs.webkit.org/show_bug.cgi?id=235007
     5
     6        Reviewed by Antoine Quint.
     7
     8        imported/w3c/web-platform-tests/css/filter-effects/animation/filter-interpolation-004.html no longer asserts.
     9
     10        * TestExpectations:
     11
    1122022-01-07  Simon Fraser  <simon.fraser@apple.com>
    213
  • trunk/LayoutTests/TestExpectations

    r287813 r287815  
    50475047# css/filter-effects
    50485048webkit.org/b/235000 [ Debug ] imported/w3c/web-platform-tests/css/filter-effects/animation/filter-interpolation-003.html [ Skip ]
    5049 webkit.org/b/235000 [ Debug ] imported/w3c/web-platform-tests/css/filter-effects/animation/filter-interpolation-004.html [ Skip ]
    50505049
    50515050imported/w3c/web-platform-tests/css/filter-effects/backdrop-filter-basic-background-color.html [ ImageOnlyFailure ]
     
    50785077imported/w3c/web-platform-tests/css/filter-effects/css-filters-animation-contrast.html [ ImageOnlyFailure ]
    50795078imported/w3c/web-platform-tests/css/filter-effects/css-filters-animation-invert.html [ ImageOnlyFailure ]
    5080 
    50815079imported/w3c/web-platform-tests/css/filter-effects/drop-shadow-clipped-001.html [ ImageOnlyFailure ]
    50825080imported/w3c/web-platform-tests/css/filter-effects/effect-reference-after-001.html [ ImageOnlyFailure ]
  • trunk/LayoutTests/imported/w3c/ChangeLog

    r287813 r287815  
     12022-01-08  Simon Fraser  <simon.fraser@apple.com>
     2
     3        Fix some CSS filter interpolation issues
     4        https://bugs.webkit.org/show_bug.cgi?id=235007
     5
     6        Reviewed by Antoine Quint.
     7
     8        More passing now.
     9
     10        * web-platform-tests/css/filter-effects/animation/filter-interpolation-002-expected.txt:
     11        * web-platform-tests/css/filter-effects/animation/filter-interpolation-003-expected.txt:
     12        * web-platform-tests/css/filter-effects/animation/filter-interpolation-004-expected.txt:
     13
    1142022-01-07  Simon Fraser  <simon.fraser@apple.com>
    215
  • trunk/LayoutTests/imported/w3c/web-platform-tests/css/filter-effects/animation/filter-interpolation-002-expected.txt

    r287813 r287815  
    11
    2 FAIL CSS Transitions: property <filter> from [none] to [opacity(0.5) hue-rotate(180deg)] at (-0.5) should be [opacity(1) hue-rotate(-90deg)] assert_equals: expected "opacity ( 1 ) hue - rotate ( - 90deg ) " but got "opacity ( 1.25 ) hue - rotate ( - 90deg ) "
     2PASS CSS Transitions: property <filter> from [none] to [opacity(0.5) hue-rotate(180deg)] at (-0.5) should be [opacity(1) hue-rotate(-90deg)]
    33PASS CSS Transitions: property <filter> from [none] to [opacity(0.5) hue-rotate(180deg)] at (0) should be [opacity(1) hue-rotate(0deg)]
    44PASS CSS Transitions: property <filter> from [none] to [opacity(0.5) hue-rotate(180deg)] at (0.25) should be [opacity(0.875) hue-rotate(45deg)]
     
    66PASS CSS Transitions: property <filter> from [none] to [opacity(0.5) hue-rotate(180deg)] at (1) should be [opacity(0.5) hue-rotate(180deg)]
    77PASS CSS Transitions: property <filter> from [none] to [opacity(0.5) hue-rotate(180deg)] at (1.5) should be [opacity(0.25) hue-rotate(270deg)]
    8 FAIL CSS Transitions with transition: all: property <filter> from [none] to [opacity(0.5) hue-rotate(180deg)] at (-0.5) should be [opacity(1) hue-rotate(-90deg)] assert_equals: expected "opacity ( 1 ) hue - rotate ( - 90deg ) " but got "opacity ( 1.25 ) hue - rotate ( - 90deg ) "
     8PASS CSS Transitions with transition: all: property <filter> from [none] to [opacity(0.5) hue-rotate(180deg)] at (-0.5) should be [opacity(1) hue-rotate(-90deg)]
    99PASS CSS Transitions with transition: all: property <filter> from [none] to [opacity(0.5) hue-rotate(180deg)] at (0) should be [opacity(1) hue-rotate(0deg)]
    1010PASS CSS Transitions with transition: all: property <filter> from [none] to [opacity(0.5) hue-rotate(180deg)] at (0.25) should be [opacity(0.875) hue-rotate(45deg)]
     
    1212PASS CSS Transitions with transition: all: property <filter> from [none] to [opacity(0.5) hue-rotate(180deg)] at (1) should be [opacity(0.5) hue-rotate(180deg)]
    1313PASS CSS Transitions with transition: all: property <filter> from [none] to [opacity(0.5) hue-rotate(180deg)] at (1.5) should be [opacity(0.25) hue-rotate(270deg)]
    14 FAIL CSS Animations: property <filter> from [none] to [opacity(0.5) hue-rotate(180deg)] at (-0.5) should be [opacity(1) hue-rotate(-90deg)] assert_equals: expected "opacity ( 1 ) hue - rotate ( - 90deg ) " but got "opacity ( 1.25 ) hue - rotate ( - 90deg ) "
     14PASS CSS Animations: property <filter> from [none] to [opacity(0.5) hue-rotate(180deg)] at (-0.5) should be [opacity(1) hue-rotate(-90deg)]
    1515PASS CSS Animations: property <filter> from [none] to [opacity(0.5) hue-rotate(180deg)] at (0) should be [opacity(1) hue-rotate(0deg)]
    1616PASS CSS Animations: property <filter> from [none] to [opacity(0.5) hue-rotate(180deg)] at (0.25) should be [opacity(0.875) hue-rotate(45deg)]
     
    1818PASS CSS Animations: property <filter> from [none] to [opacity(0.5) hue-rotate(180deg)] at (1) should be [opacity(0.5) hue-rotate(180deg)]
    1919PASS CSS Animations: property <filter> from [none] to [opacity(0.5) hue-rotate(180deg)] at (1.5) should be [opacity(0.25) hue-rotate(270deg)]
    20 FAIL Web Animations: property <filter> from [none] to [opacity(0.5) hue-rotate(180deg)] at (-0.5) should be [opacity(1) hue-rotate(-90deg)] assert_equals: expected "opacity ( 1 ) hue - rotate ( - 90deg ) " but got "opacity ( 1.25 ) hue - rotate ( - 90deg ) "
     20PASS Web Animations: property <filter> from [none] to [opacity(0.5) hue-rotate(180deg)] at (-0.5) should be [opacity(1) hue-rotate(-90deg)]
    2121PASS Web Animations: property <filter> from [none] to [opacity(0.5) hue-rotate(180deg)] at (0) should be [opacity(1) hue-rotate(0deg)]
    2222PASS Web Animations: property <filter> from [none] to [opacity(0.5) hue-rotate(180deg)] at (0.25) should be [opacity(0.875) hue-rotate(45deg)]
  • trunk/LayoutTests/imported/w3c/web-platform-tests/css/filter-effects/animation/filter-interpolation-003-expected.txt

    r287813 r287815  
    11
    2 FAIL CSS Transitions: property <filter> from [none] to [blur(10px)] at (-1) should be [blur(0px)] assert_equals: expected "blur ( 0px ) " but got "blur ( - 10px ) "
     2PASS CSS Transitions: property <filter> from [none] to [blur(10px)] at (-1) should be [blur(0px)]
    33PASS CSS Transitions: property <filter> from [none] to [blur(10px)] at (0) should be [blur(0px)]
    44PASS CSS Transitions: property <filter> from [none] to [blur(10px)] at (0.5) should be [blur(5px)]
    55PASS CSS Transitions: property <filter> from [none] to [blur(10px)] at (1) should be [blur(10px)]
    66PASS CSS Transitions: property <filter> from [none] to [blur(10px)] at (1.5) should be [blur(15px)]
    7 FAIL CSS Transitions with transition: all: property <filter> from [none] to [blur(10px)] at (-1) should be [blur(0px)] assert_equals: expected "blur ( 0px ) " but got "blur ( - 10px ) "
     7PASS CSS Transitions with transition: all: property <filter> from [none] to [blur(10px)] at (-1) should be [blur(0px)]
    88PASS CSS Transitions with transition: all: property <filter> from [none] to [blur(10px)] at (0) should be [blur(0px)]
    99PASS CSS Transitions with transition: all: property <filter> from [none] to [blur(10px)] at (0.5) should be [blur(5px)]
    1010PASS CSS Transitions with transition: all: property <filter> from [none] to [blur(10px)] at (1) should be [blur(10px)]
    1111PASS CSS Transitions with transition: all: property <filter> from [none] to [blur(10px)] at (1.5) should be [blur(15px)]
    12 FAIL CSS Animations: property <filter> from [none] to [blur(10px)] at (-1) should be [blur(0px)] assert_equals: expected "blur ( 0px ) " but got "blur ( - 10px ) "
     12PASS CSS Animations: property <filter> from [none] to [blur(10px)] at (-1) should be [blur(0px)]
    1313PASS CSS Animations: property <filter> from [none] to [blur(10px)] at (0) should be [blur(0px)]
    1414PASS CSS Animations: property <filter> from [none] to [blur(10px)] at (0.5) should be [blur(5px)]
    1515PASS CSS Animations: property <filter> from [none] to [blur(10px)] at (1) should be [blur(10px)]
    1616PASS CSS Animations: property <filter> from [none] to [blur(10px)] at (1.5) should be [blur(15px)]
    17 FAIL Web Animations: property <filter> from [none] to [blur(10px)] at (-1) should be [blur(0px)] assert_equals: expected "blur ( 0px ) " but got "blur ( - 10px ) "
     17PASS Web Animations: property <filter> from [none] to [blur(10px)] at (-1) should be [blur(0px)]
    1818PASS Web Animations: property <filter> from [none] to [blur(10px)] at (0) should be [blur(0px)]
    1919PASS Web Animations: property <filter> from [none] to [blur(10px)] at (0.5) should be [blur(5px)]
     
    8080PASS Web Animations: property <filter> from [none] to [drop-shadow(20px 10px green)] at (1) should be [drop-shadow(20px 10px green)]
    8181PASS Web Animations: property <filter> from [none] to [drop-shadow(20px 10px green)] at (1.5) should be [drop-shadow(30px 15px #00C000)]
    82 FAIL CSS Transitions: property <filter> from [none] to [grayscale(1)] at (-1) should be [grayscale(0)] assert_equals: expected "grayscale ( 0 ) " but got "grayscale ( - 1 ) "
     82PASS CSS Transitions: property <filter> from [none] to [grayscale(1)] at (-1) should be [grayscale(0)]
    8383PASS CSS Transitions: property <filter> from [none] to [grayscale(1)] at (0) should be [grayscale(0)]
    8484PASS CSS Transitions: property <filter> from [none] to [grayscale(1)] at (0.5) should be [grayscale(0.5)]
    8585PASS CSS Transitions: property <filter> from [none] to [grayscale(1)] at (1) should be [grayscale(1)]
    86 FAIL CSS Transitions: property <filter> from [none] to [grayscale(1)] at (1.5) should be [grayscale(1)] assert_equals: expected "grayscale ( 1 ) " but got "grayscale ( 1.5 ) "
    87 FAIL CSS Transitions with transition: all: property <filter> from [none] to [grayscale(1)] at (-1) should be [grayscale(0)] assert_equals: expected "grayscale ( 0 ) " but got "grayscale ( - 1 ) "
     86PASS CSS Transitions: property <filter> from [none] to [grayscale(1)] at (1.5) should be [grayscale(1)]
     87PASS CSS Transitions with transition: all: property <filter> from [none] to [grayscale(1)] at (-1) should be [grayscale(0)]
    8888PASS CSS Transitions with transition: all: property <filter> from [none] to [grayscale(1)] at (0) should be [grayscale(0)]
    8989PASS CSS Transitions with transition: all: property <filter> from [none] to [grayscale(1)] at (0.5) should be [grayscale(0.5)]
    9090PASS CSS Transitions with transition: all: property <filter> from [none] to [grayscale(1)] at (1) should be [grayscale(1)]
    91 FAIL CSS Transitions with transition: all: property <filter> from [none] to [grayscale(1)] at (1.5) should be [grayscale(1)] assert_equals: expected "grayscale ( 1 ) " but got "grayscale ( 1.5 ) "
    92 FAIL CSS Animations: property <filter> from [none] to [grayscale(1)] at (-1) should be [grayscale(0)] assert_equals: expected "grayscale ( 0 ) " but got "grayscale ( - 1 ) "
     91PASS CSS Transitions with transition: all: property <filter> from [none] to [grayscale(1)] at (1.5) should be [grayscale(1)]
     92PASS CSS Animations: property <filter> from [none] to [grayscale(1)] at (-1) should be [grayscale(0)]
    9393PASS CSS Animations: property <filter> from [none] to [grayscale(1)] at (0) should be [grayscale(0)]
    9494PASS CSS Animations: property <filter> from [none] to [grayscale(1)] at (0.5) should be [grayscale(0.5)]
    9595PASS CSS Animations: property <filter> from [none] to [grayscale(1)] at (1) should be [grayscale(1)]
    96 FAIL CSS Animations: property <filter> from [none] to [grayscale(1)] at (1.5) should be [grayscale(1)] assert_equals: expected "grayscale ( 1 ) " but got "grayscale ( 1.5 ) "
    97 FAIL Web Animations: property <filter> from [none] to [grayscale(1)] at (-1) should be [grayscale(0)] assert_equals: expected "grayscale ( 0 ) " but got "grayscale ( - 1 ) "
     96PASS CSS Animations: property <filter> from [none] to [grayscale(1)] at (1.5) should be [grayscale(1)]
     97PASS Web Animations: property <filter> from [none] to [grayscale(1)] at (-1) should be [grayscale(0)]
    9898PASS Web Animations: property <filter> from [none] to [grayscale(1)] at (0) should be [grayscale(0)]
    9999PASS Web Animations: property <filter> from [none] to [grayscale(1)] at (0.5) should be [grayscale(0.5)]
    100100PASS Web Animations: property <filter> from [none] to [grayscale(1)] at (1) should be [grayscale(1)]
    101 FAIL Web Animations: property <filter> from [none] to [grayscale(1)] at (1.5) should be [grayscale(1)] assert_equals: expected "grayscale ( 1 ) " but got "grayscale ( 1.5 ) "
     101PASS Web Animations: property <filter> from [none] to [grayscale(1)] at (1.5) should be [grayscale(1)]
    102102PASS CSS Transitions: property <filter> from [none] to [hue-rotate(360deg)] at (-1) should be [hue-rotate(-360deg)]
    103103PASS CSS Transitions: property <filter> from [none] to [hue-rotate(360deg)] at (0) should be [hue-rotate(0deg)]
     
    120120PASS Web Animations: property <filter> from [none] to [hue-rotate(360deg)] at (1) should be [hue-rotate(360deg)]
    121121PASS Web Animations: property <filter> from [none] to [hue-rotate(360deg)] at (1.5) should be [hue-rotate(540deg)]
    122 FAIL CSS Transitions: property <filter> from [none] to [invert(1)] at (-1) should be [invert(0)] assert_equals: expected "invert ( 0 ) " but got "invert ( - 1 ) "
     122PASS CSS Transitions: property <filter> from [none] to [invert(1)] at (-1) should be [invert(0)]
    123123PASS CSS Transitions: property <filter> from [none] to [invert(1)] at (0) should be [invert(0)]
    124124PASS CSS Transitions: property <filter> from [none] to [invert(1)] at (0.5) should be [invert(0.5)]
    125125PASS CSS Transitions: property <filter> from [none] to [invert(1)] at (1) should be [invert(1)]
    126 FAIL CSS Transitions: property <filter> from [none] to [invert(1)] at (1.5) should be [invert(1)] assert_equals: expected "invert ( 1 ) " but got "invert ( 1.5 ) "
    127 FAIL CSS Transitions with transition: all: property <filter> from [none] to [invert(1)] at (-1) should be [invert(0)] assert_equals: expected "invert ( 0 ) " but got "invert ( - 1 ) "
     126PASS CSS Transitions: property <filter> from [none] to [invert(1)] at (1.5) should be [invert(1)]
     127PASS CSS Transitions with transition: all: property <filter> from [none] to [invert(1)] at (-1) should be [invert(0)]
    128128PASS CSS Transitions with transition: all: property <filter> from [none] to [invert(1)] at (0) should be [invert(0)]
    129129PASS CSS Transitions with transition: all: property <filter> from [none] to [invert(1)] at (0.5) should be [invert(0.5)]
    130130PASS CSS Transitions with transition: all: property <filter> from [none] to [invert(1)] at (1) should be [invert(1)]
    131 FAIL CSS Transitions with transition: all: property <filter> from [none] to [invert(1)] at (1.5) should be [invert(1)] assert_equals: expected "invert ( 1 ) " but got "invert ( 1.5 ) "
    132 FAIL CSS Animations: property <filter> from [none] to [invert(1)] at (-1) should be [invert(0)] assert_equals: expected "invert ( 0 ) " but got "invert ( - 1 ) "
     131PASS CSS Transitions with transition: all: property <filter> from [none] to [invert(1)] at (1.5) should be [invert(1)]
     132PASS CSS Animations: property <filter> from [none] to [invert(1)] at (-1) should be [invert(0)]
    133133PASS CSS Animations: property <filter> from [none] to [invert(1)] at (0) should be [invert(0)]
    134134PASS CSS Animations: property <filter> from [none] to [invert(1)] at (0.5) should be [invert(0.5)]
    135135PASS CSS Animations: property <filter> from [none] to [invert(1)] at (1) should be [invert(1)]
    136 FAIL CSS Animations: property <filter> from [none] to [invert(1)] at (1.5) should be [invert(1)] assert_equals: expected "invert ( 1 ) " but got "invert ( 1.5 ) "
    137 FAIL Web Animations: property <filter> from [none] to [invert(1)] at (-1) should be [invert(0)] assert_equals: expected "invert ( 0 ) " but got "invert ( - 1 ) "
     136PASS CSS Animations: property <filter> from [none] to [invert(1)] at (1.5) should be [invert(1)]
     137PASS Web Animations: property <filter> from [none] to [invert(1)] at (-1) should be [invert(0)]
    138138PASS Web Animations: property <filter> from [none] to [invert(1)] at (0) should be [invert(0)]
    139139PASS Web Animations: property <filter> from [none] to [invert(1)] at (0.5) should be [invert(0.5)]
    140140PASS Web Animations: property <filter> from [none] to [invert(1)] at (1) should be [invert(1)]
    141 FAIL Web Animations: property <filter> from [none] to [invert(1)] at (1.5) should be [invert(1)] assert_equals: expected "invert ( 1 ) " but got "invert ( 1.5 ) "
     141PASS Web Animations: property <filter> from [none] to [invert(1)] at (1.5) should be [invert(1)]
    142142FAIL CSS Transitions: property <filter> from [opacity(0)] to [none] at (-1) should be [opacity(0)] assert_equals: expected "opacity ( 0 ) " but got "opacity ( - 1 ) "
    143143PASS CSS Transitions: property <filter> from [opacity(0)] to [none] at (0) should be [opacity(0)]
     
    180180PASS Web Animations: property <filter> from [saturate(0)] to [none] at (1) should be [saturate(1)]
    181181PASS Web Animations: property <filter> from [saturate(0)] to [none] at (1.5) should be [saturate(1.5)]
    182 FAIL CSS Transitions: property <filter> from [none] to [sepia(1)] at (-1) should be [sepia(0)] assert_equals: expected "sepia ( 0 ) " but got "sepia ( - 1 ) "
     182PASS CSS Transitions: property <filter> from [none] to [sepia(1)] at (-1) should be [sepia(0)]
    183183PASS CSS Transitions: property <filter> from [none] to [sepia(1)] at (0) should be [sepia(0)]
    184184PASS CSS Transitions: property <filter> from [none] to [sepia(1)] at (0.5) should be [sepia(0.5)]
    185185PASS CSS Transitions: property <filter> from [none] to [sepia(1)] at (1) should be [sepia(1)]
    186 FAIL CSS Transitions: property <filter> from [none] to [sepia(1)] at (1.5) should be [sepia(1)] assert_equals: expected "sepia ( 1 ) " but got "sepia ( 1.5 ) "
    187 FAIL CSS Transitions with transition: all: property <filter> from [none] to [sepia(1)] at (-1) should be [sepia(0)] assert_equals: expected "sepia ( 0 ) " but got "sepia ( - 1 ) "
     186PASS CSS Transitions: property <filter> from [none] to [sepia(1)] at (1.5) should be [sepia(1)]
     187PASS CSS Transitions with transition: all: property <filter> from [none] to [sepia(1)] at (-1) should be [sepia(0)]
    188188PASS CSS Transitions with transition: all: property <filter> from [none] to [sepia(1)] at (0) should be [sepia(0)]
    189189PASS CSS Transitions with transition: all: property <filter> from [none] to [sepia(1)] at (0.5) should be [sepia(0.5)]
    190190PASS CSS Transitions with transition: all: property <filter> from [none] to [sepia(1)] at (1) should be [sepia(1)]
    191 FAIL CSS Transitions with transition: all: property <filter> from [none] to [sepia(1)] at (1.5) should be [sepia(1)] assert_equals: expected "sepia ( 1 ) " but got "sepia ( 1.5 ) "
    192 FAIL CSS Animations: property <filter> from [none] to [sepia(1)] at (-1) should be [sepia(0)] assert_equals: expected "sepia ( 0 ) " but got "sepia ( - 1 ) "
     191PASS CSS Transitions with transition: all: property <filter> from [none] to [sepia(1)] at (1.5) should be [sepia(1)]
     192PASS CSS Animations: property <filter> from [none] to [sepia(1)] at (-1) should be [sepia(0)]
    193193PASS CSS Animations: property <filter> from [none] to [sepia(1)] at (0) should be [sepia(0)]
    194194PASS CSS Animations: property <filter> from [none] to [sepia(1)] at (0.5) should be [sepia(0.5)]
    195195PASS CSS Animations: property <filter> from [none] to [sepia(1)] at (1) should be [sepia(1)]
    196 FAIL CSS Animations: property <filter> from [none] to [sepia(1)] at (1.5) should be [sepia(1)] assert_equals: expected "sepia ( 1 ) " but got "sepia ( 1.5 ) "
    197 FAIL Web Animations: property <filter> from [none] to [sepia(1)] at (-1) should be [sepia(0)] assert_equals: expected "sepia ( 0 ) " but got "sepia ( - 1 ) "
     196PASS CSS Animations: property <filter> from [none] to [sepia(1)] at (1.5) should be [sepia(1)]
     197PASS Web Animations: property <filter> from [none] to [sepia(1)] at (-1) should be [sepia(0)]
    198198PASS Web Animations: property <filter> from [none] to [sepia(1)] at (0) should be [sepia(0)]
    199199PASS Web Animations: property <filter> from [none] to [sepia(1)] at (0.5) should be [sepia(0.5)]
    200200PASS Web Animations: property <filter> from [none] to [sepia(1)] at (1) should be [sepia(1)]
    201 FAIL Web Animations: property <filter> from [none] to [sepia(1)] at (1.5) should be [sepia(1)] assert_equals: expected "sepia ( 1 ) " but got "sepia ( 1.5 ) "
     201PASS Web Animations: property <filter> from [none] to [sepia(1)] at (1.5) should be [sepia(1)]
    202202FAIL CSS Transitions: property <filter> from [url("#svgfilter")] to [none] at (-0.3) should be [none] assert_equals: expected "none " but got "url ( \" # svgfilter \" ) "
    203203FAIL CSS Transitions: property <filter> from [url("#svgfilter")] to [none] at (0) should be [none] assert_equals: expected "none " but got "url ( \" # svgfilter \" ) "
     
    256256PASS Web Animations: property <filter> from [url("#svgfilter")] to [blur(5px)] at (1) should be [blur(5px)]
    257257PASS Web Animations: property <filter> from [url("#svgfilter")] to [blur(5px)] at (1.5) should be [blur(5px)]
    258 FAIL CSS Transitions: property <filter> from [initial] to [sepia(1)] at (-1) should be [sepia(0)] assert_equals: expected "sepia ( 0 ) " but got "sepia ( - 1 ) "
     258PASS CSS Transitions: property <filter> from [initial] to [sepia(1)] at (-1) should be [sepia(0)]
    259259PASS CSS Transitions: property <filter> from [initial] to [sepia(1)] at (0) should be [sepia(0)]
    260260PASS CSS Transitions: property <filter> from [initial] to [sepia(1)] at (0.5) should be [sepia(0.5)]
    261261PASS CSS Transitions: property <filter> from [initial] to [sepia(1)] at (1) should be [sepia(1)]
    262 FAIL CSS Transitions: property <filter> from [initial] to [sepia(1)] at (1.5) should be [sepia(1)] assert_equals: expected "sepia ( 1 ) " but got "sepia ( 1.5 ) "
    263 FAIL CSS Transitions with transition: all: property <filter> from [initial] to [sepia(1)] at (-1) should be [sepia(0)] assert_equals: expected "sepia ( 0 ) " but got "sepia ( - 1 ) "
     262PASS CSS Transitions: property <filter> from [initial] to [sepia(1)] at (1.5) should be [sepia(1)]
     263PASS CSS Transitions with transition: all: property <filter> from [initial] to [sepia(1)] at (-1) should be [sepia(0)]
    264264PASS CSS Transitions with transition: all: property <filter> from [initial] to [sepia(1)] at (0) should be [sepia(0)]
    265265PASS CSS Transitions with transition: all: property <filter> from [initial] to [sepia(1)] at (0.5) should be [sepia(0.5)]
    266266PASS CSS Transitions with transition: all: property <filter> from [initial] to [sepia(1)] at (1) should be [sepia(1)]
    267 FAIL CSS Transitions with transition: all: property <filter> from [initial] to [sepia(1)] at (1.5) should be [sepia(1)] assert_equals: expected "sepia ( 1 ) " but got "sepia ( 1.5 ) "
    268 FAIL CSS Animations: property <filter> from [initial] to [sepia(1)] at (-1) should be [sepia(0)] assert_equals: expected "sepia ( 0 ) " but got "sepia ( - 1 ) "
     267PASS CSS Transitions with transition: all: property <filter> from [initial] to [sepia(1)] at (1.5) should be [sepia(1)]
     268PASS CSS Animations: property <filter> from [initial] to [sepia(1)] at (-1) should be [sepia(0)]
    269269PASS CSS Animations: property <filter> from [initial] to [sepia(1)] at (0) should be [sepia(0)]
    270270PASS CSS Animations: property <filter> from [initial] to [sepia(1)] at (0.5) should be [sepia(0.5)]
    271271PASS CSS Animations: property <filter> from [initial] to [sepia(1)] at (1) should be [sepia(1)]
    272 FAIL CSS Animations: property <filter> from [initial] to [sepia(1)] at (1.5) should be [sepia(1)] assert_equals: expected "sepia ( 1 ) " but got "sepia ( 1.5 ) "
    273 FAIL Web Animations: property <filter> from [initial] to [sepia(1)] at (-1) should be [sepia(0)] assert_equals: expected "sepia ( 0 ) " but got "sepia ( - 1 ) "
     272PASS CSS Animations: property <filter> from [initial] to [sepia(1)] at (1.5) should be [sepia(1)]
     273PASS Web Animations: property <filter> from [initial] to [sepia(1)] at (-1) should be [sepia(0)]
    274274PASS Web Animations: property <filter> from [initial] to [sepia(1)] at (0) should be [sepia(0)]
    275275PASS Web Animations: property <filter> from [initial] to [sepia(1)] at (0.5) should be [sepia(0.5)]
    276276PASS Web Animations: property <filter> from [initial] to [sepia(1)] at (1) should be [sepia(1)]
    277 FAIL Web Animations: property <filter> from [initial] to [sepia(1)] at (1.5) should be [sepia(1)] assert_equals: expected "sepia ( 1 ) " but got "sepia ( 1.5 ) "
     277PASS Web Animations: property <filter> from [initial] to [sepia(1)] at (1.5) should be [sepia(1)]
    278278
  • trunk/LayoutTests/imported/w3c/web-platform-tests/css/filter-effects/animation/filter-interpolation-004-expected.txt

    r287813 r287815  
    11
    2 FAIL CSS Transitions: property <filter> from [blur()] to [blur(10px)] at (-1) should be [blur(0px)] assert_equals: expected "blur ( 0px ) " but got "blur ( - 10px ) "
     2PASS CSS Transitions: property <filter> from [blur()] to [blur(10px)] at (-1) should be [blur(0px)]
    33PASS CSS Transitions: property <filter> from [blur()] to [blur(10px)] at (0) should be [blur()]
    44PASS CSS Transitions: property <filter> from [blur()] to [blur(10px)] at (0.5) should be [blur(5px)]
    55PASS CSS Transitions: property <filter> from [blur()] to [blur(10px)] at (1) should be [blur(10px)]
    66PASS CSS Transitions: property <filter> from [blur()] to [blur(10px)] at (1.5) should be [blur(15px)]
    7 FAIL CSS Transitions with transition: all: property <filter> from [blur()] to [blur(10px)] at (-1) should be [blur(0px)] assert_equals: expected "blur ( 0px ) " but got "blur ( - 10px ) "
     7PASS CSS Transitions with transition: all: property <filter> from [blur()] to [blur(10px)] at (-1) should be [blur(0px)]
    88PASS CSS Transitions with transition: all: property <filter> from [blur()] to [blur(10px)] at (0) should be [blur()]
    99PASS CSS Transitions with transition: all: property <filter> from [blur()] to [blur(10px)] at (0.5) should be [blur(5px)]
    1010PASS CSS Transitions with transition: all: property <filter> from [blur()] to [blur(10px)] at (1) should be [blur(10px)]
    1111PASS CSS Transitions with transition: all: property <filter> from [blur()] to [blur(10px)] at (1.5) should be [blur(15px)]
    12 FAIL CSS Animations: property <filter> from [blur()] to [blur(10px)] at (-1) should be [blur(0px)] assert_equals: expected "blur ( 0px ) " but got "blur ( - 10px ) "
     12PASS CSS Animations: property <filter> from [blur()] to [blur(10px)] at (-1) should be [blur(0px)]
    1313PASS CSS Animations: property <filter> from [blur()] to [blur(10px)] at (0) should be [blur()]
    1414PASS CSS Animations: property <filter> from [blur()] to [blur(10px)] at (0.5) should be [blur(5px)]
    1515PASS CSS Animations: property <filter> from [blur()] to [blur(10px)] at (1) should be [blur(10px)]
    1616PASS CSS Animations: property <filter> from [blur()] to [blur(10px)] at (1.5) should be [blur(15px)]
    17 FAIL Web Animations: property <filter> from [blur()] to [blur(10px)] at (-1) should be [blur(0px)] assert_equals: expected "blur ( 0px ) " but got "blur ( - 10px ) "
     17PASS Web Animations: property <filter> from [blur()] to [blur(10px)] at (-1) should be [blur(0px)]
    1818PASS Web Animations: property <filter> from [blur()] to [blur(10px)] at (0) should be [blur()]
    1919PASS Web Animations: property <filter> from [blur()] to [blur(10px)] at (0.5) should be [blur(5px)]
    2020PASS Web Animations: property <filter> from [blur()] to [blur(10px)] at (1) should be [blur(10px)]
    2121PASS Web Animations: property <filter> from [blur()] to [blur(10px)] at (1.5) should be [blur(15px)]
    22 FAIL CSS Transitions: property <filter> from [brightness(0)] to [brightness()] at (-1) should be [brightness(0)] assert_equals: expected "brightness ( 0 ) " but got "brightness ( - 1 ) "
     22PASS CSS Transitions: property <filter> from [brightness(0)] to [brightness()] at (-1) should be [brightness(0)]
    2323PASS CSS Transitions: property <filter> from [brightness(0)] to [brightness()] at (0) should be [brightness(0)]
    2424PASS CSS Transitions: property <filter> from [brightness(0)] to [brightness()] at (0.5) should be [brightness(0.5)]
    2525PASS CSS Transitions: property <filter> from [brightness(0)] to [brightness()] at (1) should be [brightness()]
    2626PASS CSS Transitions: property <filter> from [brightness(0)] to [brightness()] at (1.5) should be [brightness(1.5)]
    27 FAIL CSS Transitions with transition: all: property <filter> from [brightness(0)] to [brightness()] at (-1) should be [brightness(0)] assert_equals: expected "brightness ( 0 ) " but got "brightness ( - 1 ) "
     27PASS CSS Transitions with transition: all: property <filter> from [brightness(0)] to [brightness()] at (-1) should be [brightness(0)]
    2828PASS CSS Transitions with transition: all: property <filter> from [brightness(0)] to [brightness()] at (0) should be [brightness(0)]
    2929PASS CSS Transitions with transition: all: property <filter> from [brightness(0)] to [brightness()] at (0.5) should be [brightness(0.5)]
    3030PASS CSS Transitions with transition: all: property <filter> from [brightness(0)] to [brightness()] at (1) should be [brightness()]
    3131PASS CSS Transitions with transition: all: property <filter> from [brightness(0)] to [brightness()] at (1.5) should be [brightness(1.5)]
    32 FAIL CSS Animations: property <filter> from [brightness(0)] to [brightness()] at (-1) should be [brightness(0)] assert_equals: expected "brightness ( 0 ) " but got "brightness ( - 1 ) "
     32PASS CSS Animations: property <filter> from [brightness(0)] to [brightness()] at (-1) should be [brightness(0)]
    3333PASS CSS Animations: property <filter> from [brightness(0)] to [brightness()] at (0) should be [brightness(0)]
    3434PASS CSS Animations: property <filter> from [brightness(0)] to [brightness()] at (0.5) should be [brightness(0.5)]
    3535PASS CSS Animations: property <filter> from [brightness(0)] to [brightness()] at (1) should be [brightness()]
    3636PASS CSS Animations: property <filter> from [brightness(0)] to [brightness()] at (1.5) should be [brightness(1.5)]
    37 FAIL Web Animations: property <filter> from [brightness(0)] to [brightness()] at (-1) should be [brightness(0)] assert_equals: expected "brightness ( 0 ) " but got "brightness ( - 1 ) "
     37PASS Web Animations: property <filter> from [brightness(0)] to [brightness()] at (-1) should be [brightness(0)]
    3838PASS Web Animations: property <filter> from [brightness(0)] to [brightness()] at (0) should be [brightness(0)]
    3939PASS Web Animations: property <filter> from [brightness(0)] to [brightness()] at (0.5) should be [brightness(0.5)]
    4040PASS Web Animations: property <filter> from [brightness(0)] to [brightness()] at (1) should be [brightness()]
    4141PASS Web Animations: property <filter> from [brightness(0)] to [brightness()] at (1.5) should be [brightness(1.5)]
    42 FAIL CSS Transitions: property <filter> from [contrast(0)] to [contrast()] at (-1) should be [contrast(0)] assert_equals: expected "contrast ( 0 ) " but got "contrast ( - 1 ) "
     42PASS CSS Transitions: property <filter> from [contrast(0)] to [contrast()] at (-1) should be [contrast(0)]
    4343PASS CSS Transitions: property <filter> from [contrast(0)] to [contrast()] at (0) should be [contrast(0)]
    4444PASS CSS Transitions: property <filter> from [contrast(0)] to [contrast()] at (0.5) should be [contrast(0.5)]
    4545PASS CSS Transitions: property <filter> from [contrast(0)] to [contrast()] at (1) should be [contrast()]
    4646PASS CSS Transitions: property <filter> from [contrast(0)] to [contrast()] at (1.5) should be [contrast(1.5)]
    47 FAIL CSS Transitions with transition: all: property <filter> from [contrast(0)] to [contrast()] at (-1) should be [contrast(0)] assert_equals: expected "contrast ( 0 ) " but got "contrast ( - 1 ) "
     47PASS CSS Transitions with transition: all: property <filter> from [contrast(0)] to [contrast()] at (-1) should be [contrast(0)]
    4848PASS CSS Transitions with transition: all: property <filter> from [contrast(0)] to [contrast()] at (0) should be [contrast(0)]
    4949PASS CSS Transitions with transition: all: property <filter> from [contrast(0)] to [contrast()] at (0.5) should be [contrast(0.5)]
    5050PASS CSS Transitions with transition: all: property <filter> from [contrast(0)] to [contrast()] at (1) should be [contrast()]
    5151PASS CSS Transitions with transition: all: property <filter> from [contrast(0)] to [contrast()] at (1.5) should be [contrast(1.5)]
    52 FAIL CSS Animations: property <filter> from [contrast(0)] to [contrast()] at (-1) should be [contrast(0)] assert_equals: expected "contrast ( 0 ) " but got "contrast ( - 1 ) "
     52PASS CSS Animations: property <filter> from [contrast(0)] to [contrast()] at (-1) should be [contrast(0)]
    5353PASS CSS Animations: property <filter> from [contrast(0)] to [contrast()] at (0) should be [contrast(0)]
    5454PASS CSS Animations: property <filter> from [contrast(0)] to [contrast()] at (0.5) should be [contrast(0.5)]
    5555PASS CSS Animations: property <filter> from [contrast(0)] to [contrast()] at (1) should be [contrast()]
    5656PASS CSS Animations: property <filter> from [contrast(0)] to [contrast()] at (1.5) should be [contrast(1.5)]
    57 FAIL Web Animations: property <filter> from [contrast(0)] to [contrast()] at (-1) should be [contrast(0)] assert_equals: expected "contrast ( 0 ) " but got "contrast ( - 1 ) "
     57PASS Web Animations: property <filter> from [contrast(0)] to [contrast()] at (-1) should be [contrast(0)]
    5858PASS Web Animations: property <filter> from [contrast(0)] to [contrast()] at (0) should be [contrast(0)]
    5959PASS Web Animations: property <filter> from [contrast(0)] to [contrast()] at (0.5) should be [contrast(0.5)]
    6060PASS Web Animations: property <filter> from [contrast(0)] to [contrast()] at (1) should be [contrast()]
    6161PASS Web Animations: property <filter> from [contrast(0)] to [contrast()] at (1.5) should be [contrast(1.5)]
    62 FAIL CSS Transitions: property <filter> from [drop-shadow(0px 0px)] to [drop-shadow(20px 10px 30px green)] at (-1) should be [drop-shadow(-20px -10px blue)] assert_equals: expected "drop - shadow ( rgb ( 0 , 0 , 255 ) - 20px - 10px 0px ) " but got "drop - shadow ( rgba ( 0 , 0 , 0 , 0 ) - 20px - 10px - 30px ) "
     62FAIL CSS Transitions: property <filter> from [drop-shadow(0px 0px)] to [drop-shadow(20px 10px 30px green)] at (-1) should be [drop-shadow(-20px -10px blue)] assert_equals: expected "drop - shadow ( rgb ( 0 , 0 , 255 ) - 20px - 10px 0px ) " but got "drop - shadow ( rgba ( 0 , 0 , 0 , 0 ) - 20px - 10px 0px ) "
    6363FAIL CSS Transitions: property <filter> from [drop-shadow(0px 0px)] to [drop-shadow(20px 10px 30px green)] at (0) should be [drop-shadow(0px 0px blue)] assert_equals: expected "drop - shadow ( rgb ( 0 , 0 , 255 ) 0px 0px 0px ) " but got "drop - shadow ( rgba ( 0 , 0 , 0 , 0 ) 0px 0px 0px ) "
    6464FAIL CSS Transitions: property <filter> from [drop-shadow(0px 0px)] to [drop-shadow(20px 10px 30px green)] at (0.5) should be [drop-shadow(10px 5px 15px rgb(0, 64, 128))] assert_equals: expected "drop - shadow ( rgb ( 0 , 64 , 128 ) 10px 5px 15px ) " but got "drop - shadow ( rgba ( 0 , 128 , 0 , 0.5 ) 10px 5px 15px ) "
    6565PASS CSS Transitions: property <filter> from [drop-shadow(0px 0px)] to [drop-shadow(20px 10px 30px green)] at (1) should be [drop-shadow(20px 10px 30px green)]
    6666PASS CSS Transitions: property <filter> from [drop-shadow(0px 0px)] to [drop-shadow(20px 10px 30px green)] at (1.5) should be [drop-shadow(30px 15px 45px rgb(0, 192, 0))]
    67 FAIL CSS Transitions with transition: all: property <filter> from [drop-shadow(0px 0px)] to [drop-shadow(20px 10px 30px green)] at (-1) should be [drop-shadow(-20px -10px blue)] assert_equals: expected "drop - shadow ( rgb ( 0 , 0 , 255 ) - 20px - 10px 0px ) " but got "drop - shadow ( rgba ( 0 , 0 , 0 , 0 ) - 20px - 10px - 30px ) "
     67FAIL CSS Transitions with transition: all: property <filter> from [drop-shadow(0px 0px)] to [drop-shadow(20px 10px 30px green)] at (-1) should be [drop-shadow(-20px -10px blue)] assert_equals: expected "drop - shadow ( rgb ( 0 , 0 , 255 ) - 20px - 10px 0px ) " but got "drop - shadow ( rgba ( 0 , 0 , 0 , 0 ) - 20px - 10px 0px ) "
    6868FAIL CSS Transitions with transition: all: property <filter> from [drop-shadow(0px 0px)] to [drop-shadow(20px 10px 30px green)] at (0) should be [drop-shadow(0px 0px blue)] assert_equals: expected "drop - shadow ( rgb ( 0 , 0 , 255 ) 0px 0px 0px ) " but got "drop - shadow ( rgba ( 0 , 0 , 0 , 0 ) 0px 0px 0px ) "
    6969FAIL CSS Transitions with transition: all: property <filter> from [drop-shadow(0px 0px)] to [drop-shadow(20px 10px 30px green)] at (0.5) should be [drop-shadow(10px 5px 15px rgb(0, 64, 128))] assert_equals: expected "drop - shadow ( rgb ( 0 , 64 , 128 ) 10px 5px 15px ) " but got "drop - shadow ( rgba ( 0 , 128 , 0 , 0.5 ) 10px 5px 15px ) "
    7070PASS CSS Transitions with transition: all: property <filter> from [drop-shadow(0px 0px)] to [drop-shadow(20px 10px 30px green)] at (1) should be [drop-shadow(20px 10px 30px green)]
    7171PASS CSS Transitions with transition: all: property <filter> from [drop-shadow(0px 0px)] to [drop-shadow(20px 10px 30px green)] at (1.5) should be [drop-shadow(30px 15px 45px rgb(0, 192, 0))]
    72 FAIL CSS Animations: property <filter> from [drop-shadow(0px 0px)] to [drop-shadow(20px 10px 30px green)] at (-1) should be [drop-shadow(-20px -10px blue)] assert_equals: expected "drop - shadow ( rgb ( 0 , 0 , 255 ) - 20px - 10px 0px ) " but got "drop - shadow ( rgba ( 0 , 0 , 0 , 0 ) - 20px - 10px - 30px ) "
     72FAIL CSS Animations: property <filter> from [drop-shadow(0px 0px)] to [drop-shadow(20px 10px 30px green)] at (-1) should be [drop-shadow(-20px -10px blue)] assert_equals: expected "drop - shadow ( rgb ( 0 , 0 , 255 ) - 20px - 10px 0px ) " but got "drop - shadow ( rgba ( 0 , 0 , 0 , 0 ) - 20px - 10px 0px ) "
    7373FAIL CSS Animations: property <filter> from [drop-shadow(0px 0px)] to [drop-shadow(20px 10px 30px green)] at (0) should be [drop-shadow(0px 0px blue)] assert_equals: expected "drop - shadow ( rgb ( 0 , 0 , 255 ) 0px 0px 0px ) " but got "drop - shadow ( rgba ( 0 , 0 , 0 , 0 ) 0px 0px 0px ) "
    7474FAIL CSS Animations: property <filter> from [drop-shadow(0px 0px)] to [drop-shadow(20px 10px 30px green)] at (0.5) should be [drop-shadow(10px 5px 15px rgb(0, 64, 128))] assert_equals: expected "drop - shadow ( rgb ( 0 , 64 , 128 ) 10px 5px 15px ) " but got "drop - shadow ( rgba ( 0 , 128 , 0 , 0.5 ) 10px 5px 15px ) "
    7575PASS CSS Animations: property <filter> from [drop-shadow(0px 0px)] to [drop-shadow(20px 10px 30px green)] at (1) should be [drop-shadow(20px 10px 30px green)]
    7676PASS CSS Animations: property <filter> from [drop-shadow(0px 0px)] to [drop-shadow(20px 10px 30px green)] at (1.5) should be [drop-shadow(30px 15px 45px rgb(0, 192, 0))]
    77 FAIL Web Animations: property <filter> from [drop-shadow(0px 0px)] to [drop-shadow(20px 10px 30px green)] at (-1) should be [drop-shadow(-20px -10px blue)] assert_equals: expected "drop - shadow ( rgb ( 0 , 0 , 255 ) - 20px - 10px 0px ) " but got "drop - shadow ( rgba ( 0 , 0 , 0 , 0 ) - 20px - 10px - 30px ) "
     77FAIL Web Animations: property <filter> from [drop-shadow(0px 0px)] to [drop-shadow(20px 10px 30px green)] at (-1) should be [drop-shadow(-20px -10px blue)] assert_equals: expected "drop - shadow ( rgb ( 0 , 0 , 255 ) - 20px - 10px 0px ) " but got "drop - shadow ( rgba ( 0 , 0 , 0 , 0 ) - 20px - 10px 0px ) "
    7878FAIL Web Animations: property <filter> from [drop-shadow(0px 0px)] to [drop-shadow(20px 10px 30px green)] at (0) should be [drop-shadow(0px 0px blue)] assert_equals: expected "drop - shadow ( rgb ( 0 , 0 , 255 ) 0px 0px 0px ) " but got "drop - shadow ( rgba ( 0 , 0 , 0 , 0 ) 0px 0px 0px ) "
    7979FAIL Web Animations: property <filter> from [drop-shadow(0px 0px)] to [drop-shadow(20px 10px 30px green)] at (0.5) should be [drop-shadow(10px 5px 15px rgb(0, 64, 128))] assert_equals: expected "drop - shadow ( rgb ( 0 , 64 , 128 ) 10px 5px 15px ) " but got "drop - shadow ( rgba ( 0 , 128 , 0 , 0.5 ) 10px 5px 15px ) "
    8080PASS Web Animations: property <filter> from [drop-shadow(0px 0px)] to [drop-shadow(20px 10px 30px green)] at (1) should be [drop-shadow(20px 10px 30px green)]
    8181PASS Web Animations: property <filter> from [drop-shadow(0px 0px)] to [drop-shadow(20px 10px 30px green)] at (1.5) should be [drop-shadow(30px 15px 45px rgb(0, 192, 0))]
    82 FAIL CSS Transitions: property <filter> from [grayscale(0)] to [grayscale()] at (-1) should be [grayscale(0)] assert_equals: expected "grayscale ( 0 ) " but got "grayscale ( - 1 ) "
     82PASS CSS Transitions: property <filter> from [grayscale(0)] to [grayscale()] at (-1) should be [grayscale(0)]
    8383PASS CSS Transitions: property <filter> from [grayscale(0)] to [grayscale()] at (0) should be [grayscale(0)]
    8484PASS CSS Transitions: property <filter> from [grayscale(0)] to [grayscale()] at (0.5) should be [grayscale(0.5)]
    8585PASS CSS Transitions: property <filter> from [grayscale(0)] to [grayscale()] at (1) should be [grayscale()]
    86 FAIL CSS Transitions: property <filter> from [grayscale(0)] to [grayscale()] at (1.5) should be [grayscale(1)] assert_equals: expected "grayscale ( 1 ) " but got "grayscale ( 1.5 ) "
    87 FAIL CSS Transitions with transition: all: property <filter> from [grayscale(0)] to [grayscale()] at (-1) should be [grayscale(0)] assert_equals: expected "grayscale ( 0 ) " but got "grayscale ( - 1 ) "
     86PASS CSS Transitions: property <filter> from [grayscale(0)] to [grayscale()] at (1.5) should be [grayscale(1)]
     87PASS CSS Transitions with transition: all: property <filter> from [grayscale(0)] to [grayscale()] at (-1) should be [grayscale(0)]
    8888PASS CSS Transitions with transition: all: property <filter> from [grayscale(0)] to [grayscale()] at (0) should be [grayscale(0)]
    8989PASS CSS Transitions with transition: all: property <filter> from [grayscale(0)] to [grayscale()] at (0.5) should be [grayscale(0.5)]
    9090PASS CSS Transitions with transition: all: property <filter> from [grayscale(0)] to [grayscale()] at (1) should be [grayscale()]
    91 FAIL CSS Transitions with transition: all: property <filter> from [grayscale(0)] to [grayscale()] at (1.5) should be [grayscale(1)] assert_equals: expected "grayscale ( 1 ) " but got "grayscale ( 1.5 ) "
    92 FAIL CSS Animations: property <filter> from [grayscale(0)] to [grayscale()] at (-1) should be [grayscale(0)] assert_equals: expected "grayscale ( 0 ) " but got "grayscale ( - 1 ) "
     91PASS CSS Transitions with transition: all: property <filter> from [grayscale(0)] to [grayscale()] at (1.5) should be [grayscale(1)]
     92PASS CSS Animations: property <filter> from [grayscale(0)] to [grayscale()] at (-1) should be [grayscale(0)]
    9393PASS CSS Animations: property <filter> from [grayscale(0)] to [grayscale()] at (0) should be [grayscale(0)]
    9494PASS CSS Animations: property <filter> from [grayscale(0)] to [grayscale()] at (0.5) should be [grayscale(0.5)]
    9595PASS CSS Animations: property <filter> from [grayscale(0)] to [grayscale()] at (1) should be [grayscale()]
    96 FAIL CSS Animations: property <filter> from [grayscale(0)] to [grayscale()] at (1.5) should be [grayscale(1)] assert_equals: expected "grayscale ( 1 ) " but got "grayscale ( 1.5 ) "
    97 FAIL Web Animations: property <filter> from [grayscale(0)] to [grayscale()] at (-1) should be [grayscale(0)] assert_equals: expected "grayscale ( 0 ) " but got "grayscale ( - 1 ) "
     96PASS CSS Animations: property <filter> from [grayscale(0)] to [grayscale()] at (1.5) should be [grayscale(1)]
     97PASS Web Animations: property <filter> from [grayscale(0)] to [grayscale()] at (-1) should be [grayscale(0)]
    9898PASS Web Animations: property <filter> from [grayscale(0)] to [grayscale()] at (0) should be [grayscale(0)]
    9999PASS Web Animations: property <filter> from [grayscale(0)] to [grayscale()] at (0.5) should be [grayscale(0.5)]
    100100PASS Web Animations: property <filter> from [grayscale(0)] to [grayscale()] at (1) should be [grayscale()]
    101 FAIL Web Animations: property <filter> from [grayscale(0)] to [grayscale()] at (1.5) should be [grayscale(1)] assert_equals: expected "grayscale ( 1 ) " but got "grayscale ( 1.5 ) "
     101PASS Web Animations: property <filter> from [grayscale(0)] to [grayscale()] at (1.5) should be [grayscale(1)]
    102102PASS CSS Transitions: property <filter> from [hue-rotate()] to [hue-rotate(360deg)] at (-1) should be [hue-rotate(-360deg)]
    103103PASS CSS Transitions: property <filter> from [hue-rotate()] to [hue-rotate(360deg)] at (0) should be [hue-rotate()]
     
    120120PASS Web Animations: property <filter> from [hue-rotate()] to [hue-rotate(360deg)] at (1) should be [hue-rotate(360deg)]
    121121PASS Web Animations: property <filter> from [hue-rotate()] to [hue-rotate(360deg)] at (1.5) should be [hue-rotate(540deg)]
    122 FAIL CSS Transitions: property <filter> from [invert(0)] to [invert()] at (-1) should be [invert(0)] assert_equals: expected "invert ( 0 ) " but got "invert ( - 1 ) "
     122PASS CSS Transitions: property <filter> from [invert(0)] to [invert()] at (-1) should be [invert(0)]
    123123PASS CSS Transitions: property <filter> from [invert(0)] to [invert()] at (0) should be [invert(0)]
    124124PASS CSS Transitions: property <filter> from [invert(0)] to [invert()] at (0.5) should be [invert(0.5)]
    125125PASS CSS Transitions: property <filter> from [invert(0)] to [invert()] at (1) should be [invert()]
    126 FAIL CSS Transitions: property <filter> from [invert(0)] to [invert()] at (1.5) should be [invert(1)] assert_equals: expected "invert ( 1 ) " but got "invert ( 1.5 ) "
    127 FAIL CSS Transitions with transition: all: property <filter> from [invert(0)] to [invert()] at (-1) should be [invert(0)] assert_equals: expected "invert ( 0 ) " but got "invert ( - 1 ) "
     126PASS CSS Transitions: property <filter> from [invert(0)] to [invert()] at (1.5) should be [invert(1)]
     127PASS CSS Transitions with transition: all: property <filter> from [invert(0)] to [invert()] at (-1) should be [invert(0)]
    128128PASS CSS Transitions with transition: all: property <filter> from [invert(0)] to [invert()] at (0) should be [invert(0)]
    129129PASS CSS Transitions with transition: all: property <filter> from [invert(0)] to [invert()] at (0.5) should be [invert(0.5)]
    130130PASS CSS Transitions with transition: all: property <filter> from [invert(0)] to [invert()] at (1) should be [invert()]
    131 FAIL CSS Transitions with transition: all: property <filter> from [invert(0)] to [invert()] at (1.5) should be [invert(1)] assert_equals: expected "invert ( 1 ) " but got "invert ( 1.5 ) "
    132 FAIL CSS Animations: property <filter> from [invert(0)] to [invert()] at (-1) should be [invert(0)] assert_equals: expected "invert ( 0 ) " but got "invert ( - 1 ) "
     131PASS CSS Transitions with transition: all: property <filter> from [invert(0)] to [invert()] at (1.5) should be [invert(1)]
     132PASS CSS Animations: property <filter> from [invert(0)] to [invert()] at (-1) should be [invert(0)]
    133133PASS CSS Animations: property <filter> from [invert(0)] to [invert()] at (0) should be [invert(0)]
    134134PASS CSS Animations: property <filter> from [invert(0)] to [invert()] at (0.5) should be [invert(0.5)]
    135135PASS CSS Animations: property <filter> from [invert(0)] to [invert()] at (1) should be [invert()]
    136 FAIL CSS Animations: property <filter> from [invert(0)] to [invert()] at (1.5) should be [invert(1)] assert_equals: expected "invert ( 1 ) " but got "invert ( 1.5 ) "
    137 FAIL Web Animations: property <filter> from [invert(0)] to [invert()] at (-1) should be [invert(0)] assert_equals: expected "invert ( 0 ) " but got "invert ( - 1 ) "
     136PASS CSS Animations: property <filter> from [invert(0)] to [invert()] at (1.5) should be [invert(1)]
     137PASS Web Animations: property <filter> from [invert(0)] to [invert()] at (-1) should be [invert(0)]
    138138PASS Web Animations: property <filter> from [invert(0)] to [invert()] at (0) should be [invert(0)]
    139139PASS Web Animations: property <filter> from [invert(0)] to [invert()] at (0.5) should be [invert(0.5)]
    140140PASS Web Animations: property <filter> from [invert(0)] to [invert()] at (1) should be [invert()]
    141 FAIL Web Animations: property <filter> from [invert(0)] to [invert()] at (1.5) should be [invert(1)] assert_equals: expected "invert ( 1 ) " but got "invert ( 1.5 ) "
    142 FAIL CSS Transitions: property <filter> from [opacity(0)] to [opacity()] at (-1) should be [opacity(0)] assert_equals: expected "opacity ( 0 ) " but got "opacity ( - 1 ) "
     141PASS Web Animations: property <filter> from [invert(0)] to [invert()] at (1.5) should be [invert(1)]
     142PASS CSS Transitions: property <filter> from [opacity(0)] to [opacity()] at (-1) should be [opacity(0)]
    143143PASS CSS Transitions: property <filter> from [opacity(0)] to [opacity()] at (0) should be [opacity(0)]
    144144PASS CSS Transitions: property <filter> from [opacity(0)] to [opacity()] at (0.5) should be [opacity(0.5)]
    145145PASS CSS Transitions: property <filter> from [opacity(0)] to [opacity()] at (1) should be [opacity()]
    146 FAIL CSS Transitions: property <filter> from [opacity(0)] to [opacity()] at (1.5) should be [opacity(1)] assert_equals: expected "opacity ( 1 ) " but got "opacity ( 1.5 ) "
    147 FAIL CSS Transitions with transition: all: property <filter> from [opacity(0)] to [opacity()] at (-1) should be [opacity(0)] assert_equals: expected "opacity ( 0 ) " but got "opacity ( - 1 ) "
     146PASS CSS Transitions: property <filter> from [opacity(0)] to [opacity()] at (1.5) should be [opacity(1)]
     147PASS CSS Transitions with transition: all: property <filter> from [opacity(0)] to [opacity()] at (-1) should be [opacity(0)]
    148148PASS CSS Transitions with transition: all: property <filter> from [opacity(0)] to [opacity()] at (0) should be [opacity(0)]
    149149PASS CSS Transitions with transition: all: property <filter> from [opacity(0)] to [opacity()] at (0.5) should be [opacity(0.5)]
    150150PASS CSS Transitions with transition: all: property <filter> from [opacity(0)] to [opacity()] at (1) should be [opacity()]
    151 FAIL CSS Transitions with transition: all: property <filter> from [opacity(0)] to [opacity()] at (1.5) should be [opacity(1)] assert_equals: expected "opacity ( 1 ) " but got "opacity ( 1.5 ) "
    152 FAIL CSS Animations: property <filter> from [opacity(0)] to [opacity()] at (-1) should be [opacity(0)] assert_equals: expected "opacity ( 0 ) " but got "opacity ( - 1 ) "
     151PASS CSS Transitions with transition: all: property <filter> from [opacity(0)] to [opacity()] at (1.5) should be [opacity(1)]
     152PASS CSS Animations: property <filter> from [opacity(0)] to [opacity()] at (-1) should be [opacity(0)]
    153153PASS CSS Animations: property <filter> from [opacity(0)] to [opacity()] at (0) should be [opacity(0)]
    154154PASS CSS Animations: property <filter> from [opacity(0)] to [opacity()] at (0.5) should be [opacity(0.5)]
    155155PASS CSS Animations: property <filter> from [opacity(0)] to [opacity()] at (1) should be [opacity()]
    156 FAIL CSS Animations: property <filter> from [opacity(0)] to [opacity()] at (1.5) should be [opacity(1)] assert_equals: expected "opacity ( 1 ) " but got "opacity ( 1.5 ) "
    157 FAIL Web Animations: property <filter> from [opacity(0)] to [opacity()] at (-1) should be [opacity(0)] assert_equals: expected "opacity ( 0 ) " but got "opacity ( - 1 ) "
     156PASS CSS Animations: property <filter> from [opacity(0)] to [opacity()] at (1.5) should be [opacity(1)]
     157PASS Web Animations: property <filter> from [opacity(0)] to [opacity()] at (-1) should be [opacity(0)]
    158158PASS Web Animations: property <filter> from [opacity(0)] to [opacity()] at (0) should be [opacity(0)]
    159159PASS Web Animations: property <filter> from [opacity(0)] to [opacity()] at (0.5) should be [opacity(0.5)]
    160160PASS Web Animations: property <filter> from [opacity(0)] to [opacity()] at (1) should be [opacity()]
    161 FAIL Web Animations: property <filter> from [opacity(0)] to [opacity()] at (1.5) should be [opacity(1)] assert_equals: expected "opacity ( 1 ) " but got "opacity ( 1.5 ) "
    162 FAIL CSS Transitions: property <filter> from [saturate(0)] to [saturate()] at (-1) should be [saturate(0)] assert_equals: expected "saturate ( 0 ) " but got "saturate ( - 1 ) "
     161PASS Web Animations: property <filter> from [opacity(0)] to [opacity()] at (1.5) should be [opacity(1)]
     162PASS CSS Transitions: property <filter> from [saturate(0)] to [saturate()] at (-1) should be [saturate(0)]
    163163PASS CSS Transitions: property <filter> from [saturate(0)] to [saturate()] at (0) should be [saturate(0)]
    164164PASS CSS Transitions: property <filter> from [saturate(0)] to [saturate()] at (0.5) should be [saturate(0.5)]
    165165PASS CSS Transitions: property <filter> from [saturate(0)] to [saturate()] at (1) should be [saturate()]
    166166PASS CSS Transitions: property <filter> from [saturate(0)] to [saturate()] at (1.5) should be [saturate(1.5)]
    167 FAIL CSS Transitions with transition: all: property <filter> from [saturate(0)] to [saturate()] at (-1) should be [saturate(0)] assert_equals: expected "saturate ( 0 ) " but got "saturate ( - 1 ) "
     167PASS CSS Transitions with transition: all: property <filter> from [saturate(0)] to [saturate()] at (-1) should be [saturate(0)]
    168168PASS CSS Transitions with transition: all: property <filter> from [saturate(0)] to [saturate()] at (0) should be [saturate(0)]
    169169PASS CSS Transitions with transition: all: property <filter> from [saturate(0)] to [saturate()] at (0.5) should be [saturate(0.5)]
    170170PASS CSS Transitions with transition: all: property <filter> from [saturate(0)] to [saturate()] at (1) should be [saturate()]
    171171PASS CSS Transitions with transition: all: property <filter> from [saturate(0)] to [saturate()] at (1.5) should be [saturate(1.5)]
    172 FAIL CSS Animations: property <filter> from [saturate(0)] to [saturate()] at (-1) should be [saturate(0)] assert_equals: expected "saturate ( 0 ) " but got "saturate ( - 1 ) "
     172PASS CSS Animations: property <filter> from [saturate(0)] to [saturate()] at (-1) should be [saturate(0)]
    173173PASS CSS Animations: property <filter> from [saturate(0)] to [saturate()] at (0) should be [saturate(0)]
    174174PASS CSS Animations: property <filter> from [saturate(0)] to [saturate()] at (0.5) should be [saturate(0.5)]
    175175PASS CSS Animations: property <filter> from [saturate(0)] to [saturate()] at (1) should be [saturate()]
    176176PASS CSS Animations: property <filter> from [saturate(0)] to [saturate()] at (1.5) should be [saturate(1.5)]
    177 FAIL Web Animations: property <filter> from [saturate(0)] to [saturate()] at (-1) should be [saturate(0)] assert_equals: expected "saturate ( 0 ) " but got "saturate ( - 1 ) "
     177PASS Web Animations: property <filter> from [saturate(0)] to [saturate()] at (-1) should be [saturate(0)]
    178178PASS Web Animations: property <filter> from [saturate(0)] to [saturate()] at (0) should be [saturate(0)]
    179179PASS Web Animations: property <filter> from [saturate(0)] to [saturate()] at (0.5) should be [saturate(0.5)]
    180180PASS Web Animations: property <filter> from [saturate(0)] to [saturate()] at (1) should be [saturate()]
    181181PASS Web Animations: property <filter> from [saturate(0)] to [saturate()] at (1.5) should be [saturate(1.5)]
    182 FAIL CSS Transitions: property <filter> from [sepia(0)] to [sepia()] at (-1) should be [sepia(0)] assert_equals: expected "sepia ( 0 ) " but got "sepia ( - 1 ) "
     182PASS CSS Transitions: property <filter> from [sepia(0)] to [sepia()] at (-1) should be [sepia(0)]
    183183PASS CSS Transitions: property <filter> from [sepia(0)] to [sepia()] at (0) should be [sepia(0)]
    184184PASS CSS Transitions: property <filter> from [sepia(0)] to [sepia()] at (0.5) should be [sepia(0.5)]
    185185PASS CSS Transitions: property <filter> from [sepia(0)] to [sepia()] at (1) should be [sepia()]
    186 FAIL CSS Transitions: property <filter> from [sepia(0)] to [sepia()] at (1.5) should be [sepia(1)] assert_equals: expected "sepia ( 1 ) " but got "sepia ( 1.5 ) "
    187 FAIL CSS Transitions with transition: all: property <filter> from [sepia(0)] to [sepia()] at (-1) should be [sepia(0)] assert_equals: expected "sepia ( 0 ) " but got "sepia ( - 1 ) "
     186PASS CSS Transitions: property <filter> from [sepia(0)] to [sepia()] at (1.5) should be [sepia(1)]
     187PASS CSS Transitions with transition: all: property <filter> from [sepia(0)] to [sepia()] at (-1) should be [sepia(0)]
    188188PASS CSS Transitions with transition: all: property <filter> from [sepia(0)] to [sepia()] at (0) should be [sepia(0)]
    189189PASS CSS Transitions with transition: all: property <filter> from [sepia(0)] to [sepia()] at (0.5) should be [sepia(0.5)]
    190190PASS CSS Transitions with transition: all: property <filter> from [sepia(0)] to [sepia()] at (1) should be [sepia()]
    191 FAIL CSS Transitions with transition: all: property <filter> from [sepia(0)] to [sepia()] at (1.5) should be [sepia(1)] assert_equals: expected "sepia ( 1 ) " but got "sepia ( 1.5 ) "
    192 FAIL CSS Animations: property <filter> from [sepia(0)] to [sepia()] at (-1) should be [sepia(0)] assert_equals: expected "sepia ( 0 ) " but got "sepia ( - 1 ) "
     191PASS CSS Transitions with transition: all: property <filter> from [sepia(0)] to [sepia()] at (1.5) should be [sepia(1)]
     192PASS CSS Animations: property <filter> from [sepia(0)] to [sepia()] at (-1) should be [sepia(0)]
    193193PASS CSS Animations: property <filter> from [sepia(0)] to [sepia()] at (0) should be [sepia(0)]
    194194PASS CSS Animations: property <filter> from [sepia(0)] to [sepia()] at (0.5) should be [sepia(0.5)]
    195195PASS CSS Animations: property <filter> from [sepia(0)] to [sepia()] at (1) should be [sepia()]
    196 FAIL CSS Animations: property <filter> from [sepia(0)] to [sepia()] at (1.5) should be [sepia(1)] assert_equals: expected "sepia ( 1 ) " but got "sepia ( 1.5 ) "
    197 FAIL Web Animations: property <filter> from [sepia(0)] to [sepia()] at (-1) should be [sepia(0)] assert_equals: expected "sepia ( 0 ) " but got "sepia ( - 1 ) "
     196PASS CSS Animations: property <filter> from [sepia(0)] to [sepia()] at (1.5) should be [sepia(1)]
     197PASS Web Animations: property <filter> from [sepia(0)] to [sepia()] at (-1) should be [sepia(0)]
    198198PASS Web Animations: property <filter> from [sepia(0)] to [sepia()] at (0) should be [sepia(0)]
    199199PASS Web Animations: property <filter> from [sepia(0)] to [sepia()] at (0.5) should be [sepia(0.5)]
    200200PASS Web Animations: property <filter> from [sepia(0)] to [sepia()] at (1) should be [sepia()]
    201 FAIL Web Animations: property <filter> from [sepia(0)] to [sepia()] at (1.5) should be [sepia(1)] assert_equals: expected "sepia ( 1 ) " but got "sepia ( 1.5 ) "
     201PASS Web Animations: property <filter> from [sepia(0)] to [sepia()] at (1.5) should be [sepia(1)]
    202202
  • trunk/Source/WebCore/ChangeLog

    r287814 r287815  
     12022-01-08  Simon Fraser  <simon.fraser@apple.com>
     2
     3        Fix some CSS filter interpolation issues
     4        https://bugs.webkit.org/show_bug.cgi?id=235007
     5
     6        Reviewed by Antoine Quint.
     7
     8        Ensure that filter values are clamped after animation according to
     9        https://drafts.fxtf.org/filter-effects-1/.
     10
     11        Tested by WPT.
     12
     13        * platform/graphics/filters/FilterOperation.cpp:
     14        (WebCore::BasicColorMatrixFilterOperation::blend):
     15        (WebCore::BasicComponentTransferFilterOperation::blend):
     16        (WebCore::BlurFilterOperation::blend):
     17        (WebCore::DropShadowFilterOperation::blend):
     18
    1192022-01-08  Wenson Hsieh  <wenson_hsieh@apple.com>
    220
  • trunk/Source/WebCore/platform/graphics/filters/FilterOperation.cpp

    r287552 r287815  
    8686    const BasicColorMatrixFilterOperation* fromOperation = downcast<BasicColorMatrixFilterOperation>(from);
    8787    double fromAmount = fromOperation ? fromOperation->amount() : passthroughAmount();
    88     return BasicColorMatrixFilterOperation::create(WebCore::blend(fromAmount, m_amount, context), m_type);
     88    double blendedAmount = WebCore::blend(fromAmount, m_amount, context);
     89
     90    switch (m_type) {
     91    case GRAYSCALE:
     92    case SEPIA:
     93        blendedAmount = std::clamp(blendedAmount, 0.0, 1.0);
     94        break;
     95    case SATURATE:
     96        blendedAmount = std::max(blendedAmount, 0.0);
     97        break;
     98    default:
     99        break;
     100    }
     101    return BasicColorMatrixFilterOperation::create(blendedAmount, m_type);
    89102}
    90103
     
    149162    const BasicComponentTransferFilterOperation* fromOperation = downcast<BasicComponentTransferFilterOperation>(from);
    150163    double fromAmount = fromOperation ? fromOperation->amount() : passthroughAmount();
    151     return BasicComponentTransferFilterOperation::create(WebCore::blend(fromAmount, m_amount, context), m_type);
     164    double blendedAmount = WebCore::blend(fromAmount, m_amount, context);
     165   
     166    switch (m_type) {
     167    case INVERT:
     168    case OPACITY:
     169        blendedAmount = std::clamp(blendedAmount, 0.0, 1.0);
     170        break;
     171    case BRIGHTNESS:
     172    case CONTRAST:
     173        blendedAmount = std::max(blendedAmount, 0.0);
     174        break;
     175    default:
     176        break;
     177    }
     178    return BasicComponentTransferFilterOperation::create(blendedAmount, m_type);
    152179}
    153180
     
    345372    const BlurFilterOperation* fromOperation = downcast<BlurFilterOperation>(from);
    346373    Length fromLength = fromOperation ? fromOperation->m_stdDeviation : Length(lengthType);
    347     return BlurFilterOperation::create(WebCore::blend(fromLength, m_stdDeviation, context));
     374    return BlurFilterOperation::create(WebCore::blend(fromLength, m_stdDeviation, context, ValueRange::NonNegative));
    348375}
    349376   
     
    374401    return DropShadowFilterOperation::create(
    375402        WebCore::blend(fromLocation, m_location, context),
    376         WebCore::blend(fromStdDeviation, m_stdDeviation, context),
     403        std::max(WebCore::blend(fromStdDeviation, m_stdDeviation, context), 0),
    377404        WebCore::blend(fromColor, m_color, context));
    378405}
Note: See TracChangeset for help on using the changeset viewer.