Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 8e1e7a9f47f77abe15410dad509d5f4e3bc1791a
https://github.com/WebKit/WebKit/commit/8e1e7a9f47f77abe15410dad509d5f4e3bc1791a
Author: Antti Koivisto <[email protected]>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M
LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-size/animation/calc-size-height-interpolation-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-size/animation/calc-size-width-interpolation-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-size/animation/interpolate-size-height-composition-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-size/animation/interpolate-size-height-interpolation-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-size/animation/interpolate-size-interpolation-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-size/animation/interpolate-size-logical-properties-interpolation-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-size/animation/interpolate-size-max-height-composition-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-size/animation/interpolate-size-max-height-interpolation-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-size/animation/interpolate-size-max-width-composition-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-size/animation/interpolate-size-max-width-interpolation-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-size/animation/interpolate-size-min-height-composition-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-size/animation/interpolate-size-min-height-interpolation-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-size/animation/interpolate-size-min-width-composition-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-size/animation/interpolate-size-min-width-interpolation-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-size/animation/interpolate-size-which-value-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-size/animation/interpolate-size-width-composition-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-size/animation/interpolate-size-width-interpolation-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-size/interpolate-size-computed-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-size/interpolate-size-parsing-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/html/rendering/widgets/shadow-dom-expected.txt
M Source/WebCore/css/CSSProperties.json
M Source/WebCore/css/CSSValueKeywords.in
M Source/WebCore/rendering/style/RenderStyleConstants.cpp
M Source/WebCore/rendering/style/RenderStyleConstants.h
M Source/WebCore/style/computed/StyleComputedStyleBase.h
M Source/WebCore/style/computed/data/StyleInheritedRareData.cpp
M Source/WebCore/style/computed/data/StyleInheritedRareData.h
M Source/WebCore/style/values/primitives/StyleKeyword+Mappings.h
M Source/WebCore/style/values/primitives/StyleSizeOrKeyword+Blending.h
Log Message:
-----------
[css-values-5 calc-size()] Implement interpolate-size
https://bugs.webkit.org/show_bug.cgi?id=324460
rdar://187701518
Reviewed by Alan Baradlay.
https://drafts.csswg.org/css-values-5/#interpolate-size
With "interpolate-size: allow-keywords" keyword valued size properties can
transition with other values
height: 0px; -> height: max-content;
without using calc-size() explicitly. Internally this is implemented as
calc-size() interpolation.
The patch also removes an incorrect blending shortcut that artificially made
some tests pass.
Per spec calc-size() interpolation needs to also happen at 0 and 1 end points.
The tests will
start passing when the relevant layout bits are implemented.
*
LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/html/rendering/widgets/shadow-dom-expected.txt:
These enumerate every property, so a new one shifts their counts.
*
LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-size/animation/calc-size-height-interpolation-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-size/animation/calc-size-width-interpolation-expected.txt:
These had bad PASSes from the shortcut.
*
LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-size/animation/interpolate-size-height-composition-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-size/animation/interpolate-size-height-interpolation-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-size/animation/interpolate-size-interpolation-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-size/animation/interpolate-size-logical-properties-interpolation-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-size/animation/interpolate-size-max-height-composition-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-size/animation/interpolate-size-max-height-interpolation-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-size/animation/interpolate-size-max-width-composition-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-size/animation/interpolate-size-max-width-interpolation-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-size/animation/interpolate-size-min-height-composition-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-size/animation/interpolate-size-min-height-interpolation-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-size/animation/interpolate-size-min-width-composition-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-size/animation/interpolate-size-min-width-interpolation-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-size/animation/interpolate-size-which-value-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-size/animation/interpolate-size-width-composition-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-size/animation/interpolate-size-width-interpolation-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-size/interpolate-size-computed-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-size/interpolate-size-parsing-expected.txt:
* Source/WebCore/css/CSSProperties.json:
* Source/WebCore/css/CSSValueKeywords.in:
* Source/WebCore/rendering/style/RenderStyleConstants.cpp:
(WebCore::operator<<):
* Source/WebCore/rendering/style/RenderStyleConstants.h:
* Source/WebCore/style/computed/StyleComputedStyleBase.h:
* Source/WebCore/style/computed/data/StyleInheritedRareData.cpp:
(WebCore::Style::InheritedRareData::InheritedRareData):
(WebCore::Style::InheritedRareData::operator== const):
(WebCore::Style::InheritedRareData::dumpDifferences const):
Add the style bit for intepolate-size.
* Source/WebCore/style/computed/data/StyleInheritedRareData.h:
* Source/WebCore/style/values/primitives/StyleKeyword+Mappings.h:
* Source/WebCore/style/values/primitives/StyleSizeOrKeyword+Blending.h:
(WebCore::Style::Blending<StyleType>::canBlend):
(WebCore::Style::Blending<StyleType>::requiresInterpolationForAccumulativeIteration):
(WebCore::Style::Blending<StyleType>::blend):
(WebCore::Style::Blending<StyleType>::isBareKeyword):
(WebCore::Style::Blending<StyleType>::interpolatesUsingCalcSize):
Determine if we should if we should promote plain values to be blended as
calc-size().
(WebCore::Style::Blending<StyleType>::blendCalcSize):
Remove the shortcuts. They were here to artificially make some tests pass
without the required layout bits.
They will start passing when layout side is implemented.
Also implement additive blending.
(WebCore::Style::Blending<StyleType>::involvesCalcSize): Deleted.
Canonical link: https://commits.webkit.org/321370@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications