[webkit-changes] [WebKit/WebKit] 359a95: [css-color] Fix clamping of oklab/oklch lightness ...

Aditya Keerthi noreply at github.com
Tue Dec 26 11:58:50 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 359a95fee6491c844a33d44fcf180fefe78d8096
      https://github.com/WebKit/WebKit/commit/359a95fee6491c844a33d44fcf180fefe78d8096
  Author: Aditya Keerthi <akeerthi at apple.com>
  Date:   2023-12-26 (Tue, 26 Dec 2023)

  Changed paths:
    M LayoutTests/TestExpectations
    A LayoutTests/imported/w3c/web-platform-tests/css/css-color/oklch-l-over-1-1-expected.html
    A LayoutTests/imported/w3c/web-platform-tests/css/css-color/oklch-l-over-1-1.html
    A LayoutTests/imported/w3c/web-platform-tests/css/css-color/oklch-l-over-1-2-expected.html
    A LayoutTests/imported/w3c/web-platform-tests/css/css-color/oklch-l-over-1-2.html
    A LayoutTests/imported/w3c/web-platform-tests/css/css-color/oklch-l-over-1-ref.html
    M Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp

  Log Message:
  -----------
  [css-color] Fix clamping of oklab/oklch lightness component
https://bugs.webkit.org/show_bug.cgi?id=261898
rdar://116195533

Reviewed by Tim Nguyen.

oklab and oklch should clamp their lightness component between 0 and 1. lab and
lch clamp their lightness component between 0 and 100.

In the parsing logic, which is shared by lab/oklab and lch/oklch respectively,
percentage values are always normalized to numeric values. However, the maximum
value for clamping the normalized value is hardcoded to 100, which is only
correct for lab/lch. Consequently, 150% lightness for oklab is normalized to 1.5,
which is incorrectly used, as it less than 100.

Fix by using the existing constant values for the maximum lightness value.

Add missing test coverage for oklch. oklab is covered by an existing test progression.

* LayoutTests/TestExpectations:
* LayoutTests/imported/w3c/web-platform-tests/css/css-color/oklch-l-over-1-1-expected.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-color/oklch-l-over-1-1.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-color/oklch-l-over-1-2-expected.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-color/oklch-l-over-1-2.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-color/oklch-l-over-1-ref.html: Added.
* Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp:
(WebCore::CSSPropertyParserHelpers::parseLabParametersRaw):
(WebCore::CSSPropertyParserHelpers::parseLCHParametersRaw):

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




More information about the webkit-changes mailing list