Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: a8428f17f867b9a0802d686e81ba4decaad0220c
      
https://github.com/WebKit/WebKit/commit/a8428f17f867b9a0802d686e81ba4decaad0220c
  Author: Sam Weinig <[email protected]>
  Date:   2026-01-21 (Wed, 21 Jan 2026)

  Changed paths:
    R 
LayoutTests/webanimations/threaded-animations/threaded-animation-disabled-for-drop-shadow-with-current-color-expected.txt
    R 
LayoutTests/webanimations/threaded-animations/threaded-animation-disabled-for-drop-shadow-with-current-color.html
    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/values/CSSValueAggregates.h
    M Source/WebCore/css/values/filter-effects/CSSAppleColorFilter.h
    M Source/WebCore/css/values/filter-effects/CSSDropShadowFunction.h
    M Source/WebCore/css/values/filter-effects/CSSFilterFunctionDescriptor.h
    M Source/WebCore/css/values/primitives/CSSPrimitiveNumericTypes.h
    M Source/WebCore/css/values/primitives/CSSPrimitiveNumericUnits.h
    M Source/WebCore/editing/ReplaceSelectionCommand.cpp
    M Source/WebCore/platform/animation/AcceleratedEffect.cpp
    M Source/WebCore/platform/animation/AcceleratedEffectValues.cpp
    M Source/WebCore/platform/animation/AnimationUtilities.h
    M Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp
    M Source/WebCore/platform/graphics/ca/cocoa/PlatformCAFiltersCocoa.mm
    M Source/WebCore/platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm
    M Source/WebCore/platform/graphics/filters/FEColorMatrix.cpp
    M Source/WebCore/platform/graphics/filters/FEColorMatrix.h
    M Source/WebCore/platform/graphics/filters/FilterOperation.cpp
    M Source/WebCore/platform/graphics/filters/FilterOperation.h
    M Source/WebCore/platform/graphics/filters/FilterOperations.cpp
    M Source/WebCore/platform/graphics/filters/FilterOperations.h
    M Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.cpp
    M 
Source/WebCore/platform/graphics/texmap/coordinated/GraphicsLayerCoordinated.cpp
    M Source/WebCore/rendering/CSSFilterRenderer.cpp
    M Source/WebCore/rendering/CSSFilterRenderer.h
    M Source/WebCore/rendering/ReferencedSVGResources.cpp
    M Source/WebCore/rendering/ReferencedSVGResources.h
    M Source/WebCore/rendering/RenderLayer.cpp
    M Source/WebCore/rendering/RenderLayerBacking.cpp
    M Source/WebCore/rendering/RenderLayerFilters.cpp
    M Source/WebCore/rendering/RenderLayerModelObject.cpp
    R Source/WebCore/rendering/style/DropShadowFilterOperationWithStyleColor.cpp
    R Source/WebCore/rendering/style/DropShadowFilterOperationWithStyleColor.h
    R Source/WebCore/rendering/style/ReferenceFilterOperation.cpp
    R Source/WebCore/rendering/style/ReferenceFilterOperation.h
    M Source/WebCore/rendering/style/StyleFilterImage.cpp
    M Source/WebCore/rendering/svg/SVGRenderTreeAsText.cpp
    M Source/WebCore/rendering/svg/legacy/SVGResources.cpp
    M Source/WebCore/style/StyleBuilderCustom.h
    M Source/WebCore/style/StyleInterpolation.cpp
    M Source/WebCore/style/StyleInterpolationContext.h
    M Source/WebCore/style/StyleInterpolationFunctions.h
    M Source/WebCore/style/StyleInterpolationWrappers.h
    M Source/WebCore/style/values/StyleValueTypes.h
    M Source/WebCore/style/values/backgrounds/StyleBorderImageSource.cpp
    M Source/WebCore/style/values/backgrounds/StyleBorderImageSource.h
    M Source/WebCore/style/values/filter-effects/StyleAppleColorFilter.cpp
    M Source/WebCore/style/values/filter-effects/StyleAppleColorFilter.h
    M 
Source/WebCore/style/values/filter-effects/StyleAppleInvertLightnessFunction.cpp
    M 
