Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 08941fb3dbebcce7e6a35625a5272ad5d775ea2c
https://github.com/WebKit/WebKit/commit/08941fb3dbebcce7e6a35625a5272ad5d775ea2c
Author: Sam Weinig <[email protected]>
Date: 2026-04-15 (Wed, 15 Apr 2026)
Changed paths:
M Source/WebCore/CMakeLists.txt
M Source/WebCore/Headers.cmake
M Source/WebCore/SaferCPPExpectations/NoDeleteCheckerExpectations
M Source/WebCore/SaferCPPExpectations/NoUncountedMemberCheckerExpectations
M Source/WebCore/SaferCPPExpectations/UncountedCallArgsCheckerExpectations
M Source/WebCore/Sources.txt
M Source/WebCore/WebCore.xcodeproj/project.pbxproj
M Source/WebCore/css/CSSAttrValue.cpp
M Source/WebCore/css/CSSAttrValue.h
M Source/WebCore/css/CSSCanvasValue.cpp
M Source/WebCore/css/CSSCanvasValue.h
M Source/WebCore/css/CSSCounterStyleDescriptors.cpp
M Source/WebCore/css/CSSCounterValue.cpp
M Source/WebCore/css/CSSCounterValue.h
M Source/WebCore/css/CSSCustomIdentValue.h
M Source/WebCore/css/CSSFontFace.cpp
M Source/WebCore/css/CSSFontFace.h
M Source/WebCore/css/CSSFontFaceSet.cpp
M Source/WebCore/css/CSSFontFaceSet.h
A Source/WebCore/css/CSSFontFamilyNameValue.cpp
A Source/WebCore/css/CSSFontFamilyNameValue.h
M Source/WebCore/css/CSSFontFeatureValuesRule.cpp
M Source/WebCore/css/CSSImageSetOptionValue.cpp
M Source/WebCore/css/CSSImageSetOptionValue.h
M Source/WebCore/css/CSSImageSetValue.cpp
M Source/WebCore/css/CSSMarkup.cpp
M Source/WebCore/css/CSSMarkup.h
M Source/WebCore/css/CSSNamedImageValue.cpp
M Source/WebCore/css/CSSNamedImageValue.h
M Source/WebCore/css/CSSPaintImageValue.cpp
M Source/WebCore/css/CSSPaintImageValue.h
M Source/WebCore/css/CSSPrimitiveValue.cpp
M Source/WebCore/css/CSSPrimitiveValue.h
A Source/WebCore/css/CSSStringValue.cpp
A Source/WebCore/css/CSSStringValue.h
M Source/WebCore/css/CSSURLValue.h
M Source/WebCore/css/CSSUnits.cpp
M Source/WebCore/css/CSSUnits.h
M Source/WebCore/css/CSSValue.cpp
M Source/WebCore/css/CSSValue.h
M Source/WebCore/css/CSSValuePool.cpp
M Source/WebCore/css/CSSValuePool.h
M Source/WebCore/css/DOMCSSRegisterCustomProperty.cpp
M Source/WebCore/css/DeprecatedCSSOMPrimitiveValue.cpp
M Source/WebCore/css/FontFace.cpp
M Source/WebCore/css/FontFace.h
M Source/WebCore/css/FontFace.idl
M Source/WebCore/css/calc/CSSCalcTree+NumericIdentity.h
M Source/WebCore/css/calc/CSSCalcTree+Serialization.cpp
M Source/WebCore/css/calc/CSSCalcTree+Simplification.cpp
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/parser/CSSParser.cpp
M Source/WebCore/css/parser/CSSPropertyParser.cpp
M Source/WebCore/css/parser/CSSPropertyParserConsumer+Animations.cpp
M Source/WebCore/css/parser/CSSPropertyParserConsumer+Attr.cpp
M Source/WebCore/css/parser/CSSPropertyParserConsumer+Content.cpp
M Source/WebCore/css/parser/CSSPropertyParserConsumer+Font.cpp
M Source/WebCore/css/parser/CSSPropertyParserConsumer+Image.cpp
M Source/WebCore/css/parser/CSSPropertyParserConsumer+MetaConsumer.h
M Source/WebCore/css/parser/CSSPropertyParserConsumer+String.cpp
M Source/WebCore/css/parser/CSSPropertyParserConsumer+String.h
M Source/WebCore/css/parser/CSSPropertyParserConsumer+ViewTransition.cpp
M Source/WebCore/css/typedom/CSSStyleValueFactory.cpp
M Source/WebCore/css/values/CSSSerializationContext.cpp
M Source/WebCore/css/values/CSSSerializationContext.h
M Source/WebCore/css/values/CSSValueTypes.cpp
M Source/WebCore/css/values/CSSValueTypes.h
A Source/WebCore/css/values/fonts/CSSFontFamilyName.cpp
A Source/WebCore/css/values/fonts/CSSFontFamilyName.h
M Source/WebCore/css/values/grid/CSSGridNamedAreaMap.cpp
M
Source/WebCore/css/values/primitives/CSSPrimitiveNumericTypes+Serialization.cpp
M
Source/WebCore/css/values/primitives/CSSPrimitiveNumericTypes+Serialization.h
A Source/WebCore/css/values/primitives/CSSString.cpp
A Source/WebCore/css/values/primitives/CSSString.h
M Source/WebCore/css/values/primitives/CSSURL.cpp
M Source/WebCore/css/values/primitives/CSSURL.h
M Source/WebCore/css/values/primitives/CSSURLModifiers.cpp
M Source/WebCore/css/values/primitives/CSSURLModifiers.h
M Source/WebCore/css/values/shapes/CSSPathFunction.cpp
M Source/WebCore/editing/EditingStyle.cpp
M Source/WebCore/editing/FontAttributeChanges.cpp
M Source/WebCore/editing/TextListParser.cpp
M Source/WebCore/editing/cocoa/FontAttributesCocoa.mm
M Source/WebCore/editing/cocoa/NodeHTMLConverter.mm
M Source/WebCore/html/canvas/CanvasRenderingContext2DBase.cpp
M
Source/WebCore/layout/formattingContexts/inline/display/InlineDisplayLineBuilder.cpp
M Source/WebCore/layout/formattingContexts/inline/text/TextUtil.cpp
M Source/WebCore/layout/integration/grid/LayoutIntegrationGridCoverage.cpp
M Source/WebCore/rendering/RenderCounter.cpp
M Source/WebCore/rendering/RenderListMarker.cpp
M Source/WebCore/rendering/RenderText.cpp
M Source/WebCore/rendering/RenderTreeAsText.cpp
M Source/WebCore/rendering/style/RenderStyle.cpp
M Source/WebCore/rendering/style/RenderStyle.h
M Source/WebCore/rendering/updating/RenderTreeUpdaterGeneratedContent.cpp
M Source/WebCore/style/ContainerQueryEvaluator.cpp
M Source/WebCore/style/ContainerQueryEvaluator.h
M Source/WebCore/style/PageRuleCollector.cpp
M Source/WebCore/style/PageRuleCollector.h
M Source/WebCore/style/PseudoElementUtilities.cpp
M Source/WebCore/style/PseudoElementUtilities.h
M Source/WebCore/style/RuleSet.cpp
M Source/WebCore/style/RuleSet.h
M Source/WebCore/style/ScopedName.cpp
M Source/WebCore/style/ScopedName.h
M Source/WebCore/style/StyleBuilder.cpp
M Source/WebCore/style/StyleBuilderCustom.h
M Source/WebCore/style/StyleCustomProperty.cpp
M Source/WebCore/style/StyleCustomProperty.h
M Source/WebCore/style/StyleExtractor.cpp
M Source/WebCore/style/StyleExtractor.h
M Source/WebCore/style/StyleExtractorCustom.h
M Source/WebCore/style/StyleResolver.cpp
M Source/WebCore/style/StyleResolver.h
M Source/WebCore/style/StyleScope.cpp
M Source/WebCore/style/StyleScope.h
M Source/WebCore/style/UserAgentStyle.cpp
M Source/WebCore/style/values/StyleValueTypes+CSSValueConversion.h
M Source/WebCore/style/values/StyleValueTypes.h
M Source/WebCore/style/values/animations/StyleSingleAnimationName.cpp
M Source/WebCore/style/values/animations/StyleSingleAnimationRangeName.cpp
M Source/WebCore/style/values/animations/StyleSingleAnimationRangeName.h
M Source/WebCore/style/values/color/StyleColor.cpp
M Source/WebCore/style/values/color/StyleColor.h
M Source/WebCore/style/values/color/StyleColorLayers.cpp
M Source/WebCore/style/values/color/StyleColorLayers.h
M Source/WebCore/style/values/color/StyleColorMix.cpp
M Source/WebCore/style/values/color/StyleColorMix.h
M Source/WebCore/style/values/color/StyleContrastColor.cpp
M Source/WebCore/style/values/color/StyleContrastColor.h
M Source/WebCore/style/values/color/StyleCurrentColor.cpp
M Source/WebCore/style/values/color/StyleCurrentColor.h
M Source/WebCore/style/values/color/StyleRelativeColor.h
M Source/WebCore/style/values/color/StyleResolvedColor.cpp
M Source/WebCore/style/values/color/StyleResolvedColor.h
M Source/WebCore/style/values/content/StyleContent.cpp
M Source/WebCore/style/values/content/StyleContent.h
M Source/WebCore/style/values/content/StyleQuotes.cpp
M Source/WebCore/style/values/content/StyleQuotes.h
M Source/WebCore/style/values/fonts/StyleFontFamily.cpp
M Source/WebCore/style/values/fonts/StyleFontFamilyName.cpp
M Source/WebCore/style/values/fonts/StyleFontFamilyName.h
M Source/WebCore/style/values/fonts/StyleFontVariantAlternates.cpp
M Source/WebCore/style/values/grid/StyleGridPosition.cpp
M Source/WebCore/style/values/grid/StyleGridPosition.h
M Source/WebCore/style/values/grid/StyleGridPositionsResolver.cpp
M Source/WebCore/style/values/images/kinds/StyleCanvasImage.cpp
M Source/WebCore/style/values/images/kinds/StyleCanvasImage.h
M Source/WebCore/style/values/images/kinds/StyleCursorImage.cpp
M Source/WebCore/style/values/images/kinds/StyleImageSet.cpp
M Source/WebCore/style/values/images/kinds/StyleMultiImage.cpp
M Source/WebCore/style/values/images/kinds/StyleMultiImage.h
M Source/WebCore/style/values/images/kinds/StyleNamedImage.cpp
M Source/WebCore/style/values/images/kinds/StyleNamedImage.h
M Source/WebCore/style/values/images/kinds/StylePaintImage.cpp
M Source/WebCore/style/values/images/kinds/StylePaintImage.h
M Source/WebCore/style/values/lists/StyleListStyleType.cpp
M Source/WebCore/style/values/lists/StyleListStyleType.h
M Source/WebCore/style/values/non-standard/StyleWebKitLocale.cpp
M Source/WebCore/style/values/non-standard/StyleWebKitLocale.h
M Source/WebCore/style/values/overflow/StyleBlockEllipsis.cpp
M Source/WebCore/style/values/overflow/StyleBlockEllipsis.h
M Source/WebCore/style/values/primitives/StyleCustomIdent.cpp
M Source/WebCore/style/values/primitives/StyleCustomIdent.h
A Source/WebCore/style/values/primitives/StyleString.cpp
A Source/WebCore/style/values/primitives/StyleString.h
M Source/WebCore/style/values/primitives/StyleURL.cpp
M Source/WebCore/style/values/primitives/StyleURL.h
M Source/WebCore/style/values/shapes/StylePathFunction.cpp
M Source/WebCore/style/values/shapes/StyleShapeFunction.cpp
M Source/WebCore/style/values/text-decoration/StyleTextEmphasisStyle.cpp
M Source/WebCore/style/values/text-decoration/StyleTextEmphasisStyle.h
M Source/WebCore/style/values/text/StyleHyphenateCharacter.h
Log Message:
-----------
Add strong CSS/Style types for CSS string values
https://bugs.webkit.org/show_bug.cgi?id=312088
Reviewed by Darin Adler.
Splits <string> and <font-family-name> out of CSSPrimitiveValue, adding new
CSS::String/Style::String/CSSStringValue and
CSS::FontFamilyName/CSSFontFamilyNameValue
types (Style::FontFamilyName already existed).
Additionally stops wrapping CSSAttrValue in CSSPrimitiveValue, which was
serving no purpose.
* Source/WebCore/CMakeLists.txt:
* Source/WebCore/Headers.cmake:
* Source/WebCore/Sources.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/css/CSSAttrValue.cpp:
* Source/WebCore/css/CSSAttrValue.h:
* Source/WebCore/css/CSSCanvasValue.cpp:
* Source/WebCore/css/CSSCanvasValue.h:
* Source/WebCore/css/CSSCounterStyleDescriptors.cpp:
* Source/WebCore/css/CSSCounterValue.cpp:
* Source/WebCore/css/CSSCounterValue.h:
* Source/WebCore/css/CSSCustomIdentValue.h:
* Source/WebCore/css/CSSFontFace.cpp:
* Source/WebCore/css/CSSFontFace.h:
* Source/WebCore/css/CSSFontFaceSet.cpp:
* Source/WebCore/css/CSSFontFaceSet.h:
* Source/WebCore/css/CSSFontFamilyNameValue.cpp: Added.
* Source/WebCore/css/CSSFontFamilyNameValue.h: Added.
* Source/WebCore/css/CSSFontFeatureValuesRule.cpp:
* Source/WebCore/css/CSSImageSetOptionValue.cpp:
* Source/WebCore/css/CSSImageSetOptionValue.h:
* Source/WebCore/css/CSSImageSetValue.cpp:
* Source/WebCore/css/CSSMarkup.cpp:
* Source/WebCore/css/CSSMarkup.h:
* Source/WebCore/css/CSSNamedImageValue.cpp:
* Source/WebCore/css/CSSNamedImageValue.h:
* Source/WebCore/css/CSSPaintImageValue.cpp:
* Source/WebCore/css/CSSPaintImageValue.h:
* Source/WebCore/css/CSSPrimitiveValue.cpp:
* Source/WebCore/css/CSSPrimitiveValue.h:
* Source/WebCore/css/CSSStringValue.cpp: Added.
* Source/WebCore/css/CSSStringValue.h: Added.
* Source/WebCore/css/CSSURLValue.h:
* Source/WebCore/css/CSSUnits.cpp:
* Source/WebCore/css/CSSUnits.h:
* Source/WebCore/css/CSSValue.cpp:
* Source/WebCore/css/CSSValue.h:
* Source/WebCore/css/CSSValuePool.cpp:
* Source/WebCore/css/CSSValuePool.h:
* Source/WebCore/css/DOMCSSRegisterCustomProperty.cpp:
* Source/WebCore/css/DeprecatedCSSOMPrimitiveValue.cpp:
* Source/WebCore/css/FontFace.cpp:
* Source/WebCore/css/FontFace.h:
* Source/WebCore/css/FontFace.idl:
* Source/WebCore/css/calc/CSSCalcTree+NumericIdentity.h:
* Source/WebCore/css/calc/CSSCalcTree+Serialization.cpp:
* Source/WebCore/css/calc/CSSCalcTree+Simplification.cpp:
* Source/WebCore/css/calc/CSSCalcTree.cpp:
* Source/WebCore/css/calc/CSSCalcTree.h:
* Source/WebCore/css/calc/CSSCalcType.cpp:
* Source/WebCore/css/parser/CSSParser.cpp:
* Source/WebCore/css/parser/CSSPropertyParser.cpp:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+Animations.cpp:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+Attr.cpp:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+Content.cpp:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+Font.cpp:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+Image.cpp:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+MetaConsumer.h:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+String.cpp:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+String.h:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+ViewTransition.cpp:
* Source/WebCore/css/typedom/CSSStyleValueFactory.cpp:
* Source/WebCore/css/values/CSSSerializationContext.cpp:
* Source/WebCore/css/values/CSSSerializationContext.h:
* Source/WebCore/css/values/CSSValueTypes.cpp:
* Source/WebCore/css/values/CSSValueTypes.h:
* Source/WebCore/css/values/fonts/CSSFontFamilyName.cpp: Added.
* Source/WebCore/css/values/fonts/CSSFontFamilyName.h: Added.
* Source/WebCore/css/values/grid/CSSGridNamedAreaMap.cpp:
*
Source/WebCore/css/values/primitives/CSSPrimitiveNumericTypes+Serialization.cpp:
* Source/WebCore/css/values/primitives/CSSPrimitiveNumericTypes+Serialization.h:
* Source/WebCore/css/values/primitives/CSSString.cpp: Added.
* Source/WebCore/css/values/primitives/CSSString.h: Added.
* Source/WebCore/css/values/primitives/CSSURL.cpp:
* Source/WebCore/css/values/primitives/CSSURL.h:
* Source/WebCore/css/values/primitives/CSSURLModifiers.cpp:
* Source/WebCore/css/values/primitives/CSSURLModifiers.h:
* Source/WebCore/css/values/shapes/CSSPathFunction.cpp:
* Source/WebCore/editing/EditingStyle.cpp:
* Source/WebCore/editing/FontAttributeChanges.cpp:
* Source/WebCore/editing/TextListParser.cpp:
* Source/WebCore/editing/cocoa/FontAttributesCocoa.mm:
* Source/WebCore/editing/cocoa/NodeHTMLConverter.mm:
* Source/WebCore/html/canvas/CanvasRenderingContext2DBase.cpp:
*
Source/WebCore/layout/formattingContexts/inline/display/InlineDisplayLineBuilder.cpp:
* Source/WebCore/layout/formattingContexts/inline/text/TextUtil.cpp:
* Source/WebCore/layout/integration/grid/LayoutIntegrationGridCoverage.cpp:
* Source/WebCore/rendering/RenderCounter.cpp:
* Source/WebCore/rendering/RenderListMarker.cpp:
* Source/WebCore/rendering/RenderText.cpp:
* Source/WebCore/rendering/RenderTreeAsText.cpp:
* Source/WebCore/rendering/style/RenderStyle.cpp:
* Source/WebCore/rendering/style/RenderStyle.h:
* Source/WebCore/rendering/updating/RenderTreeUpdaterGeneratedContent.cpp:
* Source/WebCore/style/ContainerQueryEvaluator.cpp:
* Source/WebCore/style/ContainerQueryEvaluator.h:
* Source/WebCore/style/PageRuleCollector.cpp:
* Source/WebCore/style/PageRuleCollector.h:
* Source/WebCore/style/PseudoElementUtilities.cpp:
* Source/WebCore/style/PseudoElementUtilities.h:
* Source/WebCore/style/RuleSet.cpp:
* Source/WebCore/style/RuleSet.h:
* Source/WebCore/style/ScopedName.cpp:
* Source/WebCore/style/ScopedName.h:
* Source/WebCore/style/StyleBuilder.cpp:
* Source/WebCore/style/StyleBuilderCustom.h:
* Source/WebCore/style/StyleCustomProperty.cpp:
* Source/WebCore/style/StyleCustomProperty.h:
* Source/WebCore/style/StyleExtractor.cpp:
* Source/WebCore/style/StyleExtractor.h:
* Source/WebCore/style/StyleExtractorCustom.h:
* Source/WebCore/style/StyleResolver.cpp:
* Source/WebCore/style/StyleResolver.h:
* Source/WebCore/style/StyleScope.cpp:
* Source/WebCore/style/StyleScope.h:
* Source/WebCore/style/UserAgentStyle.cpp:
* Source/WebCore/style/values/StyleValueTypes+CSSValueConversion.h:
* Source/WebCore/style/values/StyleValueTypes.h:
* Source/WebCore/style/values/animations/StyleSingleAnimationName.cpp:
* Source/WebCore/style/values/animations/StyleSingleAnimationRangeName.cpp:
* Source/WebCore/style/values/animations/StyleSingleAnimationRangeName.h:
* Source/WebCore/style/values/color/StyleColor.cpp:
* Source/WebCore/style/values/color/StyleColor.h:
* Source/WebCore/style/values/color/StyleColorLayers.cpp:
* Source/WebCore/style/values/color/StyleColorLayers.h:
* Source/WebCore/style/values/color/StyleColorMix.cpp:
* Source/WebCore/style/values/color/StyleColorMix.h:
* Source/WebCore/style/values/color/StyleContrastColor.cpp:
* Source/WebCore/style/values/color/StyleContrastColor.h:
* Source/WebCore/style/values/color/StyleCurrentColor.cpp:
* Source/WebCore/style/values/color/StyleCurrentColor.h:
* Source/WebCore/style/values/color/StyleRelativeColor.h:
* Source/WebCore/style/values/color/StyleResolvedColor.cpp:
* Source/WebCore/style/values/color/StyleResolvedColor.h:
* Source/WebCore/style/values/content/StyleContent.cpp:
* Source/WebCore/style/values/content/StyleContent.h:
* Source/WebCore/style/values/content/StyleQuotes.cpp:
* Source/WebCore/style/values/content/StyleQuotes.h:
* Source/WebCore/style/values/fonts/StyleFontFamily.cpp:
* Source/WebCore/style/values/fonts/StyleFontFamilyName.cpp:
* Source/WebCore/style/values/fonts/StyleFontFamilyName.h:
* Source/WebCore/style/values/fonts/StyleFontVariantAlternates.cpp:
* Source/WebCore/style/values/grid/StyleGridPosition.cpp:
* Source/WebCore/style/values/grid/StyleGridPosition.h:
* Source/WebCore/style/values/grid/StyleGridPositionsResolver.cpp:
* Source/WebCore/style/values/images/kinds/StyleCanvasImage.cpp:
* Source/WebCore/style/values/images/kinds/StyleCanvasImage.h:
* Source/WebCore/style/values/images/kinds/StyleCursorImage.cpp:
* Source/WebCore/style/values/images/kinds/StyleImageSet.cpp:
* Source/WebCore/style/values/images/kinds/StyleMultiImage.cpp:
* Source/WebCore/style/values/images/kinds/StyleMultiImage.h:
* Source/WebCore/style/values/images/kinds/StyleNamedImage.cpp:
* Source/WebCore/style/values/images/kinds/StyleNamedImage.h:
* Source/WebCore/style/values/images/kinds/StylePaintImage.cpp:
* Source/WebCore/style/values/images/kinds/StylePaintImage.h:
* Source/WebCore/style/values/lists/StyleListStyleType.cpp:
* Source/WebCore/style/values/lists/StyleListStyleType.h:
* Source/WebCore/style/values/non-standard/StyleWebKitLocale.cpp:
* Source/WebCore/style/values/non-standard/StyleWebKitLocale.h:
* Source/WebCore/style/values/overflow/StyleBlockEllipsis.cpp:
* Source/WebCore/style/values/overflow/StyleBlockEllipsis.h:
* Source/WebCore/style/values/primitives/StyleCustomIdent.cpp:
* Source/WebCore/style/values/primitives/StyleCustomIdent.h:
* Source/WebCore/style/values/primitives/StyleString.cpp: Added.
* Source/WebCore/style/values/primitives/StyleString.h: Added.
* Source/WebCore/style/values/primitives/StyleURL.cpp:
* Source/WebCore/style/values/primitives/StyleURL.h:
* Source/WebCore/style/values/shapes/StylePathFunction.cpp:
* Source/WebCore/style/values/text-decoration/StyleTextEmphasisStyle.cpp:
* Source/WebCore/style/values/text-decoration/StyleTextEmphasisStyle.h:
* Source/WebCore/style/values/text/StyleHyphenateCharacter.h:
Canonical link: https://commits.webkit.org/311272@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications