Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 09244934ad1538a0c8c80d11c14448b4bcbfa22e
      
https://github.com/WebKit/WebKit/commit/09244934ad1538a0c8c80d11c14448b4bcbfa22e
  Author: Sam Weinig <[email protected]>
  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
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to