Source/WebCore/style/values/filter-effects/StyleAppleInvertLightnessFunction.h
    M Source/WebCore/style/values/filter-effects/StyleBlurFunction.cpp
    M Source/WebCore/style/values/filter-effects/StyleBlurFunction.h
    M Source/WebCore/style/values/filter-effects/StyleBrightnessFunction.cpp
    M Source/WebCore/style/values/filter-effects/StyleBrightnessFunction.h
    M Source/WebCore/style/values/filter-effects/StyleContrastFunction.cpp
    M Source/WebCore/style/values/filter-effects/StyleContrastFunction.h
    M Source/WebCore/style/values/filter-effects/StyleDropShadowFunction.cpp
    M Source/WebCore/style/values/filter-effects/StyleDropShadowFunction.h
    M Source/WebCore/style/values/filter-effects/StyleFilter.cpp
    M Source/WebCore/style/values/filter-effects/StyleFilter.h
    M Source/WebCore/style/values/filter-effects/StyleFilterInterpolation.h
    M Source/WebCore/style/values/filter-effects/StyleFilterReference.cpp
    M Source/WebCore/style/values/filter-effects/StyleFilterReference.h
    M Source/WebCore/style/values/filter-effects/StyleGrayscaleFunction.cpp
    M Source/WebCore/style/values/filter-effects/StyleGrayscaleFunction.h
    M Source/WebCore/style/values/filter-effects/StyleHueRotateFunction.cpp
    M Source/WebCore/style/values/filter-effects/StyleHueRotateFunction.h
    M Source/WebCore/style/values/filter-effects/StyleInvertFunction.cpp
    M Source/WebCore/style/values/filter-effects/StyleInvertFunction.h
    M Source/WebCore/style/values/filter-effects/StyleOpacityFunction.cpp
    M Source/WebCore/style/values/filter-effects/StyleOpacityFunction.h
    M Source/WebCore/style/values/filter-effects/StyleSaturateFunction.cpp
    M Source/WebCore/style/values/filter-effects/StyleSaturateFunction.h
    M Source/WebCore/style/values/filter-effects/StyleSepiaFunction.cpp
    M Source/WebCore/style/values/filter-effects/StyleSepiaFunction.h
    M Source/WebCore/style/values/images/StyleImageOrNone.cpp
    M Source/WebCore/style/values/images/StyleImageOrNone.h
    M Source/WebCore/style/values/images/StyleImageWrapper.cpp
    M Source/WebCore/style/values/images/StyleImageWrapper.h
    M Source/WebCore/style/values/masking/StyleMaskBorderSource.cpp
    M Source/WebCore/style/values/masking/StyleMaskBorderSource.h
    M Source/WebCore/style/values/shapes/StylePathOperationWrappers.cpp
    M Source/WebCore/style/values/transforms/StyleTransformList.h
    M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in
    M 
Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/PDFPresentationController.mm
    M Source/WebKit/WebProcess/WebPage/wc/GraphicsLayerWC.cpp

  Log Message:
  -----------
  [Style] Convert the filter functions to strong style types
https://bugs.webkit.org/show_bug.cgi?id=305708

Reviewed by Darin Adler.

Converts the filter functions to use strong style types.

This allows dramatically simplifying FilterOperation, removing
reference, apple-invert-lightness, and drop-shadow-with-style-color
types. FilterOperation is now only used for passing to GraphicsLayer
and the AcceleratedEffect systems.

Along with getting rid of DropShadowFilterOperationWithStyleColor,
this removes any special casing of the drop shadow filter for the
threaded animation code path, as the current color checks should all
be happening in the style system.

Additionally, mutable iterators were added to many of the CSS
aggregates to allow StyleFilterImage to continue to work.

* 
LayoutTests/webanimations/threaded-animations/threaded-animation-disabled-for-drop-shadow-with-current-color-expected.txt:
 Removed.
* 
LayoutTests/webanimations/threaded-animations/threaded-animation-disabled-for-drop-shadow-with-current-color.html:
 Removed.
