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