Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 6c434b5464a00be355e52531b1d20d2637e2b295
      
https://github.com/WebKit/WebKit/commit/6c434b5464a00be355e52531b1d20d2637e2b295
  Author: Sam Weinig <wei...@apple.com>
  Date:   2022-10-27 (Thu, 27 Oct 2022)

  Changed paths:
    M 
LayoutTests/fast/css/getComputedStyle/computed-style-cross-fade-expected.txt
    M LayoutTests/fast/css/getComputedStyle/computed-style-cross-fade.html
    M 
LayoutTests/fast/css/getComputedStyle/computed-style-with-zoom-expected.txt
    M LayoutTests/fast/css/getComputedStyle/computed-style-with-zoom.html
    M LayoutTests/fast/gradients/css3-gradient-parsing-expected.txt
    M LayoutTests/fast/gradients/css3-gradient-parsing.html
    M LayoutTests/fast/gradients/unprefixed-gradient-parsing-expected.txt
    M LayoutTests/fast/gradients/unprefixed-gradient-parsing.html
    M LayoutTests/fast/shapes/parsing/parsing-shape-outside-expected.txt
    M LayoutTests/http/wpt/css/css-images-4/conic-gradient-parsing.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/border-image-source-interpolation-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/parsing/background-image-computed.sub-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/parsing/border-image-source-computed.sub-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/css/css-images/parsing/gradient-interpolation-method-computed-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/css/css-images/parsing/gradient-interpolation-method-computed.html
    M 
LayoutTests/imported/w3c/web-platform-tests/css/css-lists/animations/list-style-image-interpolation-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/list-style-image-computed.sub-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/css/css-masking/animations/mask-image-interpolation-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/css/css-variables/variable-substitution-background-properties.html
    M Source/WebCore/css/CSSGradientValue.cpp
    M Source/WebCore/css/CSSGradientValue.h
    M Source/WebCore/css/StyleColor.cpp
    M Source/WebCore/css/StyleColor.h
    M Source/WebCore/html/HTMLInputElement.cpp
    M Source/WebCore/rendering/style/StyleGradientImage.cpp
    M Source/WebCore/rendering/style/StyleGradientImage.h
    M Source/WebCore/style/StyleBuilderState.h

  Log Message:
  -----------
  Computed value CSS gradients need to serialize colors in their computed form
https://bugs.webkit.org/show_bug.cgi?id=246927

Reviewed by Darin Adler.

Converts StyleGradientImage to store color stop colors as StyleColors rather
than keeping the primitive values. This is the intended model of the Style
classes (storing Style types rather than CSS types) and is now possible that
the spec requires that the computed value not maintain the specified values
(e.g. we use `rgb(255, 0, 0)` and not `red` if `red` was specified).

* LayoutTests/fast/gradients/css3-gradient-parsing-expected.txt:
* LayoutTests/fast/gradients/css3-gradient-parsing.html:
* LayoutTests/fast/gradients/unprefixed-gradient-parsing-expected.txt:
* LayoutTests/fast/gradients/unprefixed-gradient-parsing.html:
Update tests to check both specified and computed forms.

* 
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/border-image-source-interpolation-expected.txt:
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/parsing/background-image-computed.sub-expected.txt:
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/parsing/border-image-source-computed.sub-expected.txt:
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-images/parsing/gradient-interpolation-method-computed.html:
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-lists/animations/list-style-image-interpolation-expected.txt:
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/list-style-image-computed.sub-expected.txt:
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-masking/animations/mask-image-interpolation-expected.txt:
Update results for new serialization behavior,.

* 
LayoutTests/imported/w3c/web-platform-tests/css/css-images/parsing/gradient-interpolation-method-computed.html:
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-variables/variable-substitution-background-properties.html:
Import new version of the tests that checks the new computed form.

* Source/WebCore/css/CSSGradientValue.cpp:
(WebCore::computeStyleGradientImageStopColor):
(WebCore::CSSGradientValue::computeStops const):
Convert to StyleImage.

* Source/WebCore/css/StyleColor.cpp:
(WebCore::StyleColor::resolveColorWithoutCurrentColor const): Deleted.
* Source/WebCore/css/StyleColor.h:
Remove unused (and dangerous if used wrong) function.

* Source/WebCore/html/HTMLInputElement.cpp:
(WebCore::autoFillStrongPasswordMaskImage):
Update for simplified StyleGradientImage::Stop.

* Source/WebCore/rendering/style/StyleGradientImage.cpp:
(WebCore::operator==):
(WebCore::stopsAreCacheable):
(WebCore::resolveColorStopColor):
(WebCore::StyleGradientImage::StyleGradientImage):
(WebCore::computedStyleValueForColorStopColor):
(WebCore::StyleGradientImage::computedStyleValue const):
(WebCore::StyleGradientImage::image const):
(WebCore::StyleGradientImage::knownToBeOpaque const):
(WebCore::StyleGradientImage::computeStops const):
(WebCore::StyleGradientImage::hasColorDerivedFromElement const): Deleted.
(WebCore::StyleGradientImage::isCacheable const): Deleted.
* Source/WebCore/rendering/style/StyleGradientImage.h:
Rathen than storing a CSSPrimitiveValue for the stop color, we can use
a StyleColor and remove the extra Color member entirely. Now that we
don't have the CSSPrimitiveValue, we need to compute the CSS value for
the color stops when creating a computed value. This happens to give
us the correct new behavior of having them fully resolved.

* Source/WebCore/style/StyleBuilderState.h:
Remove function definition with no body.

Canonical link: https://commits.webkit.org/256073@main


_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to