* Source/WebCore/Headers.cmake:
* Source/WebCore/SaferCPPExpectations/UncountedCallArgsCheckerExpectations:
* 
Source/WebCore/SaferCPPExpectations/UncountedLambdaCapturesCheckerExpectations:
* Source/WebCore/Sources.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/css/values/CSSValueAggregates.h:
* Source/WebCore/css/values/filter-effects/CSSAppleColorFilter.h:
* Source/WebCore/css/values/filter-effects/CSSDropShadowFunction.h:
* Source/WebCore/css/values/filter-effects/CSSFilterFunctionDescriptor.h:
* Source/WebCore/css/values/primitives/CSSPrimitiveNumericTypes.h:
* Source/WebCore/css/values/primitives/CSSPrimitiveNumericUnits.h:
* Source/WebCore/editing/ReplaceSelectionCommand.cpp:
* Source/WebCore/platform/animation/AcceleratedEffect.cpp:
* Source/WebCore/platform/animation/AcceleratedEffectValues.cpp:
* Source/WebCore/platform/animation/AnimationUtilities.h:
* Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp:
* Source/WebCore/platform/graphics/ca/cocoa/PlatformCAFiltersCocoa.mm:
* Source/WebCore/platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm:
* Source/WebCore/platform/graphics/filters/FEColorMatrix.cpp:
* Source/WebCore/platform/graphics/filters/FEColorMatrix.h:
* Source/WebCore/platform/graphics/filters/FilterOperation.cpp:
* Source/WebCore/platform/graphics/filters/FilterOperation.h:
* Source/WebCore/platform/graphics/filters/FilterOperations.cpp:
* Source/WebCore/platform/graphics/filters/FilterOperations.h:
* Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
* 
Source/WebCore/platform/graphics/texmap/coordinated/GraphicsLayerCoordinated.cpp:
* Source/WebCore/rendering/CSSFilterRenderer.cpp:
* Source/WebCore/rendering/CSSFilterRenderer.h:
* Source/WebCore/rendering/ReferencedSVGResources.cpp:
* Source/WebCore/rendering/ReferencedSVGResources.h:
* Source/WebCore/rendering/RenderLayer.cpp:
* Source/WebCore/rendering/RenderLayerBacking.cpp:
* Source/WebCore/rendering/RenderLayerFilters.cpp:
* Source/WebCore/rendering/RenderLayerModelObject.cpp:
* Source/WebCore/rendering/style/DropShadowFilterOperationWithStyleColor.cpp: 
Removed.
* Source/WebCore/rendering/style/DropShadowFilterOperationWithStyleColor.h: 
Removed.
* Source/WebCore/rendering/style/ReferenceFilterOperation.cpp: Removed.
* Source/WebCore/rendering/style/ReferenceFilterOperation.h: Removed.
* Source/WebCore/rendering/style/StyleFilterImage.cpp:
* Source/WebCore/rendering/svg/SVGRenderTreeAsText.cpp:
* Source/WebCore/rendering/svg/legacy/SVGResources.cpp:
* Source/WebCore/style/StyleBuilderCustom.h:
* Source/WebCore/style/StyleInterpolation.cpp:
* Source/WebCore/style/StyleInterpolationContext.h:
* Source/WebCore/style/StyleInterpolationFunctions.h:
* Source/WebCore/style/StyleInterpolationWrappers.h:
* Source/WebCore/style/values/StyleValueTypes.h:
* Source/WebCore/style/values/backgrounds/StyleBorderImageSource.cpp:
* Source/WebCore/style/values/backgrounds/StyleBorderImageSource.h:
* Source/WebCore/style/values/filter-effects/StyleAppleColorFilter.cpp:
* Source/WebCore/style/values/filter-effects/StyleAppleColorFilter.h:
* 
Source/WebCore/style/values/filter-effects/StyleAppleInvertLightnessFunction.cpp:
* 
Source/WebCore/style/values/filter-effects/StyleAppleInvertLightnessFunction.h:
* Source/WebCore/style/values/filter-effects/StyleBlurFunction.cpp:
* Source/WebCore/style/values/filter-effects/StyleBlurFunction.h:
* Source/WebCore/style/values/filter-effects/StyleBrightnessFunction.cpp:
* Source/WebCore/style/values/filter-effects/StyleBrightnessFunction.h:
* Source/WebCore/style/values/filter-effects/StyleContrastFunction.cpp:
* Source/WebCore/style/values/filter-effects/StyleContrastFunction.h:
* Source/WebCore/style/values/filter-effects/StyleDropShadowFunction.cpp:
* Source/WebCore/style/values/filter-effects/StyleDropShadowFunction.h:
* Source/WebCore/style/values/filter-effects/StyleFilter.cpp:
* Source/WebCore/style/values/filter-effects/StyleFilter.h:
* Source/WebCore/style/values/filter-effects/StyleFilterInterpolation.h:
* Source/WebCore/style/values/filter-effects/StyleFilterReference.cpp:
* Source/WebCore/style/values/filter-effects/StyleFilterReference.h:
* Source/WebCore/style/values/filter-effects/StyleGrayscaleFunction.cpp:
* Source/WebCore/style/values/filter-effects/StyleGrayscaleFunction.h:
* Source/WebCore/style/values/filter-effects/StyleHueRotateFunction.cpp:
* Source/WebCore/style/values/filter-effects/StyleHueRotateFunction.h:
* Source/WebCore/style/values/filter-effects/StyleInvertFunction.cpp:
* Source/WebCore/style/values/filter-effects/StyleInvertFunction.h:
* Source/WebCore/style/values/filter-effects/StyleOpacityFunction.cpp:
* Source/WebCore/style/values/filter-effects/StyleOpacityFunction.h:
* Source/WebCore/style/values/filter-effects/StyleSaturateFunction.cpp:
* Source/WebCore/style/values/filter-effects/StyleSaturateFunction.h:
* Source/WebCore/style/values/filter-effects/StyleSepiaFunction.cpp:
* Source/WebCore/style/values/filter-effects/StyleSepiaFunction.h:
* Source/WebCore/style/values/images/StyleImageOrNone.cpp:
* Source/WebCore/style/values/images/StyleImageOrNone.h:
* Source/WebCore/style/values/images/StyleImageWrapper.cpp:
* Source/WebCore/style/values/images/StyleImageWrapper.h:
* Source/WebCore/style/values/masking/StyleMaskBorderSource.cpp:
* Source/WebCore/style/values/masking/StyleMaskBorderSource.h:
* Source/WebCore/style/values/shapes/StylePathOperationWrappers.cpp:
* Source/WebCore/style/values/transforms/StyleTransformList.h:
* Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in:
* Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/PDFPresentationController.mm:

Canonical link: https://commits.webkit.org/305951@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to