Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: ae2fd930ce5bcc6dcbc02c7146471f2c06c6c081
      
https://github.com/WebKit/WebKit/commit/ae2fd930ce5bcc6dcbc02c7146471f2c06c6c081
  Author: Simon Fraser <[email protected]>
  Date:   2025-06-04 (Wed, 04 Jun 2025)

  Changed paths:
    M LayoutTests/TestExpectations
    M 
LayoutTests/imported/w3c/web-platform-tests/css/css-images/gradient/gradient-single-stop-longer-hue-hsl-002.html
    M LayoutTests/platform/glib/TestExpectations
    M Source/WebCore/platform/graphics/cg/GradientRendererCG.cpp
    M Source/WebCore/platform/graphics/cg/GradientRendererCG.h

  Log Message:
  -----------
  Incorrect "extension" of CSS gradient with "longer hue" interpolation into 
regions beyond the first/last color stop
https://bugs.webkit.org/show_bug.cgi?id=285382
rdar://142738948

Reviewed by Sam Weinig and Darin Adler.

With `longer hue` CSS gradients, between adjacent color stops sharing a color 
there is a
full hue cycle. However, this logic also ran for the synthetic 0.0 and 1.0 
color stops
that we add to extend the end colors if necessary.

Fix by annotating those end stops as "synthetic"; if the current segment has a 
synthetic
segment as its start or end, just use that stop's color.

* 
LayoutTests/imported/w3c/web-platform-tests/css/css-images/gradient/gradient-single-stop-longer-hue-hsl-002.html:
 More tolerance.
* LayoutTests/TestExpectations: 18 new passing tests.
* Source/WebCore/platform/graphics/cg/GradientRendererCG.cpp:
(WebCore::GradientRendererCG::Shading::shadingFunction):
(WebCore::GradientRendererCG::makeShading const):
* Source/WebCore/platform/graphics/cg/GradientRendererCG.h:
(WebCore::GradientRendererCG::Shading::Data::create):
(WebCore::GradientRendererCG::Shading::Data::firstStopIsSynthetic const):
(WebCore::GradientRendererCG::Shading::Data::lastStopIsSynthetic const):
(WebCore::GradientRendererCG::Shading::Data::Data):

Canonical link: https://commits.webkit.org/295860@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