Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 8913e90d9b69466796a2c4c7114f425e95bfa964 https://github.com/WebKit/WebKit/commit/8913e90d9b69466796a2c4c7114f425e95bfa964 Author: Sam Weinig <wei...@apple.com> Date: 2022-09-20 (Tue, 20 Sep 2022)
Changed paths: M LayoutTests/imported/w3c/web-platform-tests/css/css-color/animation/color-interpolation-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-color/parsing/color-computed-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-color/parsing/color-contrast-computed-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-color/parsing/color-contrast-valid-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-color/parsing/color-mix-computed-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-color/parsing/color-mix-valid-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-color/parsing/color-mixed-num-pct-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-color/parsing/color-valid-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-color/parsing/relative-color-computed-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-color/parsing/relative-color-invalid-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-color/parsing/relative-color-valid-expected.txt M Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp M Source/WebCore/platform/graphics/ColorConversion.cpp M Source/WebCore/platform/graphics/ColorSerialization.cpp Log Message: ----------- Update CSS Color parsing and serialization to match the current spec https://bugs.webkit.org/show_bug.cgi?id=245276 Reviewed by Darin Adler. * LayoutTests/imported/w3c/web-platform-tests/css/css-color/animation/color-interpolation-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-color/parsing/color-computed-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-color/parsing/color-contrast-computed-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-color/parsing/color-contrast-valid-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-color/parsing/color-mix-computed-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-color/parsing/color-mix-valid-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-color/parsing/color-mixed-num-pct-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-color/parsing/color-valid-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-color/parsing/relative-color-computed-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-color/parsing/relative-color-invalid-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-color/parsing/relative-color-valid-expected.txt: Update test results. Some of these now report as failing, but the tests are incorrect and need updating in WPT. * Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp: (WebCore::CSSPropertyParserHelpers::normalizeLightnessPercent): (WebCore::CSSPropertyParserHelpers::normalizeABPercent): (WebCore::CSSPropertyParserHelpers::normalizeChromaPercent): (WebCore::CSSPropertyParserHelpers::normalizeXYZPercent): (WebCore::CSSPropertyParserHelpers::normalizeRGBPercent): Helpers to implement the percent scaling now required by the spec. (WebCore::CSSPropertyParserHelpers::parseLabParameters): (WebCore::CSSPropertyParserHelpers::parseRelativeLabParameters): (WebCore::CSSPropertyParserHelpers::parseNonRelativeLabParameters): (WebCore::CSSPropertyParserHelpers::parseLCHParameters): (WebCore::CSSPropertyParserHelpers::parseRelativeLCHParameters): (WebCore::CSSPropertyParserHelpers::parseNonRelativeLCHParameters): (WebCore::CSSPropertyParserHelpers::parseColorFunctionForRGBTypes): (WebCore::CSSPropertyParserHelpers::parseColorFunctionForXYZTypes): (WebCore::CSSPropertyParserHelpers::parseRelativeColorFunctionForXYZTypes): Update parsing to support both numeric and percent for non-hue components. * Source/WebCore/platform/graphics/ColorConversion.cpp: (WebCore::OKLab<float>>::convert): (WebCore::WhitePoint::D65>>::convert): Remove now unneeded percent transforms since we now store lightness in its numeric form. * Source/WebCore/platform/graphics/ColorSerialization.cpp: (WebCore::serializationOfLabFamilyForCSS): (WebCore::serializationForCSS): (WebCore::percentageComponent): Deleted. (WTF::StringTypeAdapter<WebCore::PercentageComponent>::StringTypeAdapter): Deleted. (WTF::StringTypeAdapter<WebCore::PercentageComponent>::length const): Deleted. (WTF::StringTypeAdapter<WebCore::PercentageComponent>::is8Bit const): Deleted. (WTF::StringTypeAdapter<WebCore::PercentageComponent>::writeTo const): Deleted. (WTF::StringTypeAdapter<WebCore::PercentageComponent>::buffer const): Deleted. Update serialization to use the numeric form for lightness in lab/lch/oklab/oklch. The whole family now has the same serialization scheme so can be hoisted into a new helper, serializationOfLabFamilyForCSS. Canonical link: https://commits.webkit.org/254688@main _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes