[webkit-changes] [WebKit/WebKit] 76d664: Don't eagerly evaluate calc() of <integer> values

Commit Queue noreply at github.com
Fri Aug 30 19:13:13 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 76d664198b75324545784c30904dc1cd2e7d244d
      https://github.com/WebKit/WebKit/commit/76d664198b75324545784c30904dc1cd2e7d244d
  Author: Sam Weinig <sam at webkit.org>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M LayoutTests/fast/css/order-calculated-value-expected.txt
    M LayoutTests/fast/css/order-calculated-value.html
    M LayoutTests/fast/css/webkit-line-clamp-calculated-value-expected.txt
    M LayoutTests/fast/css/webkit-line-clamp-calculated-value.html
    M LayoutTests/fast/css/z-index-calculated-value-expected.txt
    M LayoutTests/fast/css/z-index-calculated-value.html
    M LayoutTests/imported/w3c/web-platform-tests/css/css-values/signs-abs-computed-expected.txt
    M Source/WebCore/css/calc/CSSCalcTree+CalculationValue.cpp
    M Source/WebCore/css/calc/CSSCalcTree+Simplification.cpp
    M Source/WebCore/css/calc/CSSCalcType.cpp
    M Source/WebCore/css/calc/CSSCalcValue.cpp
    M Source/WebCore/css/parser/CSSPropertyParserConsumer+CSSPrimitiveValueResolver.h
    M Source/WebCore/css/parser/CSSPropertyParserConsumer+IntegerDefinitions.h
    M Source/WebCore/platform/calc/CalculationCategory.cpp
    M Source/WebCore/platform/calc/CalculationCategory.h

  Log Message:
  -----------
  Don't eagerly evaluate calc() of <integer> values
https://bugs.webkit.org/show_bug.cgi?id=278950

Reviewed by Darin Adler.

Makes processing of <integer> primitive values match other
primitive values by deferring calc() evaluation until style
building. With it no longer being eagerly evaluated, we also
now need to handle it as a potential calc() value to allow
proper clamping to integral bounds.

* LayoutTests/fast/css/order-calculated-value-expected.txt:
* LayoutTests/fast/css/order-calculated-value.html:
* LayoutTests/fast/css/webkit-line-clamp-calculated-value-expected.txt:
* LayoutTests/fast/css/webkit-line-clamp-calculated-value.html:
* LayoutTests/fast/css/z-index-calculated-value-expected.txt:
* LayoutTests/fast/css/z-index-calculated-value.html:
* LayoutTests/imported/w3c/web-platform-tests/css/css-values/signs-abs-computed-expected.txt:
* Source/WebCore/css/calc/CSSCalcTree+CalculationValue.cpp:
(WebCore::CSSCalc::determineCanonicalDimension):
* Source/WebCore/css/calc/CSSCalcTree+Simplification.cpp:
(WebCore::CSSCalc::percentageResolveToDimension):
(WebCore::CSSCalc::simplify):
* Source/WebCore/css/calc/CSSCalcType.cpp:
(WebCore::CSSCalc::Type::determinePercentHint):
(WebCore::CSSCalc::Type::matches const):
* Source/WebCore/css/calc/CSSCalcValue.cpp:
(WebCore::CSSCalcValue::primitiveType const):
(WebCore::CSSCalcValue::clampToPermittedRange const):
* Source/WebCore/css/parser/CSSPropertyParserConsumer+CSSPrimitiveValueResolver.h:
(WebCore::CSSPropertyParserHelpers::CSSPrimitiveValueResolverBase::resolve):
* Source/WebCore/css/parser/CSSPropertyParserConsumer+IntegerDefinitions.h:
(WebCore::CSSPropertyParserHelpers::IntegerKnownTokenTypeFunctionConsumer::consume):
* Source/WebCore/platform/calc/CalculationCategory.cpp:
(WebCore::Calculation::operator<<):
* Source/WebCore/platform/calc/CalculationCategory.h:

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



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list