Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: f87b14ad446e9c8acc2768e313611ac359a6ed33
https://github.com/WebKit/WebKit/commit/f87b14ad446e9c8acc2768e313611ac359a6ed33
Author: Sam Weinig <[email protected]>
Date: 2025-10-01 (Wed, 01 Oct 2025)
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/animation/BlendingKeyframes.cpp
M Source/WebCore/animation/KeyframeEffect.cpp
M Source/WebCore/css/DOMMatrixReadOnly.cpp
M Source/WebCore/css/values/CSSValueAggregates.h
M Source/WebCore/platform/animation/AcceleratedEffect.cpp
M Source/WebCore/platform/animation/AcceleratedEffect.h
M Source/WebCore/platform/animation/AcceleratedEffectValues.cpp
M Source/WebCore/platform/graphics/GraphicsLayer.h
M Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp
M Source/WebCore/platform/graphics/ca/GraphicsLayerCA.h
M Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.cpp
M Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.h
M Source/WebCore/platform/graphics/texmap/TextureMapperAnimation.cpp
M Source/WebCore/platform/graphics/texmap/TextureMapperAnimation.h
M
Source/WebCore/platform/graphics/texmap/coordinated/GraphicsLayerCoordinated.cpp
M
Source/WebCore/platform/graphics/texmap/coordinated/GraphicsLayerCoordinated.h
M Source/WebCore/platform/graphics/transforms/IdentityTransformOperation.h
M Source/WebCore/platform/graphics/transforms/Matrix3DTransformOperation.cpp
M Source/WebCore/platform/graphics/transforms/Matrix3DTransformOperation.h
M Source/WebCore/platform/graphics/transforms/MatrixTransformOperation.h
M
Source/WebCore/platform/graphics/transforms/PerspectiveTransformOperation.h
M Source/WebCore/platform/graphics/transforms/RotateTransformOperation.h
M Source/WebCore/platform/graphics/transforms/ScaleTransformOperation.h
M Source/WebCore/platform/graphics/transforms/SkewTransformOperation.h
M Source/WebCore/platform/graphics/transforms/TransformOperation.h
M Source/WebCore/platform/graphics/transforms/TransformOperations.cpp
M Source/WebCore/platform/graphics/transforms/TransformOperations.h
M
Source/WebCore/platform/graphics/transforms/TransformOperationsSharedPrimitivesPrefix.h
M
Source/WebCore/platform/graphics/transforms/TranslateTransformOperation.cpp
M Source/WebCore/platform/graphics/transforms/TranslateTransformOperation.h
M Source/WebCore/rendering/RenderLayer.cpp
M Source/WebCore/rendering/RenderLayerBacking.cpp
M Source/WebCore/rendering/TextAutoSizing.cpp
M Source/WebCore/rendering/style/RenderStyle.cpp
M Source/WebCore/style/StyleExtractorCustom.h
M
Source/WebCore/style/values/primitives/StylePrimitiveNumericTypes+CSSValueConversion.h
M
Source/WebCore/style/values/primitives/StylePrimitiveNumericTypes+CSSValueCreation.h
M
Source/WebCore/style/values/primitives/StylePrimitiveNumericTypes+Conversions.h
M
Source/WebCore/style/values/primitives/StylePrimitiveNumericTypes+Serialization.h
M Source/WebCore/style/values/primitives/StylePrimitiveNumericTypes.h
M Source/WebCore/style/values/transforms/StyleRotate.cpp
M Source/WebCore/style/values/transforms/StyleRotate.h
M Source/WebCore/style/values/transforms/StyleScale.cpp
M Source/WebCore/style/values/transforms/StyleScale.h
M Source/WebCore/style/values/transforms/StyleTransform.cpp
M Source/WebCore/style/values/transforms/StyleTransform.h
M Source/WebCore/style/values/transforms/StyleTransformFunction.cpp
M Source/WebCore/style/values/transforms/StyleTransformFunction.h
M Source/WebCore/style/values/transforms/StyleTransformList.cpp
M Source/WebCore/style/values/transforms/StyleTransformList.h
R Source/WebCore/style/values/transforms/StyleTransformOperationWrapper.h
M Source/WebCore/style/values/transforms/StyleTranslate.cpp
M Source/WebCore/style/values/transforms/StyleTranslate.h
A
Source/WebCore/style/values/transforms/functions/StyleMatrix3DTransformFunction.cpp
A
Source/WebCore/style/values/transforms/functions/StyleMatrix3DTransformFunction.h
A
Source/WebCore/style/values/transforms/functions/StyleMatrixTransformFunction.cpp
A
Source/WebCore/style/values/transforms/functions/StyleMatrixTransformFunction.h
A
Source/WebCore/style/values/transforms/functions/StylePerspectiveTransformFunction.cpp
A
Source/WebCore/style/values/transforms/functions/StylePerspectiveTransformFunction.h
A
Source/WebCore/style/values/transforms/functions/StyleRotateTransformFunction.cpp
A
Source/WebCore/style/values/transforms/functions/StyleRotateTransformFunction.h
A
Source/WebCore/style/values/transforms/functions/StyleScaleTransformFunction.cpp
A
Source/WebCore/style/values/transforms/functions/StyleScaleTransformFunction.h
A
Source/WebCore/style/values/transforms/functions/StyleSkewTransformFunction.cpp
A
Source/WebCore/style/values/transforms/functions/StyleSkewTransformFunction.h
A
Source/WebCore/style/values/transforms/functions/StyleTransformFunctionBase.cpp
A
Source/WebCore/style/values/transforms/functions/StyleTransformFunctionBase.h
A
Source/WebCore/style/values/transforms/functions/StyleTransformFunctionWrapper.h
A
Source/WebCore/style/values/transforms/functions/StyleTranslateTransformFunction.cpp
A
Source/WebCore/style/values/transforms/functions/StyleTranslateTransformFunction.h
M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in
M Source/WebKit/UIProcess/RemoteLayerTree/RemoteAcceleratedEffectStack.mm
M Source/WebKit/WebProcess/Inspector/WebInspectorBackendClient.cpp
M Source/WebKit/WebProcess/Inspector/WebInspectorClient.cpp
M
Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/PDFDiscretePresentationController.mm
Log Message:
-----------
[Style] Split style and platform transform operation representations
https://bugs.webkit.org/show_bug.cgi?id=299814
Reviewed by Antti Koivisto.
In order to remove another remaining use of WebCore::Length, this change
adds a style specific parallel set of types for representing transform
operations to the WebCore::TransformOperation ones.
The new types, deriving from Style::TransformFunction, use Style primitive
numerics for the underlying data, allowing us to replace the WebCore::Length
with Style::LengthPercentage<> in Style::TranslateTransformFunction.
In the pre-existing WebCore::TranslateTransformOperation, WebCore::Length
is replaced by direct usage of float (it might make sense to change this
to double at some point, but for now, float is used to maintain the same
bit accuracy as Length).
When going from the style types to the platform types, via Style::toPlatform,
a FloatSize must be passed in so that Style::LengthPercentage<> in
Style::TranslateTransformFunction can be resolved down to float.
The platform transform types are only used for platform layer animation
needs (both GraphicsLayer and threaded), so going forward, any capabilities
they don't need can stripped from them. For GraphicsLayer, it may make sense
to remove use of WebCore::TransformOperation entirely, instead having the
ability to go straight from Style::TransformFunction to platform animation
types, be it PlatformCAAnimation or TextureMapperAnimation.
This introduces a bit of duplication of logic for the blending that is not
ideal, so a followup change will aim to add a generic implementation of
the blending algorithms that can be shared.
* Source/WebCore/Sources.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/animation/BlendingKeyframes.cpp:
* Source/WebCore/animation/KeyframeEffect.cpp:
* Source/WebCore/css/values/CSSValueAggregates.h:
* Source/WebCore/platform/animation/AcceleratedEffect.cpp:
* Source/WebCore/platform/animation/AcceleratedEffect.h:
* Source/WebCore/platform/animation/AcceleratedEffectValues.cpp:
* Source/WebCore/platform/graphics/GraphicsLayer.h:
* Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp:
* Source/WebCore/platform/graphics/ca/GraphicsLayerCA.h:
* Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
* Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.h:
* Source/WebCore/platform/graphics/texmap/TextureMapperAnimation.cpp:
* Source/WebCore/platform/graphics/texmap/TextureMapperAnimation.h:
*
Source/WebCore/platform/graphics/texmap/coordinated/GraphicsLayerCoordinated.cpp:
*
Source/WebCore/platform/graphics/texmap/coordinated/GraphicsLayerCoordinated.h:
* Source/WebCore/platform/graphics/transforms/IdentityTransformOperation.h:
* Source/WebCore/platform/graphics/transforms/Matrix3DTransformOperation.cpp:
* Source/WebCore/platform/graphics/transforms/Matrix3DTransformOperation.h:
* Source/WebCore/platform/graphics/transforms/MatrixTransformOperation.h:
* Source/WebCore/platform/graphics/transforms/PerspectiveTransformOperation.h:
* Source/WebCore/platform/graphics/transforms/RotateTransformOperation.h:
* Source/WebCore/platform/graphics/transforms/ScaleTransformOperation.h:
* Source/WebCore/platform/graphics/transforms/SkewTransformOperation.h:
* Source/WebCore/platform/graphics/transforms/TransformOperation.h:
* Source/WebCore/platform/graphics/transforms/TransformOperations.cpp:
* Source/WebCore/platform/graphics/transforms/TransformOperations.h:
*
Source/WebCore/platform/graphics/transforms/TransformOperationsSharedPrimitivesPrefix.h:
* Source/WebCore/platform/graphics/transforms/TranslateTransformOperation.cpp:
* Source/WebCore/platform/graphics/transforms/TranslateTransformOperation.h:
* Source/WebCore/rendering/RenderLayer.cpp:
* Source/WebCore/rendering/RenderLayerBacking.cpp:
* Source/WebCore/rendering/TextAutoSizing.cpp:
* Source/WebCore/rendering/style/RenderStyle.cpp:
* Source/WebCore/style/StyleExtractorCustom.h:
*
Source/WebCore/style/values/primitives/StylePrimitiveNumericTypes+CSSValueConversion.h:
*
Source/WebCore/style/values/primitives/StylePrimitiveNumericTypes+CSSValueCreation.h:
*
Source/WebCore/style/values/primitives/StylePrimitiveNumericTypes+Conversions.h:
*
Source/WebCore/style/values/primitives/StylePrimitiveNumericTypes+Serialization.h:
* Source/WebCore/style/values/primitives/StylePrimitiveNumericTypes.h:
* Source/WebCore/style/values/transforms/StyleRotate.cpp:
* Source/WebCore/style/values/transforms/StyleRotate.h:
* Source/WebCore/style/values/transforms/StyleScale.cpp:
* Source/WebCore/style/values/transforms/StyleScale.h:
* Source/WebCore/style/values/transforms/StyleTransform.cpp:
* Source/WebCore/style/values/transforms/StyleTransform.h:
* Source/WebCore/style/values/transforms/StyleTransformFunction.cpp:
* Source/WebCore/style/values/transforms/StyleTransformFunction.h:
* Source/WebCore/style/values/transforms/StyleTransformList.cpp:
* Source/WebCore/style/values/transforms/StyleTransformList.h:
* Source/WebCore/style/values/transforms/StyleTranslate.cpp:
* Source/WebCore/style/values/transforms/StyleTranslate.h:
*
Source/WebCore/style/values/transforms/functions/StyleMatrix3DTransformFunction.cpp:
Added.
*
Source/WebCore/style/values/transforms/functions/StyleMatrix3DTransformFunction.h:
Added.
*
Source/WebCore/style/values/transforms/functions/StyleMatrixTransformFunction.cpp:
Added.
*
Source/WebCore/style/values/transforms/functions/StyleMatrixTransformFunction.h:
Added.
*
Source/WebCore/style/values/transforms/functions/StylePerspectiveTransformFunction.cpp:
Added.
*
Source/WebCore/style/values/transforms/functions/StylePerspectiveTransformFunction.h:
Added.
*
Source/WebCore/style/values/transforms/functions/StyleRotateTransformFunction.cpp:
Added.
*
Source/WebCore/style/values/transforms/functions/StyleRotateTransformFunction.h:
Added.
*
Source/WebCore/style/values/transforms/functions/StyleScaleTransformFunction.cpp:
Added.
*
Source/WebCore/style/values/transforms/functions/StyleScaleTransformFunction.h:
Added.
*
Source/WebCore/style/values/transforms/functions/StyleSkewTransformFunction.cpp:
Added.
*
Source/WebCore/style/values/transforms/functions/StyleSkewTransformFunction.h:
Added.
*
Source/WebCore/style/values/transforms/functions/StyleTransformFunctionBase.cpp:
Added.
*
Source/WebCore/style/values/transforms/functions/StyleTransformFunctionBase.h:
Added.
*
Source/WebCore/style/values/transforms/functions/StyleTransformFunctionWrapper.h:
Renamed from
Source/WebCore/style/values/transforms/StyleTransformOperationWrapper.h.
*
Source/WebCore/style/values/transforms/functions/StyleTranslateTransformFunction.cpp:
Added.
*
Source/WebCore/style/values/transforms/functions/StyleTranslateTransformFunction.h:
Added.
* Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in:
* Source/WebKit/UIProcess/RemoteLayerTree/RemoteAcceleratedEffectStack.mm:
* Source/WebKit/WebProcess/Inspector/WebInspectorBackendClient.cpp:
* Source/WebKit/WebProcess/Inspector/WebInspectorClient.cpp:
*
Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/PDFDiscretePresentationController.mm:
Canonical link: https://commits.webkit.org/300845@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes