Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: a352da53133bfa461c982d83483a8fdb528a8f49
      
https://github.com/WebKit/WebKit/commit/a352da53133bfa461c982d83483a8fdb528a8f49
  Author: Sam Weinig <[email protected]>
  Date:   2026-10-06 (Tue, 06 Oct 2026)

  Changed paths:
    M LayoutTests/TestExpectations
    M LayoutTests/css3/calc/cross-fade-calc.html
    M LayoutTests/css3/images/cross-fade-blending.html
    M 
LayoutTests/fast/css/getComputedStyle/computed-style-cross-fade-expected.txt
    M LayoutTests/fast/css/getComputedStyle/computed-style-cross-fade.html
    M LayoutTests/fast/images/cross-fade-image-rendering-pixelated.html
    M LayoutTests/fast/images/valid-style-cross-fade-expected.txt
    M LayoutTests/fast/images/valid-style-cross-fade.html
    M 
LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/animations/background-image-interpolation-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/animations/background-image-interpolation.html
    M 
LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/parsing/background-image-valid-expected.txt
    A 
LayoutTests/imported/w3c/web-platform-tests/css/css-images/cross-fade-natural-size-gradients-expected.html
    A 
LayoutTests/imported/w3c/web-platform-tests/css/css-images/cross-fade-natural-size-gradients-ref.html
    A 
LayoutTests/imported/w3c/web-platform-tests/css/css-images/cross-fade-natural-size-gradients.html
    A 
LayoutTests/imported/w3c/web-platform-tests/css/css-images/cross-fade-natural-size-image-and-gradient-expected.html
    A 
LayoutTests/imported/w3c/web-platform-tests/css/css-images/cross-fade-natural-size-image-and-gradient-ref.html
    A 
LayoutTests/imported/w3c/web-platform-tests/css/css-images/cross-fade-natural-size-image-and-gradient.html
    M Source/WebCore/WebCore.xcodeproj/project.pbxproj
    M Source/WebCore/css/CSSCrossfadeValue.cpp
    M Source/WebCore/css/CSSCrossfadeValue.h
    M Source/WebCore/css/parser/CSSPropertyParserConsumer+Image.cpp
    M Source/WebCore/css/parser/CSSPropertyParserConsumer+Image.h
    A Source/WebCore/css/values/images/CSSCrossfade.h
    A Source/WebCore/css/values/images/CSSImageOrNone.h
    A Source/WebCore/style/values/images/StyleCrossfade.h
    M Source/WebCore/style/values/images/StyleImageOrNone.cpp
    M Source/WebCore/style/values/images/StyleImageOrNone.h
    M Source/WebCore/style/values/images/StyleImageWrapper.cpp
    M Source/WebCore/style/values/images/kinds/StyleCrossfadeImage.cpp
    M Source/WebCore/style/values/images/kinds/StyleCrossfadeImage.h
    A Source/WebCore/style/values/images/kinds/StyleCrossfadeInputSizing.h
    M Source/WebCore/style/values/images/kinds/StyleImage.cpp
    M Source/WebCore/style/values/images/kinds/StyleImage.h

  Log Message:
  -----------
  [Image Redux] Update cross-fade() to match CSS Image 4
https://bugs.webkit.org/show_bug.cgi?id=326533
Reviewed by Darin Adler.

Fixes the unprefixed cross-fade() to match CSS Image 4 and other browsers.

Previously, unprefixed cross-fade() used the same grammar as 
-webkit-cross-fade(), which does
have the same grammar as the one defined in CSS Images 4 
(https://drafts.csswg.org/css-images-4/#funcdef-cross-fade).

Now, unprefixed cross-fade() uses the new grammar (without support <color> for 
the moment),
allowing any number of images to cross-faded together. Prefixed 
-webkit-cross-fade() still
uses the old grammar and is limited to two images as before.

Additionally, we now use the spec's algorithms for sizing 
(https://drafts.csswg.org/css-images-4/#cross-fade-sizing)
and painting (https://drafts.csswg.org/css-images-4/#cross-fade-painting), 
including the
context dependent recursive negotiation required. This very subtly changes the 
way a
cross-fade of images without natural dimensions might render and new WPT tests 
for this
have been added.

Also fixes the background-image-interpolation.html test to use 
test_no_interpolation() rather
than test_interpolation(), as is needed for discrete only properties. This 
matches other image
interpolation tests like mask-image-interpolation.html

Tests: 
imported/w3c/web-platform-tests/css/css-images/cross-fade-natural-size-gradients.html
       
imported/w3c/web-platform-tests/css/css-images/cross-fade-natural-size-image-and-gradient.html
       fast/css/getComputedStyle/computed-style-cross-fade.html
       fast/images/valid-style-cross-fade.html
       
imported/w3c/web-platform-tests/css/css-images/cross-fade-target-alpha.html

* LayoutTests/TestExpectations:
* LayoutTests/css3/calc/cross-fade-calc.html:
* LayoutTests/css3/images/cross-fade-blending.html:
* LayoutTests/fast/css/getComputedStyle/computed-style-cross-fade-expected.txt:
* LayoutTests/fast/css/getComputedStyle/computed-style-cross-fade.html:
* LayoutTests/fast/images/cross-fade-image-rendering-pixelated.html:
* LayoutTests/fast/images/valid-style-cross-fade-expected.txt:
* LayoutTests/fast/images/valid-style-cross-fade.html:
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/animations/background-image-interpolation-expected.txt:
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/animations/background-image-interpolation.html:
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/parsing/background-image-valid-expected.txt:
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-images/cross-fade-natural-size-gradients-expected.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-images/cross-fade-natural-size-gradients-ref.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-images/cross-fade-natural-size-gradients.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-images/cross-fade-natural-size-image-and-gradient-expected.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-images/cross-fade-natural-size-image-and-gradient-ref.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-images/cross-fade-natural-size-image-and-gradient.html:
 Added.
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/css/CSSCrossfadeValue.cpp:
* Source/WebCore/css/CSSCrossfadeValue.h:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+Image.cpp:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+Image.h:
* Source/WebCore/css/values/images/CSSCrossfade.h: Added.
* Source/WebCore/css/values/images/CSSImageOrNone.h: Added.
* Source/WebCore/style/values/images/StyleCrossfade.h: Added.
* Source/WebCore/style/values/images/StyleImageOrNone.cpp:
* Source/WebCore/style/values/images/StyleImageOrNone.h:
* Source/WebCore/style/values/images/StyleImageWrapper.cpp:
* Source/WebCore/style/values/images/kinds/StyleCrossfadeImage.cpp:
* Source/WebCore/style/values/images/kinds/StyleCrossfadeImage.h:
* Source/WebCore/style/values/images/kinds/StyleCrossfadeInputSizing.h: Added.
* Source/WebCore/style/values/images/kinds/StyleImage.cpp:
* Source/WebCore/style/values/images/kinds/StyleImage.h:

Canonical link: https://commits.webkit.org/322918@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to