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

Reply via email to