From c677b647737c0b6b0db37365072631715c58e1d7 Mon Sep 17 00:00:00 2001 From: Callum Law Date: Thu, 11 Sep 2025 01:30:47 +1200 Subject: [PATCH] LibWeb: Update animation type of compositing properties This updates `background-blend-mode`, `mix-blend-mode`, and `isolation` to be animation type `discrete` rather than `none`. This reflects https://github.com/w3c/fxtf-drafts/commit/169b0e1 but isn't reflected on the published spec as the published spec is out of date - see https://github.com/w3c/fxtf-drafts/issues/547 Gains us 26 WPT tests. --- Libraries/LibWeb/CSS/Properties.json | 6 +-- .../animation/isolation-no-interpolation.txt | 47 +++++++++++++++++++ .../animations/discrete-no-interpolation.txt | 29 ++++++------ .../animation/isolation-no-interpolation.html | 17 +++++++ 4 files changed, 81 insertions(+), 18 deletions(-) create mode 100644 Tests/LibWeb/Text/expected/wpt-import/css/compositing/isolation/animation/isolation-no-interpolation.txt create mode 100644 Tests/LibWeb/Text/input/wpt-import/css/compositing/isolation/animation/isolation-no-interpolation.html diff --git a/Libraries/LibWeb/CSS/Properties.json b/Libraries/LibWeb/CSS/Properties.json index c0ec628163e..1c689639f58 100644 --- a/Libraries/LibWeb/CSS/Properties.json +++ b/Libraries/LibWeb/CSS/Properties.json @@ -354,7 +354,7 @@ ] }, "background-blend-mode": { - "animation-type": "none", + "animation-type": "discrete", "inherited": false, "initial": "normal", "valid-types": [ @@ -2125,7 +2125,7 @@ "max-values": 1 }, "isolation": { - "animation-type": "none", + "animation-type": "discrete", "inherited": false, "initial": "auto", "valid-types": [ @@ -2634,7 +2634,7 @@ ] }, "mix-blend-mode": { - "animation-type": "none", + "animation-type": "discrete", "inherited": false, "initial": "normal", "valid-types": [ diff --git a/Tests/LibWeb/Text/expected/wpt-import/css/compositing/isolation/animation/isolation-no-interpolation.txt b/Tests/LibWeb/Text/expected/wpt-import/css/compositing/isolation/animation/isolation-no-interpolation.txt new file mode 100644 index 00000000000..355b901b0a3 --- /dev/null +++ b/Tests/LibWeb/Text/expected/wpt-import/css/compositing/isolation/animation/isolation-no-interpolation.txt @@ -0,0 +1,47 @@ +Harness status: OK + +Found 42 tests + +42 Pass +Pass CSS Transitions with transition-behavior:allow-discrete: property from [initial] to [isolate] at (-0.3) should be [initial] +Pass CSS Transitions with transition-behavior:allow-discrete: property from [initial] to [isolate] at (0) should be [initial] +Pass CSS Transitions with transition-behavior:allow-discrete: property from [initial] to [isolate] at (0.3) should be [initial] +Pass CSS Transitions with transition-behavior:allow-discrete: property from [initial] to [isolate] at (0.5) should be [isolate] +Pass CSS Transitions with transition-behavior:allow-discrete: property from [initial] to [isolate] at (0.6) should be [isolate] +Pass CSS Transitions with transition-behavior:allow-discrete: property from [initial] to [isolate] at (1) should be [isolate] +Pass CSS Transitions with transition-behavior:allow-discrete: property from [initial] to [isolate] at (1.5) should be [isolate] +Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property from [initial] to [isolate] at (-0.3) should be [initial] +Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property from [initial] to [isolate] at (0) should be [initial] +Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property from [initial] to [isolate] at (0.3) should be [initial] +Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property from [initial] to [isolate] at (0.5) should be [isolate] +Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property from [initial] to [isolate] at (0.6) should be [isolate] +Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property from [initial] to [isolate] at (1) should be [isolate] +Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property from [initial] to [isolate] at (1.5) should be [isolate] +Pass CSS Transitions: property from [initial] to [isolate] at (-0.3) should be [isolate] +Pass CSS Transitions: property from [initial] to [isolate] at (0) should be [isolate] +Pass CSS Transitions: property from [initial] to [isolate] at (0.3) should be [isolate] +Pass CSS Transitions: property from [initial] to [isolate] at (0.5) should be [isolate] +Pass CSS Transitions: property from [initial] to [isolate] at (0.6) should be [isolate] +Pass CSS Transitions: property from [initial] to [isolate] at (1) should be [isolate] +Pass CSS Transitions: property from [initial] to [isolate] at (1.5) should be [isolate] +Pass CSS Transitions with transition: all: property from [initial] to [isolate] at (-0.3) should be [isolate] +Pass CSS Transitions with transition: all: property from [initial] to [isolate] at (0) should be [isolate] +Pass CSS Transitions with transition: all: property from [initial] to [isolate] at (0.3) should be [isolate] +Pass CSS Transitions with transition: all: property from [initial] to [isolate] at (0.5) should be [isolate] +Pass CSS Transitions with transition: all: property from [initial] to [isolate] at (0.6) should be [isolate] +Pass CSS Transitions with transition: all: property from [initial] to [isolate] at (1) should be [isolate] +Pass CSS Transitions with transition: all: property from [initial] to [isolate] at (1.5) should be [isolate] +Pass CSS Animations: property from [initial] to [isolate] at (-0.3) should be [initial] +Pass CSS Animations: property from [initial] to [isolate] at (0) should be [initial] +Pass CSS Animations: property from [initial] to [isolate] at (0.3) should be [initial] +Pass CSS Animations: property from [initial] to [isolate] at (0.5) should be [isolate] +Pass CSS Animations: property from [initial] to [isolate] at (0.6) should be [isolate] +Pass CSS Animations: property from [initial] to [isolate] at (1) should be [isolate] +Pass CSS Animations: property from [initial] to [isolate] at (1.5) should be [isolate] +Pass Web Animations: property from [initial] to [isolate] at (-0.3) should be [initial] +Pass Web Animations: property from [initial] to [isolate] at (0) should be [initial] +Pass Web Animations: property from [initial] to [isolate] at (0.3) should be [initial] +Pass Web Animations: property from [initial] to [isolate] at (0.5) should be [isolate] +Pass Web Animations: property from [initial] to [isolate] at (0.6) should be [isolate] +Pass Web Animations: property from [initial] to [isolate] at (1) should be [isolate] +Pass Web Animations: property from [initial] to [isolate] at (1.5) should be [isolate] \ No newline at end of file diff --git a/Tests/LibWeb/Text/expected/wpt-import/css/css-backgrounds/animations/discrete-no-interpolation.txt b/Tests/LibWeb/Text/expected/wpt-import/css/css-backgrounds/animations/discrete-no-interpolation.txt index f500e6d728a..bf9df39d962 100644 --- a/Tests/LibWeb/Text/expected/wpt-import/css/css-backgrounds/animations/discrete-no-interpolation.txt +++ b/Tests/LibWeb/Text/expected/wpt-import/css/css-backgrounds/animations/discrete-no-interpolation.txt @@ -2,8 +2,7 @@ Harness status: OK Found 252 tests -239 Pass -13 Fail +252 Pass Pass CSS Transitions with transition-behavior:allow-discrete: property from [initial] to [fixed] at (-0.3) should be [initial] Pass CSS Transitions with transition-behavior:allow-discrete: property from [initial] to [fixed] at (0) should be [initial] Pass CSS Transitions with transition-behavior:allow-discrete: property from [initial] to [fixed] at (0.3) should be [initial] @@ -46,16 +45,16 @@ Pass Web Animations: property from [initial] to [fixed] Pass Web Animations: property from [initial] to [fixed] at (0.6) should be [fixed] Pass Web Animations: property from [initial] to [fixed] at (1) should be [fixed] Pass Web Animations: property from [initial] to [fixed] at (1.5) should be [fixed] -Fail CSS Transitions with transition-behavior:allow-discrete: property from [initial] to [overlay] at (-0.3) should be [initial] -Fail CSS Transitions with transition-behavior:allow-discrete: property from [initial] to [overlay] at (0) should be [initial] -Fail CSS Transitions with transition-behavior:allow-discrete: property from [initial] to [overlay] at (0.3) should be [initial] +Pass CSS Transitions with transition-behavior:allow-discrete: property from [initial] to [overlay] at (-0.3) should be [initial] +Pass CSS Transitions with transition-behavior:allow-discrete: property from [initial] to [overlay] at (0) should be [initial] +Pass CSS Transitions with transition-behavior:allow-discrete: property from [initial] to [overlay] at (0.3) should be [initial] Pass CSS Transitions with transition-behavior:allow-discrete: property from [initial] to [overlay] at (0.5) should be [overlay] Pass CSS Transitions with transition-behavior:allow-discrete: property from [initial] to [overlay] at (0.6) should be [overlay] Pass CSS Transitions with transition-behavior:allow-discrete: property from [initial] to [overlay] at (1) should be [overlay] Pass CSS Transitions with transition-behavior:allow-discrete: property from [initial] to [overlay] at (1.5) should be [overlay] -Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property from [initial] to [overlay] at (-0.3) should be [initial] -Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property from [initial] to [overlay] at (0) should be [initial] -Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property from [initial] to [overlay] at (0.3) should be [initial] +Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property from [initial] to [overlay] at (-0.3) should be [initial] +Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property from [initial] to [overlay] at (0) should be [initial] +Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property from [initial] to [overlay] at (0.3) should be [initial] Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property from [initial] to [overlay] at (0.5) should be [overlay] Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property from [initial] to [overlay] at (0.6) should be [overlay] Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property from [initial] to [overlay] at (1) should be [overlay] @@ -74,9 +73,9 @@ Pass CSS Transitions with transition: all: property from Pass CSS Transitions with transition: all: property from [initial] to [overlay] at (0.6) should be [overlay] Pass CSS Transitions with transition: all: property from [initial] to [overlay] at (1) should be [overlay] Pass CSS Transitions with transition: all: property from [initial] to [overlay] at (1.5) should be [overlay] -Fail CSS Animations: property from [initial] to [overlay] at (-0.3) should be [initial] -Fail CSS Animations: property from [initial] to [overlay] at (0) should be [initial] -Fail CSS Animations: property from [initial] to [overlay] at (0.3) should be [initial] +Pass CSS Animations: property from [initial] to [overlay] at (-0.3) should be [initial] +Pass CSS Animations: property from [initial] to [overlay] at (0) should be [initial] +Pass CSS Animations: property from [initial] to [overlay] at (0.3) should be [initial] Pass CSS Animations: property from [initial] to [overlay] at (0.5) should be [overlay] Pass CSS Animations: property from [initial] to [overlay] at (0.6) should be [overlay] Pass CSS Animations: property from [initial] to [overlay] at (1) should be [overlay] @@ -84,10 +83,10 @@ Pass CSS Animations: property from [initial] to [overlay Pass Web Animations: property from [initial] to [overlay] at (-0.3) should be [initial] Pass Web Animations: property from [initial] to [overlay] at (0) should be [initial] Pass Web Animations: property from [initial] to [overlay] at (0.3) should be [initial] -Fail Web Animations: property from [initial] to [overlay] at (0.5) should be [overlay] -Fail Web Animations: property from [initial] to [overlay] at (0.6) should be [overlay] -Fail Web Animations: property from [initial] to [overlay] at (1) should be [overlay] -Fail Web Animations: property from [initial] to [overlay] at (1.5) should be [overlay] +Pass Web Animations: property from [initial] to [overlay] at (0.5) should be [overlay] +Pass Web Animations: property from [initial] to [overlay] at (0.6) should be [overlay] +Pass Web Animations: property from [initial] to [overlay] at (1) should be [overlay] +Pass Web Animations: property from [initial] to [overlay] at (1.5) should be [overlay] Pass CSS Transitions with transition-behavior:allow-discrete: property from [initial] to [content-box] at (-0.3) should be [initial] Pass CSS Transitions with transition-behavior:allow-discrete: property from [initial] to [content-box] at (0) should be [initial] Pass CSS Transitions with transition-behavior:allow-discrete: property from [initial] to [content-box] at (0.3) should be [initial] diff --git a/Tests/LibWeb/Text/input/wpt-import/css/compositing/isolation/animation/isolation-no-interpolation.html b/Tests/LibWeb/Text/input/wpt-import/css/compositing/isolation/animation/isolation-no-interpolation.html new file mode 100644 index 00000000000..66812dfc9ec --- /dev/null +++ b/Tests/LibWeb/Text/input/wpt-import/css/compositing/isolation/animation/isolation-no-interpolation.html @@ -0,0 +1,17 @@ + + + + + + + + + + +