[webkit-changes] [WebKit/WebKit] e6902e: Re-implement calc() to more closely align with cur...
Commit Queue
noreply at github.com
Wed Aug 21 14:29:02 PDT 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: e6902e0483c51982df75abe81235860eae084e35
https://github.com/WebKit/WebKit/commit/e6902e0483c51982df75abe81235860eae084e35
Author: Sam Weinig <sam at webkit.org>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M LayoutTests/TestExpectations
M LayoutTests/fast/css/calc-parsing-expected.txt
M LayoutTests/fast/css/calc-parsing.html
M LayoutTests/fast/css/object-position/parsing-object-position-expected.txt
M LayoutTests/fast/css/object-position/parsing-object-position.html
M LayoutTests/fast/shapes/shape-outside-floats/shape-outside-animation-expected.txt
M LayoutTests/fast/shapes/shape-outside-floats/shape-outside-animation.html
M LayoutTests/imported/w3c/web-platform-tests/css/css-color/parsing/color-valid-color-mix-function-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/css/css-masking/parsing/clip-path-computed-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/register-property-syntax-parsing-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-functions/xywh-function-computed-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/css/css-transforms/animation/translate-composition-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssScale.tentative-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/background-size-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-weight-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/css/css-values/acos-asin-atan-atan2-computed-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-in-media-queries-with-mixed-units-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-nesting-002-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/css/css-values/getComputedStyle-calc-mixed-units-003-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/css/css-values/hypot-pow-sqrt-invalid-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-percentage-serialize-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/css/css-values/round-function-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/css/css-values/round-mod-rem-computed-expected.txt
M Source/WTF/wtf/MathExtras.h
M Source/WTF/wtf/StdLibExtras.h
M Source/WTF/wtf/unicode/icu/ICUHelpers.h
M Source/WebCore/Headers.cmake
M Source/WebCore/Sources.txt
M Source/WebCore/WebCore.xcodeproj/project.pbxproj
M Source/WebCore/css/BasicShapeConversion.cpp
M Source/WebCore/css/CSSCustomPropertyValue.cpp
M Source/WebCore/css/CSSGradientValue.cpp
R Source/WebCore/css/CSSHelper.h
M Source/WebCore/css/CSSPrimitiveValue.cpp
M Source/WebCore/css/CSSPrimitiveValue.h
M Source/WebCore/css/CSSPrimitiveValueMappings.h
M Source/WebCore/css/CSSToStyleMap.cpp
M Source/WebCore/css/CSSUnits.cpp
M Source/WebCore/css/CSSUnits.h
R Source/WebCore/css/calc/CSSCalcCategoryMapping.cpp
R Source/WebCore/css/calc/CSSCalcCategoryMapping.h
R Source/WebCore/css/calc/CSSCalcExpressionNode.cpp
R Source/WebCore/css/calc/CSSCalcExpressionNode.h
R Source/WebCore/css/calc/CSSCalcExpressionNodeParser.cpp
R Source/WebCore/css/calc/CSSCalcExpressionNodeParser.h
R Source/WebCore/css/calc/CSSCalcInvertNode.cpp
R Source/WebCore/css/calc/CSSCalcInvertNode.h
R Source/WebCore/css/calc/CSSCalcNegateNode.cpp
R Source/WebCore/css/calc/CSSCalcNegateNode.h
R Source/WebCore/css/calc/CSSCalcOperationNode.cpp
R Source/WebCore/css/calc/CSSCalcOperationNode.h
R Source/WebCore/css/calc/CSSCalcPrimitiveValueNode.cpp
R Source/WebCore/css/calc/CSSCalcPrimitiveValueNode.h
R Source/WebCore/css/calc/CSSCalcSymbolNode.cpp
R Source/WebCore/css/calc/CSSCalcSymbolNode.h
M Source/WebCore/css/calc/CSSCalcSymbolTable.h
A Source/WebCore/css/calc/CSSCalcTree+CalculationValue.cpp
A Source/WebCore/css/calc/CSSCalcTree+CalculationValue.h
A Source/WebCore/css/calc/CSSCalcTree+ComputedStyleDependencies.cpp
A Source/WebCore/css/calc/CSSCalcTree+ComputedStyleDependencies.h
A Source/WebCore/css/calc/CSSCalcTree+Evaluation.cpp
A Source/WebCore/css/calc/CSSCalcTree+Evaluation.h
A Source/WebCore/css/calc/CSSCalcTree+NumericIdentity.h
A Source/WebCore/css/calc/CSSCalcTree+Parser.cpp
A Source/WebCore/css/calc/CSSCalcTree+Parser.h
A Source/WebCore/css/calc/CSSCalcTree+Serialization.cpp
A Source/WebCore/css/calc/CSSCalcTree+Serialization.h
A Source/WebCore/css/calc/CSSCalcTree+Simplification.cpp
A Source/WebCore/css/calc/CSSCalcTree+Simplification.h
A Source/WebCore/css/calc/CSSCalcTree+Traversal.h
A Source/WebCore/css/calc/CSSCalcTree.cpp
A Source/WebCore/css/calc/CSSCalcTree.h
A Source/WebCore/css/calc/CSSCalcType.cpp
A Source/WebCore/css/calc/CSSCalcType.h
M Source/WebCore/css/calc/CSSCalcValue.cpp
M Source/WebCore/css/calc/CSSCalcValue.h
M Source/WebCore/css/parser/CSSCalcParser.cpp
M Source/WebCore/css/parser/CSSCalcParser.h
M Source/WebCore/css/parser/CSSPropertyParser.cpp
M Source/WebCore/css/parser/CSSPropertyParserConsumer+Angle.cpp
M Source/WebCore/css/parser/CSSPropertyParserConsumer+CSSPrimitiveValueResolver.cpp
M Source/WebCore/css/parser/CSSPropertyParserConsumer+CSSPrimitiveValueResolver.h
M Source/WebCore/css/parser/CSSPropertyParserConsumer+IntegerDefinitions.h
M Source/WebCore/css/parser/CSSPropertyParserConsumer+Length.cpp
M Source/WebCore/css/parser/CSSPropertyParserConsumer+Number.cpp
M Source/WebCore/css/parser/CSSPropertyParserConsumer+Percent.cpp
M Source/WebCore/css/parser/CSSPropertyParserConsumer+RawResolver.h
M Source/WebCore/css/parser/CSSPropertyParserConsumer+Resolution.cpp
M Source/WebCore/css/parser/CSSPropertyParserConsumer+Time.cpp
M Source/WebCore/css/parser/CSSPropertyParserConsumer+UnevaluatedCalc.cpp
M Source/WebCore/css/parser/CSSPropertyParserConsumer+UnevaluatedCalc.h
M Source/WebCore/css/typedom/CSSNumericValue.cpp
M Source/WebCore/css/typedom/CSSNumericValue.h
M Source/WebCore/css/typedom/CSSStyleValueFactory.cpp
M Source/WebCore/css/typedom/CSSUnitValue.cpp
M Source/WebCore/css/typedom/CSSUnitValue.h
M Source/WebCore/css/typedom/StylePropertyMap.cpp
M Source/WebCore/css/typedom/numeric/CSSMathClamp.cpp
M Source/WebCore/css/typedom/numeric/CSSMathClamp.h
M Source/WebCore/css/typedom/numeric/CSSMathInvert.cpp
M Source/WebCore/css/typedom/numeric/CSSMathInvert.h
M Source/WebCore/css/typedom/numeric/CSSMathMax.cpp
M Source/WebCore/css/typedom/numeric/CSSMathMax.h
M Source/WebCore/css/typedom/numeric/CSSMathMin.cpp
M Source/WebCore/css/typedom/numeric/CSSMathMin.h
M Source/WebCore/css/typedom/numeric/CSSMathNegate.cpp
M Source/WebCore/css/typedom/numeric/CSSMathNegate.h
M Source/WebCore/css/typedom/numeric/CSSMathProduct.cpp
M Source/WebCore/css/typedom/numeric/CSSMathProduct.h
M Source/WebCore/css/typedom/numeric/CSSMathSum.cpp
M Source/WebCore/css/typedom/numeric/CSSMathSum.h
A Source/WebCore/css/typedom/numeric/CSSMathValue.cpp
M Source/WebCore/css/typedom/numeric/CSSMathValue.h
M Source/WebCore/css/typedom/transform/CSSScale.cpp
M Source/WebCore/platform/Length.cpp
R Source/WebCore/platform/calc/CalcExpressionBlendLength.cpp
R Source/WebCore/platform/calc/CalcExpressionBlendLength.h
R Source/WebCore/platform/calc/CalcExpressionInversion.cpp
R Source/WebCore/platform/calc/CalcExpressionInversion.h
R Source/WebCore/platform/calc/CalcExpressionLength.cpp
R Source/WebCore/platform/calc/CalcExpressionLength.h
R Source/WebCore/platform/calc/CalcExpressionNegation.cpp
R Source/WebCore/platform/calc/CalcExpressionNegation.h
R Source/WebCore/platform/calc/CalcExpressionNode.cpp
R Source/WebCore/platform/calc/CalcExpressionNode.h
R Source/WebCore/platform/calc/CalcExpressionNumber.cpp
R Source/WebCore/platform/calc/CalcExpressionNumber.h
R Source/WebCore/platform/calc/CalcExpressionOperation.cpp
R Source/WebCore/platform/calc/CalcExpressionOperation.h
R Source/WebCore/platform/calc/CalcOperator.cpp
R Source/WebCore/platform/calc/CalcOperator.h
M Source/WebCore/platform/calc/CalculationCategory.cpp
M Source/WebCore/platform/calc/CalculationCategory.h
A Source/WebCore/platform/calc/CalculationExecutor.h
A Source/WebCore/platform/calc/CalculationOperator.cpp
A Source/WebCore/platform/calc/CalculationOperator.h
A Source/WebCore/platform/calc/CalculationTree+Copy.cpp
A Source/WebCore/platform/calc/CalculationTree+Copy.h
A Source/WebCore/platform/calc/CalculationTree+Evaluation.cpp
A Source/WebCore/platform/calc/CalculationTree+Evaluation.h
A Source/WebCore/platform/calc/CalculationTree+Traversal.h
A Source/WebCore/platform/calc/CalculationTree.cpp
A Source/WebCore/platform/calc/CalculationTree.h
M Source/WebCore/platform/calc/CalculationValue.cpp
M Source/WebCore/platform/calc/CalculationValue.h
M Source/WebCore/platform/graphics/cg/GradientRendererCG.cpp
M Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp
M Source/WebCore/rendering/mathml/RenderMathMLBlock.cpp
M Source/WebCore/style/StyleBuilderConverter.h
M Source/WebCore/style/StyleBuilderCustom.h
M Source/WebCore/style/StyleResolveForFontRaw.cpp
M Source/WebCore/svg/SVGLengthContext.cpp
M Source/WebCore/svg/SVGSVGElement.cpp
M Tools/TestWebKitAPI/CMakeLists.txt
M Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj
R Tools/TestWebKitAPI/Tests/WebCore/CalculationValue.cpp
Log Message:
-----------
Re-implement calc() to more closely align with current spec
https://bugs.webkit.org/show_bug.cgi?id=278244
Reviewed by Antti Koivisto.
Re-implements CSS calc() to more closely align with current spec.
Structurally, the two main components replaced are platform level
`CalcExpressionNode` tree, replaced by `Calculation::Tree`, and the
CSS level `CSSCalcExpressionNode` tree, replaced by `CSSCalc::Tree`.
The new implementations remove the use of inheritance / virtual
dispatch to implement the hierarchies, instead using std::variant
based model, as well as the use of reference counting, instead
any allocated is done via UniqueRef. There was practically no
sharing in the old code path, so the reference counting was not
being utilized.
By removing the vtable and allowing for leaf nodes to be completely
inline we can save quite a bit of memory (though I don't think it
is likely that calc() is where memory is being used). For a simple
calc() like:
calc(10% + 5em)
The old code would use:
CSSCalcValue = 8 (CSSValue) + 8 (pointer to CSSCalcOperationNode [sum]) + 1 (range) + 7 (padding) = 40
CSSCalcOperationNode [sum] = 32 (CSSCalcExpressionNode) + 8 (operator) + 16 (children vector) + 1 (range) + 1 (is root) + 6 (padding) = 64
CSSCalcPrimitiveValueNode [%] = 32 (we can consider CSSPrimitiveValue to be free due to value pool)
CSSCalcPrimitiveValueNode [em] = 32 (we can consider CSSPrimitiveValue to be free due to value pool)
Total = 168 bytes (+ malloc overhead of four allocations)
where as the new implementation uses:
CSSCalcValue = 8 (CSSValue) + 32 (CSSCalc::Tree) = 40
Sum (pointed to by Tree) = 16 (children vector) + 48 (vector buffer with two Child nodes) = 64 bytes
Percent (aka 10%) = free (inline in vector buffer)
Dimension (aka 5em) = free (inline in vector buffer)
Total = 104 bytes (+ malloc overhead of two allocations)
There is also plenty left to optimize if the want arises. Potential
profitable optimizations to try are:
- Reducing the size of the Child std::variant from 24 bytes down
to 16 bytes by either:
a) replacing the use of std::variant with a custom type that
allows packing the metadata of the leaf nodes with the tag.
b) removing the need for for leaf node metadata by exploding
it into individual structs (e.g. instead of one type called
CanonicalDimension with a dimension value, 6 types called
CanonicalDimensionLength, CanonicalDimensionAngle, ...).
- Use an arena to allocate the non-leaf nodes and use 16bit offsets
rather than pointers (we can constrain how many nodes are in calc()
quite a bit).
- Use a concise encoding for tree (RPN perhaps) and remove the need
for pointers or offsets entirely.
To make working with the trees more ergonomic, each operator node has
been made "tuple-like", meaning it can be destructured as well as used
by functions like WTF::apply(). The allows writing generic traversals
and constructions of operators, greatly reducing the amount of duplicate
code needed.
There are still a few failing calc() tests. The are mainly caused by
callers that don't pass conversion data when evaluating calc. They
will be resolved in followup changes.
* LayoutTests/TestExpectations:
Un-skip a test that was asserting in the old calc() code but no longer does.
* LayoutTests/fast/css/calc-parsing-expected.txt:
* LayoutTests/fast/css/calc-parsing.html:
* LayoutTests/fast/css/object-position/parsing-object-position-expected.txt:
* LayoutTests/fast/css/object-position/parsing-object-position.html:
* LayoutTests/fast/shapes/shape-outside-floats/shape-outside-animation-expected.txt:
* LayoutTests/fast/shapes/shape-outside-floats/shape-outside-animation.html:
* LayoutTests/imported/w3c/web-platform-tests/css/css-color/parsing/color-valid-color-mix-function-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-masking/parsing/clip-path-computed-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/register-property-syntax-parsing-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-functions/xywh-function-computed-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-transforms/animation/translate-composition-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssScale.tentative-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/background-size-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-weight-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-values/acos-asin-atan-atan2-computed-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-in-media-queries-with-mixed-units-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-nesting-002-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-values/getComputedStyle-calc-mixed-units-003-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-values/hypot-pow-sqrt-invalid-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-percentage-serialize-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-values/round-function-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-values/round-mod-rem-computed-expected.txt:
Test changes.
* Source/WTF/wtf/StdLibExtras.h:
(WTF::apply_impl):
(WTF::apply):
Adds WTF implementation of std::apply that works with tuple-like objects.
* Source/WebCore/Headers.cmake:
* Source/WebCore/Sources.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
Add new files.
* Source/WebCore/css/BasicShapeConversion.cpp:
* Source/WebCore/css/CSSCustomPropertyValue.cpp:
* Source/WebCore/css/CSSGradientValue.cpp:
* Source/WebCore/css/CSSHelper.h: Removed.
* Source/WebCore/css/CSSPrimitiveValue.cpp:
* Source/WebCore/css/CSSPrimitiveValue.h:
* Source/WebCore/css/CSSPrimitiveValueMappings.h:
* Source/WebCore/css/CSSToStyleMap.cpp:
* Source/WebCore/css/CSSUnits.cpp:
* Source/WebCore/css/CSSUnits.h:
* Source/WebCore/css/calc/CSSCalcCategoryMapping.cpp: Removed.
* Source/WebCore/css/calc/CSSCalcExpressionNode.cpp: Removed.
* Source/WebCore/css/calc/CSSCalcExpressionNode.h: Removed.
* Source/WebCore/css/calc/CSSCalcExpressionNodeParser.cpp: Removed.
* Source/WebCore/css/calc/CSSCalcExpressionNodeParser.h: Removed.
* Source/WebCore/css/calc/CSSCalcInvertNode.cpp: Removed.
* Source/WebCore/css/calc/CSSCalcInvertNode.h: Removed.
* Source/WebCore/css/calc/CSSCalcNegateNode.cpp: Removed.
* Source/WebCore/css/calc/CSSCalcNegateNode.h: Removed.
* Source/WebCore/css/calc/CSSCalcOperationNode.cpp: Removed.
* Source/WebCore/css/calc/CSSCalcOperationNode.h: Removed.
* Source/WebCore/css/calc/CSSCalcPrimitiveValueNode.cpp: Removed.
* Source/WebCore/css/calc/CSSCalcPrimitiveValueNode.h: Removed.
* Source/WebCore/css/calc/CSSCalcSymbolNode.cpp: Removed.
* Source/WebCore/css/calc/CSSCalcSymbolNode.h: Removed.
* Source/WebCore/css/calc/CSSCalcSymbolTable.h:
* Source/WebCore/css/calc/CSSCalcTree+CalculationValue.cpp: Added.
* Source/WebCore/css/calc/CSSCalcTree+CalculationValue.h: Added.
* Source/WebCore/css/calc/CSSCalcTree+ComputedStyleDependencies.cpp: Added.
* Source/WebCore/css/calc/CSSCalcTree+ComputedStyleDependencies.h: Added.
* Source/WebCore/css/calc/CSSCalcTree+Evaluation.cpp: Added.
* Source/WebCore/css/calc/CSSCalcTree+Evaluation.h: Added.
* Source/WebCore/css/calc/CSSCalcTree+NumericIdentity.h: Added.
* Source/WebCore/css/calc/CSSCalcTree+Parser.cpp: Added.
* Source/WebCore/css/calc/CSSCalcTree+Parser.h: Added.
* Source/WebCore/css/calc/CSSCalcTree+Serialization.cpp: Added.
* Source/WebCore/css/calc/CSSCalcTree+Serialization.h: Added.
* Source/WebCore/css/calc/CSSCalcTree+Simplification.cpp: Added.
* Source/WebCore/css/calc/CSSCalcTree+Simplification.h: Added.
* Source/WebCore/css/calc/CSSCalcTree+Traversal.h: Added.
* Source/WebCore/css/calc/CSSCalcTree.cpp: Added.
* Source/WebCore/css/calc/CSSCalcTree.h: Added.
* Source/WebCore/css/calc/CSSCalcType.cpp: Added.
* Source/WebCore/css/calc/CSSCalcType.h: Added.
* Source/WebCore/css/calc/CSSCalcValue.cpp:
* Source/WebCore/css/calc/CSSCalcValue.h:
* Source/WebCore/css/parser/CSSCalcParser.cpp:
* Source/WebCore/css/parser/CSSCalcParser.h:
* Source/WebCore/css/parser/CSSPropertyParser.cpp:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+Angle.cpp:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+CSSPrimitiveValueResolver.cpp:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+CSSPrimitiveValueResolver.h:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+IntegerDefinitions.h:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+Length.cpp:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+Number.cpp:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+Percent.cpp:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+RawResolver.h:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+Resolution.cpp:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+Time.cpp:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+UnevaluatedCalc.cpp:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+UnevaluatedCalc.h:
* Source/WebCore/css/typedom/CSSNumericValue.cpp:
* Source/WebCore/css/typedom/CSSNumericValue.h:
* Source/WebCore/css/typedom/CSSStyleValueFactory.cpp:
* Source/WebCore/css/typedom/CSSUnitValue.cpp:
* Source/WebCore/css/typedom/CSSUnitValue.h:
* Source/WebCore/css/typedom/StylePropertyMap.cpp:
* Source/WebCore/css/typedom/numeric/CSSMathClamp.cpp:
* Source/WebCore/css/typedom/numeric/CSSMathClamp.h:
* Source/WebCore/css/typedom/numeric/CSSMathInvert.cpp:
* Source/WebCore/css/typedom/numeric/CSSMathInvert.h:
* Source/WebCore/css/typedom/numeric/CSSMathMax.cpp:
* Source/WebCore/css/typedom/numeric/CSSMathMax.h:
* Source/WebCore/css/typedom/numeric/CSSMathMin.cpp:
* Source/WebCore/css/typedom/numeric/CSSMathMin.h:
* Source/WebCore/css/typedom/numeric/CSSMathNegate.cpp:
* Source/WebCore/css/typedom/numeric/CSSMathNegate.h:
* Source/WebCore/css/typedom/numeric/CSSMathProduct.cpp:
* Source/WebCore/css/typedom/numeric/CSSMathProduct.h:
* Source/WebCore/css/typedom/numeric/CSSMathSum.cpp:
* Source/WebCore/css/typedom/numeric/CSSMathSum.h:
* Source/WebCore/css/typedom/numeric/CSSMathValue.cpp: Added.
* Source/WebCore/css/typedom/numeric/CSSMathValue.h:
* Source/WebCore/css/typedom/transform/CSSScale.cpp:
* Source/WebCore/platform/Length.cpp:
* Source/WebCore/platform/calc/CalcExpressionBlendLength.cpp: Removed.
* Source/WebCore/platform/calc/CalcExpressionBlendLength.h: Removed.
* Source/WebCore/platform/calc/CalcExpressionInversion.cpp: Removed.
* Source/WebCore/platform/calc/CalcExpressionInversion.h: Removed.
* Source/WebCore/platform/calc/CalcExpressionLength.cpp: Removed.
* Source/WebCore/platform/calc/CalcExpressionLength.h: Removed.
* Source/WebCore/platform/calc/CalcExpressionNegation.cpp: Removed.
* Source/WebCore/platform/calc/CalcExpressionNegation.h: Removed.
* Source/WebCore/platform/calc/CalcExpressionNode.cpp: Removed.
* Source/WebCore/platform/calc/CalcExpressionNode.h: Removed.
* Source/WebCore/platform/calc/CalcExpressionNumber.cpp: Removed.
* Source/WebCore/platform/calc/CalcExpressionNumber.h: Removed.
* Source/WebCore/platform/calc/CalcExpressionOperation.cpp: Removed.
* Source/WebCore/platform/calc/CalcExpressionOperation.h: Removed.
* Source/WebCore/platform/calc/CalcOperator.cpp: Removed.
* Source/WebCore/platform/calc/CalcOperator.h: Removed.
* Source/WebCore/platform/calc/CalculationCategory.cpp:
* Source/WebCore/platform/calc/CalculationCategory.h:
* Source/WebCore/platform/calc/CalculationExecutor.h: Added.
* Source/WebCore/platform/calc/CalculationOperator.cpp: Added.
* Source/WebCore/platform/calc/CalculationOperator.h: Added.
* Source/WebCore/platform/calc/CalculationTree+Copy.cpp: Added.
* Source/WebCore/platform/calc/CalculationTree+Copy.h: Added.
* Source/WebCore/platform/calc/CalculationTree+Evaluation.cpp: Added.
* Source/WebCore/platform/calc/CalculationTree+Evaluation.h: Added.
* Source/WebCore/platform/calc/CalculationTree+Traversal.h: Added.
* Source/WebCore/platform/calc/CalculationTree.cpp: Added.
* Source/WebCore/platform/calc/CalculationTree.h: Added.
* Source/WebCore/platform/calc/CalculationValue.cpp:
* Source/WebCore/platform/calc/CalculationValue.h:
* Source/WebCore/platform/graphics/cg/GradientRendererCG.cpp:
* Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp:
* Source/WebCore/rendering/mathml/RenderMathMLBlock.cpp:
* Source/WebCore/style/StyleBuilderConverter.h:
* Source/WebCore/style/StyleBuilderCustom.h:
* Source/WebCore/style/StyleResolveForFontRaw.cpp:
* Source/WebCore/svg/SVGLengthContext.cpp:
* Source/WebCore/svg/SVGSVGElement.cpp:
Canonical link: https://commits.webkit.org/282580@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