Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 4b973b0b8ca7f9fabd8b982ea1073f40cd77dd31
https://github.com/WebKit/WebKit/commit/4b973b0b8ca7f9fabd8b982ea1073f40cd77dd31
Author: Sam Weinig <[email protected]>
Date: 2026-05-23 (Sat, 23 May 2026)
Changed paths:
M Source/WebCore/CMakeLists.txt
M Source/WebCore/DerivedSources-input.xcfilelist
M Source/WebCore/DerivedSources.make
M Source/WebCore/Headers.cmake
M Source/WebCore/SaferCPPExpectations/UncountedCallArgsCheckerExpectations
M
Source/WebCore/SaferCPPExpectations/UncountedLambdaCapturesCheckerExpectations
M Source/WebCore/Sources.txt
M Source/WebCore/WebCore.xcodeproj/project.pbxproj
M Source/WebCore/css/CSSAppleColorFilterValue.cpp
M Source/WebCore/css/CSSBorderImageSourceValue.cpp
M Source/WebCore/css/CSSBoxShadowPropertyValue.cpp
M Source/WebCore/css/CSSComputedStyleDeclaration.cpp
M Source/WebCore/css/CSSFilterValue.cpp
M Source/WebCore/css/CSSMaskBorderSourceValue.cpp
M Source/WebCore/css/CSSTextShadowPropertyValue.cpp
R Source/WebCore/css/DeprecatedCSSOMBoxShadowValue.cpp
R Source/WebCore/css/DeprecatedCSSOMBoxShadowValue.h
R Source/WebCore/css/DeprecatedCSSOMCounter.h
R Source/WebCore/css/DeprecatedCSSOMCounter.idl
R Source/WebCore/css/DeprecatedCSSOMFilterFunctionValue.cpp
R Source/WebCore/css/DeprecatedCSSOMFilterFunctionValue.h
R Source/WebCore/css/DeprecatedCSSOMPrimitiveValue.cpp
R Source/WebCore/css/DeprecatedCSSOMPrimitiveValue.h
R Source/WebCore/css/DeprecatedCSSOMPrimitiveValue.idl
R Source/WebCore/css/DeprecatedCSSOMRGBColor.h
R Source/WebCore/css/DeprecatedCSSOMRGBColor.idl
R Source/WebCore/css/DeprecatedCSSOMRect.h
R Source/WebCore/css/DeprecatedCSSOMRect.idl
R Source/WebCore/css/DeprecatedCSSOMTextShadowValue.cpp
R Source/WebCore/css/DeprecatedCSSOMTextShadowValue.h
R Source/WebCore/css/DeprecatedCSSOMValue.cpp
R Source/WebCore/css/DeprecatedCSSOMValue.h
R Source/WebCore/css/DeprecatedCSSOMValue.idl
R Source/WebCore/css/DeprecatedCSSOMValueList.cpp
R Source/WebCore/css/DeprecatedCSSOMValueList.h
R Source/WebCore/css/DeprecatedCSSOMValueList.idl
A Source/WebCore/css/deprecated-cssom/DeprecatedCSSOMCounter.h
A Source/WebCore/css/deprecated-cssom/DeprecatedCSSOMCounter.idl
A
Source/WebCore/css/deprecated-cssom/DeprecatedCSSOMLazySerializingCustomValue.cpp
A
Source/WebCore/css/deprecated-cssom/DeprecatedCSSOMLazySerializingCustomValue.h
A Source/WebCore/css/deprecated-cssom/DeprecatedCSSOMPrimitiveValue.cpp
A Source/WebCore/css/deprecated-cssom/DeprecatedCSSOMPrimitiveValue.h
A Source/WebCore/css/deprecated-cssom/DeprecatedCSSOMPrimitiveValue.idl
A Source/WebCore/css/deprecated-cssom/DeprecatedCSSOMRGBColor.h
A Source/WebCore/css/deprecated-cssom/DeprecatedCSSOMRGBColor.idl
A Source/WebCore/css/deprecated-cssom/DeprecatedCSSOMRect.h
A Source/WebCore/css/deprecated-cssom/DeprecatedCSSOMRect.idl
A Source/WebCore/css/deprecated-cssom/DeprecatedCSSOMValue.cpp
A Source/WebCore/css/deprecated-cssom/DeprecatedCSSOMValue.h
A Source/WebCore/css/deprecated-cssom/DeprecatedCSSOMValue.idl
A Source/WebCore/css/deprecated-cssom/DeprecatedCSSOMValueList.cpp
A Source/WebCore/css/deprecated-cssom/DeprecatedCSSOMValueList.h
A Source/WebCore/css/deprecated-cssom/DeprecatedCSSOMValueList.idl
M Source/WebCore/css/parser/CSSPropertyParserConsumer+Masking.cpp
M Source/WebCore/css/typedom/CSSStyleValueFactory.cpp
M Source/WebCore/css/values/CSSValueTypes.cpp
M Source/WebCore/css/values/CSSValueTypes.h
M Source/WebCore/css/values/backgrounds/CSSBorderImageSource.cpp
M Source/WebCore/css/values/backgrounds/CSSBorderImageSource.h
A Source/WebCore/css/values/borders/CSSBoxShadow.cpp
M Source/WebCore/css/values/borders/CSSBoxShadow.h
M Source/WebCore/css/values/color/CSSColor.cpp
M Source/WebCore/css/values/color/CSSColor.h
A Source/WebCore/css/values/filter-effects/CSSAppleColorFilter.cpp
M Source/WebCore/css/values/filter-effects/CSSAppleColorFilter.h
A Source/WebCore/css/values/filter-effects/CSSFilter.cpp
M Source/WebCore/css/values/filter-effects/CSSFilter.h
A Source/WebCore/css/values/images/CSSImageWrapper.cpp
A Source/WebCore/css/values/images/CSSImageWrapper.h
M Source/WebCore/css/values/masking/CSSMaskBorderSource.cpp
M Source/WebCore/css/values/masking/CSSMaskBorderSource.h
M Source/WebCore/css/values/primitives/CSSCustomIdent.cpp
M Source/WebCore/css/values/primitives/CSSCustomIdent.h
A
Source/WebCore/css/values/primitives/CSSPrimitiveNumericTypes+DeprecatedCSSOMValueCreation.h
M Source/WebCore/css/values/primitives/CSSString.cpp
M Source/WebCore/css/values/primitives/CSSString.h
M Source/WebCore/css/values/primitives/CSSURL.cpp
M Source/WebCore/css/values/primitives/CSSURL.h
A Source/WebCore/css/values/text-decoration/CSSTextShadow.cpp
M Source/WebCore/css/values/text-decoration/CSSTextShadow.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/values/StyleValueTypes.h
M Source/WebCore/style/values/backgrounds/StyleBorderImageSource.cpp
M Source/WebCore/style/values/color/StyleColor.cpp
M Source/WebCore/style/values/color/StyleColor.h
M Source/WebCore/style/values/images/StyleImageWrapper.cpp
M Source/WebCore/style/values/images/StyleImageWrapper.h
M Source/WebCore/style/values/images/kinds/StyleCachedImage.cpp
M Source/WebCore/style/values/images/kinds/StyleCachedImage.h
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/StyleCrossfadeImage.cpp
M Source/WebCore/style/values/images/kinds/StyleCrossfadeImage.h
M Source/WebCore/style/values/images/kinds/StyleCursorImage.cpp
M Source/WebCore/style/values/images/kinds/StyleCursorImage.h
M Source/WebCore/style/values/images/kinds/StyleFilterImage.cpp
M Source/WebCore/style/values/images/kinds/StyleFilterImage.h
M Source/WebCore/style/values/images/kinds/StyleGradientImage.cpp
M Source/WebCore/style/values/images/kinds/StyleGradientImage.h
M Source/WebCore/style/values/images/kinds/StyleImage.h
M Source/WebCore/style/values/images/kinds/StyleImageSet.cpp
M Source/WebCore/style/values/images/kinds/StyleImageSet.h
M Source/WebCore/style/values/images/kinds/StyleInvalidImage.cpp
M Source/WebCore/style/values/images/kinds/StyleInvalidImage.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/masking/StyleMaskBorderSource.cpp
M Source/WebCore/style/values/primitives/StyleCustomIdent.cpp
M Source/WebCore/style/values/primitives/StyleCustomIdent.h
A
Source/WebCore/style/values/primitives/StyleLengthWrapper+DeprecatedCSSOMValueCreation.h
A
Source/WebCore/style/values/primitives/StylePrimitiveNumericTypes+DeprecatedCSSOMValueCreation.h
M Source/WebCore/style/values/primitives/StyleString.cpp
M 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/transforms/StyleTransformFunction.cpp
M Source/WebCore/style/values/transforms/StyleTransformFunction.h
Log Message:
-----------
Refactor DeprecatedCSSOMValue types to not wrap CSSValue (Part 1)
https://bugs.webkit.org/show_bug.cgi?id=315309
Reviewed by Darin Adler.
Adds infrastructure for creating DeprecatedCSSOMValues for strong CSS and Style
types directly, without any CSSValue intermediary. This is another step toward
removing CSSValue.
- Moved DeprecatedCSSOM types to live in WebCore/css/deprecated-cssom.
- Added DeprecatedCSSOMValueCreation protocols for both CSS and Style, allowing
direct creation of the values.
- Replaces DeprecatedCSSOMBoxShadowValue, DeprecatedCSSOMTextShadowValue, and
DeprecatedCSSOMFilterFunctionValue with
DeprecatedCSSOMLazySerializingCustomValue.
DeprecatedCSSOMLazySerializingCustomValue uses a WTF::Function for type
erasure,
allowing any strong type to create a DeprecatedCSSOMValue by passing in a
lambda
that returns the serialization of the value. This is possible because the only
thing exposed for "complex" DeprecatedCSSOMValue is the serialization. An
alternative strategy would be to just pass in the serialization directly, but
this lazy functor approach avoids serialization in cases where callers might
just be creating the DeprecatedCSSOMValue to look at its type.
* Source/WebCore/CMakeLists.txt:
* Source/WebCore/DerivedSources-input.xcfilelist:
* Source/WebCore/DerivedSources.make:
* Source/WebCore/Sources.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/css/CSSAppleColorFilterValue.cpp:
* Source/WebCore/css/CSSBorderImageSourceValue.cpp:
* Source/WebCore/css/CSSBoxShadowPropertyValue.cpp:
* Source/WebCore/css/CSSComputedStyleDeclaration.cpp:
* Source/WebCore/css/CSSFilterValue.cpp:
* Source/WebCore/css/CSSMaskBorderSourceValue.cpp:
* Source/WebCore/css/CSSTextShadowPropertyValue.cpp:
* Source/WebCore/css/DeprecatedCSSOMBoxShadowValue.cpp: Removed.
* Source/WebCore/css/DeprecatedCSSOMBoxShadowValue.h: Removed.
* Source/WebCore/css/DeprecatedCSSOMFilterFunctionValue.cpp: Removed.
* Source/WebCore/css/DeprecatedCSSOMFilterFunctionValue.h: Removed.
* Source/WebCore/css/DeprecatedCSSOMTextShadowValue.cpp: Removed.
* Source/WebCore/css/DeprecatedCSSOMTextShadowValue.h: Removed.
* Source/WebCore/css/deprecated-cssom/DeprecatedCSSOMCounter.h: Renamed from
Source/WebCore/css/DeprecatedCSSOMCounter.h.
* Source/WebCore/css/deprecated-cssom/DeprecatedCSSOMCounter.idl: Renamed from
Source/WebCore/css/DeprecatedCSSOMCounter.idl.
*
Source/WebCore/css/deprecated-cssom/DeprecatedCSSOMLazySerializingCustomValue.cpp:
Added.
*
Source/WebCore/css/deprecated-cssom/DeprecatedCSSOMLazySerializingCustomValue.h:
Added.
* Source/WebCore/css/deprecated-cssom/DeprecatedCSSOMPrimitiveValue.cpp:
Renamed from Source/WebCore/css/DeprecatedCSSOMPrimitiveValue.cpp.
* Source/WebCore/css/deprecated-cssom/DeprecatedCSSOMPrimitiveValue.h: Renamed
from Source/WebCore/css/DeprecatedCSSOMPrimitiveValue.h.
* Source/WebCore/css/deprecated-cssom/DeprecatedCSSOMPrimitiveValue.idl:
Renamed from Source/WebCore/css/DeprecatedCSSOMPrimitiveValue.idl.
* Source/WebCore/css/deprecated-cssom/DeprecatedCSSOMRGBColor.h: Renamed from
Source/WebCore/css/DeprecatedCSSOMRGBColor.h.
* Source/WebCore/css/deprecated-cssom/DeprecatedCSSOMRGBColor.idl: Renamed from
Source/WebCore/css/DeprecatedCSSOMRGBColor.idl.
* Source/WebCore/css/deprecated-cssom/DeprecatedCSSOMRect.h: Renamed from
Source/WebCore/css/DeprecatedCSSOMRect.h.
* Source/WebCore/css/deprecated-cssom/DeprecatedCSSOMRect.idl: Renamed from
Source/WebCore/css/DeprecatedCSSOMRect.idl.
* Source/WebCore/css/deprecated-cssom/DeprecatedCSSOMValue.cpp: Renamed from
Source/WebCore/css/DeprecatedCSSOMValue.cpp.
* Source/WebCore/css/deprecated-cssom/DeprecatedCSSOMValue.h: Renamed from
Source/WebCore/css/DeprecatedCSSOMValue.h.
* Source/WebCore/css/deprecated-cssom/DeprecatedCSSOMValue.idl: Renamed from
Source/WebCore/css/DeprecatedCSSOMValue.idl.
* Source/WebCore/css/deprecated-cssom/DeprecatedCSSOMValueList.cpp: Renamed
from Source/WebCore/css/DeprecatedCSSOMValueList.cpp.
* Source/WebCore/css/deprecated-cssom/DeprecatedCSSOMValueList.h: Renamed from
Source/WebCore/css/DeprecatedCSSOMValueList.h.
* Source/WebCore/css/deprecated-cssom/DeprecatedCSSOMValueList.idl: Renamed
from Source/WebCore/css/DeprecatedCSSOMValueList.idl.
* Source/WebCore/css/parser/CSSPropertyParserConsumer+Masking.cpp:
* Source/WebCore/css/typedom/CSSStyleValueFactory.cpp:
* Source/WebCore/css/values/CSSValueTypes.cpp:
* Source/WebCore/css/values/CSSValueTypes.h:
* Source/WebCore/css/values/backgrounds/CSSBorderImageSource.cpp:
* Source/WebCore/css/values/backgrounds/CSSBorderImageSource.h:
* Source/WebCore/css/values/borders/CSSBoxShadow.cpp: Added.
* Source/WebCore/css/values/borders/CSSBoxShadow.h:
* Source/WebCore/css/values/color/CSSColor.cpp:
* Source/WebCore/css/values/color/CSSColor.h:
* Source/WebCore/css/values/filter-effects/CSSAppleColorFilter.cpp: Added.
* Source/WebCore/css/values/filter-effects/CSSAppleColorFilter.h:
* Source/WebCore/css/values/filter-effects/CSSFilter.cpp: Added.
* Source/WebCore/css/values/filter-effects/CSSFilter.h:
* Source/WebCore/css/values/images/CSSImageWrapper.cpp: Added.
* Source/WebCore/css/values/images/CSSImageWrapper.h: Added.
* Source/WebCore/css/values/masking/CSSMaskBorderSource.cpp:
* Source/WebCore/css/values/masking/CSSMaskBorderSource.h:
* Source/WebCore/css/values/primitives/CSSCustomIdent.cpp:
* Source/WebCore/css/values/primitives/CSSCustomIdent.h:
*
Source/WebCore/css/values/primitives/CSSPrimitiveNumericTypes+DeprecatedCSSOMValueCreation.h:
Added.
* Source/WebCore/css/values/primitives/CSSString.cpp:
* Source/WebCore/css/values/primitives/CSSString.h:
* Source/WebCore/css/values/primitives/CSSURL.cpp:
* Source/WebCore/css/values/primitives/CSSURL.h:
* Source/WebCore/css/values/text-decoration/CSSTextShadow.cpp: Added.
* Source/WebCore/css/values/text-decoration/CSSTextShadow.h:
* Source/WebCore/style/StyleCustomProperty.cpp:
* Source/WebCore/style/StyleCustomProperty.h:
* Source/WebCore/style/StyleExtractor.cpp:
* Source/WebCore/style/StyleExtractor.h:
* Source/WebCore/style/values/StyleValueTypes.h:
* Source/WebCore/style/values/backgrounds/StyleBorderImageSource.cpp:
* Source/WebCore/style/values/color/StyleColor.cpp:
* Source/WebCore/style/values/color/StyleColor.h:
* Source/WebCore/style/values/images/StyleImageWrapper.cpp:
* Source/WebCore/style/values/images/StyleImageWrapper.h:
* Source/WebCore/style/values/images/kinds/StyleCachedImage.cpp:
* Source/WebCore/style/values/images/kinds/StyleCachedImage.h:
* Source/WebCore/style/values/images/kinds/StyleCanvasImage.cpp:
* Source/WebCore/style/values/images/kinds/StyleCanvasImage.h:
* Source/WebCore/style/values/images/kinds/StyleCrossfadeImage.cpp:
* Source/WebCore/style/values/images/kinds/StyleCrossfadeImage.h:
* Source/WebCore/style/values/images/kinds/StyleCursorImage.cpp:
* Source/WebCore/style/values/images/kinds/StyleCursorImage.h:
* Source/WebCore/style/values/images/kinds/StyleFilterImage.cpp:
* Source/WebCore/style/values/images/kinds/StyleFilterImage.h:
* Source/WebCore/style/values/images/kinds/StyleGradientImage.cpp:
* Source/WebCore/style/values/images/kinds/StyleGradientImage.h:
* Source/WebCore/style/values/images/kinds/StyleImage.h:
* Source/WebCore/style/values/images/kinds/StyleImageSet.cpp:
* Source/WebCore/style/values/images/kinds/StyleImageSet.h:
* Source/WebCore/style/values/images/kinds/StyleInvalidImage.cpp:
* Source/WebCore/style/values/images/kinds/StyleInvalidImage.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/masking/StyleMaskBorderSource.cpp:
* Source/WebCore/style/values/primitives/StyleCustomIdent.cpp:
* Source/WebCore/style/values/primitives/StyleCustomIdent.h:
*
Source/WebCore/style/values/primitives/StyleLengthWrapper+DeprecatedCSSOMValueCreation.h:
Added.
*
Source/WebCore/style/values/primitives/StylePrimitiveNumericTypes+DeprecatedCSSOMValueCreation.h:
Added.
* Source/WebCore/style/values/primitives/StyleString.cpp:
* Source/WebCore/style/values/primitives/StyleString.h:
* Source/WebCore/style/values/primitives/StyleURL.cpp:
* Source/WebCore/style/values/primitives/StyleURL.h:
* Source/WebCore/style/values/transforms/StyleTransformFunction.cpp:
* Source/WebCore/style/values/transforms/StyleTransformFunction.h:
Canonical link: https://commits.webkit.org/313787@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications