[webkit-changes] [WebKit/WebKit] 63aa28: Use strongly typed primitive values in CSS/Style g...
Sam Weinig
noreply at github.com
Thu Sep 26 12:34:27 PDT 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 63aa285e5072b20545b6b994024e09d68be3f1ad
https://github.com/WebKit/WebKit/commit/63aa285e5072b20545b6b994024e09d68be3f1ad
Author: Sam Weinig <sam at webkit.org>
Date: 2024-09-26 (Thu, 26 Sep 2024)
Changed paths:
M Source/WebCore/CMakeLists.txt
M Source/WebCore/Headers.cmake
M Source/WebCore/Sources.txt
M Source/WebCore/WebCore.xcodeproj/project.pbxproj
M Source/WebCore/css/CSSFilterFunctionDescriptor.h
M Source/WebCore/css/CSSFontFaceSet.cpp
M Source/WebCore/css/CSSGradientValue.cpp
M Source/WebCore/css/CSSGradientValue.h
M Source/WebCore/css/CSSPrimitiveValue.cpp
M Source/WebCore/css/CSSPrimitiveValue.h
M Source/WebCore/css/CSSUnits.cpp
M Source/WebCore/css/CSSUnits.h
M Source/WebCore/css/calc/CSSCalcTree+CalculationValue.cpp
M Source/WebCore/css/calc/CSSCalcTree+ComputedStyleDependencies.cpp
M Source/WebCore/css/calc/CSSCalcTree+Copy.cpp
M Source/WebCore/css/calc/CSSCalcTree+Evaluation.cpp
M Source/WebCore/css/calc/CSSCalcTree+NumericIdentity.h
M Source/WebCore/css/calc/CSSCalcTree+Parser.cpp
M Source/WebCore/css/calc/CSSCalcTree+Parser.h
M Source/WebCore/css/calc/CSSCalcTree+Serialization.cpp
M Source/WebCore/css/calc/CSSCalcTree+Simplification.cpp
M Source/WebCore/css/calc/CSSCalcTree+Traversal.h
M Source/WebCore/css/calc/CSSCalcTree.cpp
M Source/WebCore/css/calc/CSSCalcTree.h
M Source/WebCore/css/calc/CSSCalcType.cpp
M Source/WebCore/css/calc/CSSCalcValue.cpp
M Source/WebCore/css/calc/CSSCalcValue.h
M Source/WebCore/css/color/CSSAbsoluteColorResolver.h
M Source/WebCore/css/color/CSSAbsoluteColorSerialization.h
M Source/WebCore/css/color/CSSColorConversion+Normalize.h
M Source/WebCore/css/color/CSSColorConversion+ToTypedColor.h
M Source/WebCore/css/color/CSSColorDescriptors.h
M Source/WebCore/css/color/CSSColorMixResolver.cpp
M Source/WebCore/css/color/CSSColorMixResolver.h
M Source/WebCore/css/color/CSSColorMixSerialization.cpp
M Source/WebCore/css/color/CSSColorMixSerialization.h
M Source/WebCore/css/color/CSSRelativeColorResolver.h
M Source/WebCore/css/color/CSSRelativeColorSerialization.h
M Source/WebCore/css/color/CSSUnresolvedAbsoluteColor.h
M Source/WebCore/css/color/CSSUnresolvedColor.h
M Source/WebCore/css/color/CSSUnresolvedColorMix.cpp
M Source/WebCore/css/color/CSSUnresolvedColorMix.h
M Source/WebCore/css/color/CSSUnresolvedRelativeColor.h
M Source/WebCore/css/color/StyleColorMix.h
M Source/WebCore/css/color/StyleRelativeColor.h
M Source/WebCore/css/parser/CSSParserFastPaths.cpp
M Source/WebCore/css/parser/CSSParserImpl.cpp
M Source/WebCore/css/parser/CSSPropertyParserConsumer+Angle.cpp
M Source/WebCore/css/parser/CSSPropertyParserConsumer+Angle.h
M Source/WebCore/css/parser/CSSPropertyParserConsumer+AngleDefinitions.h
A Source/WebCore/css/parser/CSSPropertyParserConsumer+AnglePercentage.cpp
A Source/WebCore/css/parser/CSSPropertyParserConsumer+AnglePercentage.h
A Source/WebCore/css/parser/CSSPropertyParserConsumer+AnglePercentageDefinitions.h
M Source/WebCore/css/parser/CSSPropertyParserConsumer+CSSPrimitiveValueResolver.cpp
M Source/WebCore/css/parser/CSSPropertyParserConsumer+CSSPrimitiveValueResolver.h
M Source/WebCore/css/parser/CSSPropertyParserConsumer+Color.cpp
M Source/WebCore/css/parser/CSSPropertyParserConsumer+Font.cpp
M Source/WebCore/css/parser/CSSPropertyParserConsumer+Font.h
M Source/WebCore/css/parser/CSSPropertyParserConsumer+Image.cpp
M Source/WebCore/css/parser/CSSPropertyParserConsumer+Integer.cpp
M Source/WebCore/css/parser/CSSPropertyParserConsumer+Integer.h
M Source/WebCore/css/parser/CSSPropertyParserConsumer+IntegerDefinitions.h
M Source/WebCore/css/parser/CSSPropertyParserConsumer+Length.cpp
M Source/WebCore/css/parser/CSSPropertyParserConsumer+Length.h
M Source/WebCore/css/parser/CSSPropertyParserConsumer+LengthDefinitions.h
M Source/WebCore/css/parser/CSSPropertyParserConsumer+LengthPercentage.cpp
M Source/WebCore/css/parser/CSSPropertyParserConsumer+LengthPercentage.h
M Source/WebCore/css/parser/CSSPropertyParserConsumer+LengthPercentageDefinitions.h
M Source/WebCore/css/parser/CSSPropertyParserConsumer+MetaConsumer.h
M Source/WebCore/css/parser/CSSPropertyParserConsumer+MetaResolver.h
M Source/WebCore/css/parser/CSSPropertyParserConsumer+None.cpp
M Source/WebCore/css/parser/CSSPropertyParserConsumer+NoneDefinitions.h
M Source/WebCore/css/parser/CSSPropertyParserConsumer+Number.cpp
M Source/WebCore/css/parser/CSSPropertyParserConsumer+Number.h
M Source/WebCore/css/parser/CSSPropertyParserConsumer+NumberDefinitions.h
M Source/WebCore/css/parser/CSSPropertyParserConsumer+Percentage.cpp
M Source/WebCore/css/parser/CSSPropertyParserConsumer+Percentage.h
M Source/WebCore/css/parser/CSSPropertyParserConsumer+PercentageDefinitions.h
M Source/WebCore/css/parser/CSSPropertyParserConsumer+Position.cpp
M Source/WebCore/css/parser/CSSPropertyParserConsumer+Position.h
M Source/WebCore/css/parser/CSSPropertyParserConsumer+Primitives.cpp
M Source/WebCore/css/parser/CSSPropertyParserConsumer+Primitives.h
R Source/WebCore/css/parser/CSSPropertyParserConsumer+RawTypes.cpp
R Source/WebCore/css/parser/CSSPropertyParserConsumer+RawTypes.h
M Source/WebCore/css/parser/CSSPropertyParserConsumer+Resolution.cpp
M Source/WebCore/css/parser/CSSPropertyParserConsumer+Resolution.h
M Source/WebCore/css/parser/CSSPropertyParserConsumer+ResolutionDefinitions.h
M Source/WebCore/css/parser/CSSPropertyParserConsumer+Symbol.cpp
M Source/WebCore/css/parser/CSSPropertyParserConsumer+SymbolDefinitions.h
M Source/WebCore/css/parser/CSSPropertyParserConsumer+Time.cpp
M Source/WebCore/css/parser/CSSPropertyParserConsumer+Time.h
M Source/WebCore/css/parser/CSSPropertyParserConsumer+TimeDefinitions.h
R Source/WebCore/css/parser/CSSPropertyParserConsumer+UnevaluatedCalc.cpp
R Source/WebCore/css/parser/CSSPropertyParserConsumer+UnevaluatedCalc.h
M Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp
M Source/WebCore/css/parser/CSSPropertyParserHelpers.h
A Source/WebCore/css/parser/CSSPropertyParserOptions.h
M Source/WebCore/css/parser/CSSVariableParser.cpp
M Source/WebCore/css/process-css-properties.py
M Source/WebCore/css/query/GenericMediaQueryParser.cpp
M Source/WebCore/css/typedom/CSSNumericValue.cpp
A Source/WebCore/css/values/CSSPosition.cpp
A Source/WebCore/css/values/CSSPosition.h
A Source/WebCore/css/values/CSSPrimitiveNumericTypes+ComputedStyleDependencies.cpp
A Source/WebCore/css/values/CSSPrimitiveNumericTypes+ComputedStyleDependencies.h
A Source/WebCore/css/values/CSSPrimitiveNumericTypes+EvaluateCalc.h
A Source/WebCore/css/values/CSSPrimitiveNumericTypes+Serialization.cpp
A Source/WebCore/css/values/CSSPrimitiveNumericTypes+Serialization.h
A Source/WebCore/css/values/CSSPrimitiveNumericTypes+SymbolReplacement.cpp
A Source/WebCore/css/values/CSSPrimitiveNumericTypes+SymbolReplacement.h
A Source/WebCore/css/values/CSSPrimitiveNumericTypes.h
A Source/WebCore/css/values/CSSUnevaluatedCalc.cpp
A Source/WebCore/css/values/CSSUnevaluatedCalc.h
A Source/WebCore/css/values/CSSValueTypes.h
M Source/WebCore/html/HTMLInputElement.cpp
M Source/WebCore/platform/FloatConversion.h
M Source/WebCore/platform/Length.cpp
M Source/WebCore/platform/calc/CalculationCategory.cpp
M Source/WebCore/platform/calc/CalculationCategory.h
M Source/WebCore/platform/calc/CalculationValue.cpp
M Source/WebCore/platform/calc/CalculationValue.h
M Source/WebCore/rendering/style/StyleGradientImage.cpp
M Source/WebCore/rendering/style/StyleGradientImage.h
M Source/WebCore/style/AnchorPositionEvaluator.cpp
M Source/WebCore/style/AnchorPositionEvaluator.h
M Source/WebCore/style/FilterOperationsBuilder.cpp
M Source/WebCore/style/StyleAdjuster.cpp
M Source/WebCore/style/StyleBuilder.cpp
M Source/WebCore/style/StyleBuilderConverter.h
M Source/WebCore/style/StyleBuilderCustom.h
M Source/WebCore/style/StyleResolveForDocument.cpp
M Source/WebCore/style/StyleResolveForFont.cpp
M Source/WebCore/style/TransformOperationsBuilder.cpp
A Source/WebCore/style/values/StylePosition.cpp
A Source/WebCore/style/values/StylePosition.h
A Source/WebCore/style/values/StylePrimitiveNumericTypes+Conversions.cpp
A Source/WebCore/style/values/StylePrimitiveNumericTypes+Conversions.h
A Source/WebCore/style/values/StylePrimitiveNumericTypes.cpp
A Source/WebCore/style/values/StylePrimitiveNumericTypes.h
A Source/WebCore/style/values/StyleValueTypes.h
Log Message:
-----------
Use strongly typed primitive values in CSS/Style gradient code
https://bugs.webkit.org/show_bug.cgi?id=279721
Reviewed by Darin Adler.
This change introduces a new set of primitive values that will be
used to implement CSS property values, eventually hoping to replace
the CSSValue hierarchy completely.
The goals of the new representation are to be:
- strongly typed
- value based
- memory efficient
- worker safe
At a high level, CSS properties will be modeled as two algebraic
data types (e.g. conceptually compose of std::variant, std::tuple
and scalars):
- the css value (in a new WebCore::CSS namespace)
- the style value (in the WebCore::Style namespace)
Replacing CSSPrimitiveValue is a new set of strongly typed numeric
primitives. These have names that mirror the specification like
LengthPercentage or Angle, and have representations in both the
CSS and Style worlds. In the CSS world, these primitive numeric
values are the union of both raw numeric representation and the
simplified calc() representation. In the Style world, these
primitive numeric values are usually just the fully resolved raw
value, but in some case, such as the *Foo*Percentage types, they
can have more complex representations including unresolved
calculation values.
To create aggregate (product) types, as will be necessary for most
properties, tuple like containers are available. The first container,
introduced in this change, is called `SpaceSeparatedTuple` and
represents as the name implies, a space separated tuple of values.
By providing the semantics of serialization in the type, we can
simplify how serialization works.
To create variants (sum) types, std::variant can be used directly,
or wrapped in a struct, if custom operations are needed for it.
For simple cases, say, a property with a space separated set of
LengthPercentages:
<foo> = [ <length-percentage> <length-percentage> ]
the CSS representation would be:
CSS::SpaceSeparatedTuple<CSS::LengthPercentage, CSS::LengthPercentage>
and the Style representation would be:
Style::SpaceSeparatedTuple<Style::LengthPercentage, Style::LengthPercentage>
and no custom logic would need to be written.
However, more complex cases, like <position>, which is included in
this change, where the spec mandates specific rules when resolving
the style, a custom type is needed. For <position>, both a CSS and
Style type are needed. For CSS, its roughly (details of the complex
structure elided):
namespace WebCore::CSS {
using TwoComponentPosition = ...
using FourComponentPosition = ...
struct Position {
std::variant<TwoComponentPosition, FourComponentPosition> value;
};
}
For Style its roughly:
namespace WebCore::Style {
struct Position {
SpaceSeparatedTuple<LengthPercentage, LengthPercentage> value;
};
}
In addition to defining the types, the following functions are needed:
For CSS: `serializationForCSS`, `collectComputedStyleDependencies`, `visitCSSValueChildren`
For Style: `toStyle`, `toCSS`
The two crucial ones are the conversion operators in Style, which implement
the custom logic. For the most part, the ones in CSS can usually forward
to builtin implementations, passing the inner value.
This is just the first step in this process. The initial goal is to rework
the implementations of existing CSSValue subclasses, like gradient subclasses
in this change, and evolve the primitives as we go.
* Source/WebCore/CMakeLists.txt:
* Source/WebCore/Headers.cmake:
* Source/WebCore/Sources.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/css/CSSFilterFunctionDescriptor.h:
* Source/WebCore/css/CSSFontFaceSet.cpp:
* Source/WebCore/css/CSSGradientValue.cpp:
* Source/WebCore/css/CSSGradientValue.h:
* Source/WebCore/css/CSSPrimitiveValue.cpp:
* Source/WebCore/css/CSSPrimitiveValue.h:
* Source/WebCore/css/CSSUnits.cpp:
* Source/WebCore/css/CSSUnits.h:
* Source/WebCore/css/calc/CSSCalcTree+CalculationValue.cpp:
* Source/WebCore/css/calc/CSSCalcTree+ComputedStyleDependencies.cpp:
* Source/WebCore/css/calc/CSSCalcTree+Copy.cpp:
* Source/WebCore/css/calc/CSSCalcTree+Evaluation.cpp:
* Source/WebCore/css/calc/CSSCalcTree+NumericIdentity.h:
* Source/WebCore/css/calc/CSSCalcTree+Parser.cpp:
* Source/WebCore/css/calc/CSSCalcTree+Parser.h:
* Source/WebCore/css/calc/CSSCalcTree+Serialization.cpp:
* Source/WebCore/css/calc/CSSCalcTree+Simplification.cpp:
* Source/WebCore/css/calc/CSSCalcTree+Traversal.h:
* Source/WebCore/css/calc/CSSCalcTree.cpp:
* Source/WebCore/css/calc/CSSCalcTree.h:
* Source/WebCore/css/calc/CSSCalcType.cpp:
* Source/WebCore/css/calc/CSSCalcValue.cpp:
* Source/WebCore/css/calc/CSSCalcValue.h:
* Source/WebCore/css/color/CSSAbsoluteColorResolver.h:
* Source/WebCore/css/color/CSSAbsoluteColorSerialization.h:
* Source/WebCore/css/color/CSSColorConversion+Normalize.h:
* Source/WebCore/css/color/CSSColorConversion+ToTypedColor.h:
* Source/WebCore/css/color/CSSColorDescriptors.h:
* Source/WebCore/css/color/CSSColorMixResolver.cpp:
* Source/WebCore/css/color/CSSColorMixResolver.h:
* Source/WebCore/css/color/CSSColorMixSerialization.cpp:
* Source/WebCore/css/color/CSSColorMixSerialization.h:
* Source/WebCore/css/color/CSSRelativeColorResolver.h:
* Source/WebCore/css/color/CSSRelativeColorSerialization.h:
* Source/WebCore/css/color/CSSUnresolvedAbsoluteColor.h:
* Source/WebCore/css/color/CSSUnresolvedColor.h:
* Source/WebCore/css/color/CSSUnresolvedColorMix.cpp:
* Source/WebCore/css/color/CSSUnresolvedColorMix.h:
* Source/WebCore/css/color/CSSUnresolvedRelativeColor.h:
* Source/WebCore/css/color/StyleColorMix.h:
* Source/WebCore/css/color/StyleRelativeColor.h:
* Source/WebCore/css/parser/CSSParserFastPaths.cpp:
* Source/WebCore/css/parser/CSSParserImpl.cpp:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+Angle.cpp:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+Angle.h:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+AngleDefinitions.h:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+AnglePercentage.cpp: Added.
* Source/WebCore/css/parser/CSSPropertyParserConsumer+AnglePercentage.h: Added.
* Source/WebCore/css/parser/CSSPropertyParserConsumer+AnglePercentageDefinitions.h: Added.
* Source/WebCore/css/parser/CSSPropertyParserConsumer+CSSPrimitiveValueResolver.cpp:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+CSSPrimitiveValueResolver.h:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+Color.cpp:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+Font.cpp:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+Font.h:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+Image.cpp:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+Integer.cpp:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+Integer.h:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+IntegerDefinitions.h:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+Length.cpp:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+Length.h:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+LengthDefinitions.h:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+LengthPercentage.cpp:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+LengthPercentage.h:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+LengthPercentageDefinitions.h:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+MetaConsumer.h:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+MetaResolver.h:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+None.cpp:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+NoneDefinitions.h:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+Number.cpp:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+Number.h:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+NumberDefinitions.h:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+Percentage.cpp:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+Percentage.h:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+PercentageDefinitions.h:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+Position.cpp:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+Position.h:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+Primitives.cpp:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+Primitives.h:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+RawTypes.h: Removed.
* Source/WebCore/css/parser/CSSPropertyParserConsumer+Resolution.cpp:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+Resolution.h:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+ResolutionDefinitions.h:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+Symbol.cpp:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+SymbolDefinitions.h:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+Time.cpp:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+Time.h:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+TimeDefinitions.h:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+UnevaluatedCalc.cpp: Removed.
* Source/WebCore/css/parser/CSSPropertyParserConsumer+UnevaluatedCalc.h: Removed.
* Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp:
* Source/WebCore/css/parser/CSSPropertyParserHelpers.h:
* Source/WebCore/css/parser/CSSPropertyParserOptions.h: Copied from Source/WebCore/css/parser/CSSPropertyParserConsumer+Primitives.h.
* Source/WebCore/css/parser/CSSVariableParser.cpp:
* Source/WebCore/css/process-css-properties.py:
* Source/WebCore/css/query/GenericMediaQueryParser.cpp:
* Source/WebCore/css/typedom/CSSNumericValue.cpp:
* Source/WebCore/css/values/CSSPosition.cpp: Added.
* Source/WebCore/css/values/CSSPosition.h: Added.
* Source/WebCore/css/values/CSSPrimitiveNumericTypes+ComputedStyleDependencies.cpp: Added.
* Source/WebCore/css/values/CSSPrimitiveNumericTypes+ComputedStyleDependencies.h: Added.
* Source/WebCore/css/values/CSSPrimitiveNumericTypes+EvaluateCalc.h: Added.
* Source/WebCore/css/values/CSSPrimitiveNumericTypes+Serialization.cpp: Added.
* Source/WebCore/css/values/CSSPrimitiveNumericTypes+Serialization.h: Added.
* Source/WebCore/css/values/CSSPrimitiveNumericTypes+SymbolReplacement.cpp: Added.
* Source/WebCore/css/values/CSSPrimitiveNumericTypes+SymbolReplacement.h: Added.
* Source/WebCore/css/values/CSSPrimitiveNumericTypes.h: Added.
* Source/WebCore/css/values/CSSUnevaluatedCalc.cpp: Added.
* Source/WebCore/css/values/CSSUnevaluatedCalc.h: Added.
* Source/WebCore/css/values/CSSValueTypes.h: Added.
* Source/WebCore/html/HTMLInputElement.cpp:
* Source/WebCore/platform/FloatConversion.h:
* Source/WebCore/platform/Length.cpp:
* Source/WebCore/platform/calc/CalculationCategory.cpp:
* Source/WebCore/platform/calc/CalculationCategory.h:
* Source/WebCore/platform/calc/CalculationValue.cpp:
* Source/WebCore/platform/calc/CalculationValue.h:
* Source/WebCore/rendering/style/StyleGradientImage.cpp:
* Source/WebCore/rendering/style/StyleGradientImage.h:
* Source/WebCore/style/AnchorPositionEvaluator.cpp:
* Source/WebCore/style/AnchorPositionEvaluator.h:
* Source/WebCore/style/FilterOperationsBuilder.cpp:
* Source/WebCore/style/StyleAdjuster.cpp:
* Source/WebCore/style/StyleBuilder.cpp:
* Source/WebCore/style/StyleBuilderConverter.h:
* Source/WebCore/style/StyleBuilderCustom.h:
* Source/WebCore/style/StyleResolveForDocument.cpp:
* Source/WebCore/style/StyleResolveForFont.cpp:
* Source/WebCore/style/TransformOperationsBuilder.cpp:
* Source/WebCore/style/values/StylePosition.cpp: Added.
* Source/WebCore/style/values/StylePosition.h: Added.
* Source/WebCore/style/values/StylePrimitiveNumericTypes+Conversions.cpp: Added.
* Source/WebCore/style/values/StylePrimitiveNumericTypes+Conversions.h: Added.
* Source/WebCore/style/values/StylePrimitiveNumericTypes.cpp: Added.
* Source/WebCore/style/values/StylePrimitiveNumericTypes.h: Added.
* Source/WebCore/style/values/StyleValueTypes.h: Added.
Canonical link: https://commits.webkit.org/284305@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