[webkit-changes] [WebKit/WebKit] 092449: Non-RGB colors should retain calc() until style bu...
Commit Queue
noreply at github.com
Mon Sep 9 19:01:53 PDT 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 09244934ad1538a0c8c80d11c14448b4bcbfa22e
https://github.com/WebKit/WebKit/commit/09244934ad1538a0c8c80d11c14448b4bcbfa22e
Author: Sam Weinig <sam at webkit.org>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M LayoutTests/imported/w3c/web-platform-tests/css/css-color/parsing/color-valid-color-function-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/css/css-color/parsing/color-valid-color-function.html
M LayoutTests/imported/w3c/web-platform-tests/css/css-color/parsing/color-valid-hsl-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/css/css-color/parsing/color-valid-hsl.html
M LayoutTests/imported/w3c/web-platform-tests/css/css-color/parsing/color-valid-hwb.html
M LayoutTests/imported/w3c/web-platform-tests/css/css-color/parsing/color-valid-lab-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/css/css-color/parsing/color-valid-lab.html
M LayoutTests/imported/w3c/web-platform-tests/css/css-color/parsing/color-valid-rgb-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/css/css-color/parsing/color-valid-rgb.html
M Source/WebCore/WebCore.xcodeproj/project.pbxproj
M Source/WebCore/css/calc/CSSCalcValue.cpp
M Source/WebCore/css/calc/CSSCalcValue.h
M Source/WebCore/css/color/CSSAbsoluteColorResolver.h
A Source/WebCore/css/color/CSSColorConversion+Normalize.h
M Source/WebCore/css/color/CSSColorConversion+ToTypedColor.h
M Source/WebCore/css/color/CSSColorDescriptors.h
M Source/WebCore/css/color/CSSRelativeColorResolver.h
M Source/WebCore/css/color/CSSUnresolvedAbsoluteColor.h
M Source/WebCore/css/color/CSSUnresolvedRelativeColor.h
M Source/WebCore/css/parser/CSSPropertyParserConsumer+Color.cpp
M Source/WebCore/css/parser/CSSPropertyParserConsumer+UnevaluatedCalc.cpp
M Source/WebCore/css/parser/CSSPropertyParserConsumer+UnevaluatedCalc.h
Log Message:
-----------
Non-RGB colors should retain calc() until style building
https://bugs.webkit.org/show_bug.cgi?id=279374
Reviewed by Darin Adler.
CSS Color 4 was changed to require that non-RGB colors retain all
calc() values for the specified value representation.
Along with that change, all non-calc components should be normalized
to their number / canonical form as described in https://github.com/w3c/csswg-drafts/issues/10328.
* LayoutTests/imported/w3c/web-platform-tests/css/css-color/parsing/color-valid-color-function-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-color/parsing/color-valid-color-function.html:
* LayoutTests/imported/w3c/web-platform-tests/css/css-color/parsing/color-valid-hsl.html:
* LayoutTests/imported/w3c/web-platform-tests/css/css-color/parsing/color-valid-hwb.html:
* LayoutTests/imported/w3c/web-platform-tests/css/css-color/parsing/color-valid-lab-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-color/parsing/color-valid-lab.html:
* LayoutTests/imported/w3c/web-platform-tests/css/css-color/parsing/color-valid-rgb.html:
- Updates tests with new calc() and normalization behavior.
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
- Adds new file.
* Source/WebCore/css/color/CSSColorDescriptors.h:
- Adds overloads of requiresConversionData() and containsUnevaluatedCalc() for the
component bundles.
- Adds allowEagerEvaluationOfResolvableCalc and Canonical type to each descriptor.
Generally, Canonical will just be a self reference, except for RGBFunctionLegacy
and HSLFunctionLegacy, which have their modern counterparts set as their canonical
representation.
* Source/WebCore/css/color/CSSColorConversion+Normalize.h: Added.
* Source/WebCore/css/color/CSSColorConversion+ToTypedColor.h:
- Refactors normalization to be two step. First normalize to Number, and then
normalize that typed color. In practice, this is the same, since we can premultiply
the normalization steps at compile time, but allows us to have normalizing to
Number separated out for use in partial simplification
* Source/WebCore/css/calc/CSSCalcValue.cpp:
* Source/WebCore/css/calc/CSSCalcValue.h:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+UnevaluatedCalc.cpp:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+UnevaluatedCalc.h:
- Rename Deprecated RawType accessors to use the NoConversionDataRequired suffix,
as that what they are now being used for.
* Source/WebCore/css/color/CSSAbsoluteColorResolver.h:
* Source/WebCore/css/color/CSSRelativeColorResolver.h:
* Source/WebCore/css/color/CSSUnresolvedAbsoluteColor.h:
* Source/WebCore/css/color/CSSUnresolvedRelativeColor.h:
- Call shared requiresConversionData() in CSSColorDescriptors.
* Source/WebCore/css/parser/CSSPropertyParserConsumer+Color.cpp:
- Implement new spec normalization behavior for absolute colors.
Canonical link: https://commits.webkit.org/283382@main
To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications
More information about the webkit-changes
mailing list