Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 747e839981525e26209151149e110e2ab07b4ded https://github.com/WebKit/WebKit/commit/747e839981525e26209151149e110e2ab07b4ded Author: Sam Weinig <wei...@apple.com> Date: 2024-06-01 (Sat, 01 Jun 2024)
Changed paths: M Source/WebCore/Sources.txt M Source/WebCore/WebCore.xcodeproj/project.pbxproj M Source/WebCore/animation/BlendingKeyframes.cpp M Source/WebCore/animation/CSSPropertyAnimation.cpp M Source/WebCore/animation/KeyframeEffect.cpp M Source/WebCore/css/CSSCustomPropertyValue.cpp M Source/WebCore/css/CSSCustomPropertyValue.h M Source/WebCore/css/ComputedStyleExtractor.cpp M Source/WebCore/css/DOMMatrixReadOnly.cpp M Source/WebCore/css/TransformFunctions.cpp M Source/WebCore/css/parser/CSSPropertyParser.cpp M Source/WebCore/platform/animation/AcceleratedEffectValues.cpp M Source/WebCore/platform/animation/AcceleratedEffectValues.h M Source/WebCore/platform/graphics/GraphicsLayer.h M Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp M Source/WebCore/platform/graphics/nicosia/NicosiaAnimation.cpp M Source/WebCore/platform/graphics/transforms/RotateTransformOperation.h M Source/WebCore/platform/graphics/transforms/ScaleTransformOperation.h M Source/WebCore/platform/graphics/transforms/TransformOperations.cpp M Source/WebCore/platform/graphics/transforms/TransformOperations.h A Source/WebCore/platform/graphics/transforms/TransformOperationsSharedPrimitivesPrefix.cpp A Source/WebCore/platform/graphics/transforms/TransformOperationsSharedPrimitivesPrefix.h M Source/WebCore/rendering/RenderLayer.cpp M Source/WebCore/rendering/RenderLayerBacking.cpp M Source/WebCore/rendering/mathml/RenderMathMLOperator.cpp M Source/WebCore/rendering/style/RenderStyle.cpp M Source/WebCore/rendering/style/RenderStyle.h M Source/WebCore/rendering/style/RenderStyleInlines.h M Source/WebCore/rendering/style/RenderStyleSetters.h M Source/WebCore/style/StyleBuilderCustom.h M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in Log Message: ----------- General cleanup of TransformOperations https://bugs.webkit.org/show_bug.cgi?id=274851 Reviewed by Darin Adler. Makes some small improvements to the TransformOperations type: - Use Ref instead of RefPtr in operations vector. - Made immutable. All construction already happened in one shot in the builder or blend functions, or was a full replacement, so this just meant removing non-const accessors and removing the clear() function. - Expose iterators directly to avoid clients accessing the underlying vector. * Source/WebCore/Sources.txt: * Source/WebCore/WebCore.xcodeproj/project.pbxproj: * Source/WebCore/platform/graphics/transforms/TransformOperationsSharedPrimitivesPrefix.cpp: Added. * Source/WebCore/platform/graphics/transforms/TransformOperationsSharedPrimitivesPrefix.h: Added. - Split SharedPrimitivesPrefix class into its own file. * Source/WebCore/platform/graphics/transforms/TransformOperations.cpp: * Source/WebCore/platform/graphics/transforms/TransformOperations.h: - Convert to use a Vector<Ref<TransformOperation>> for the implementation, remove all mutating functionality, and add some helpers to make call sites more clear. - Swap the size and matrix arguments in apply to match individual transforms. * Source/WebCore/animation/BlendingKeyframes.cpp: - Update to use new direct iteration. * Source/WebCore/animation/CSSPropertyAnimation.cpp: - Use an explicit construction of a Vector<Ref<TransformOperation>> to build the TransformOperations, this allows for an exactly sized result. - Specialize the property wrapper for TransformOperations to allow moving in the result to the setter, avoiding a Vector copy. * Source/WebCore/animation/KeyframeEffect.cpp: (WebCore::KeyframeEffect::checkForMatchingTransformFunctionLists): (WebCore::KeyframeEffect::computeTransformedExtentViaTransformList const): (WebCore::containsRotation): Deleted. - Use new helpers to simplify use. * Source/WebCore/css/CSSCustomPropertyValue.cpp: * Source/WebCore/css/CSSCustomPropertyValue.h: * Source/WebCore/css/parser/CSSPropertyParser.cpp: - Made TransformSyntaxValue store a Ref, allowing for removing some null checks that were never possibly null. * Source/WebCore/css/ComputedStyleExtractor.cpp: * Source/WebCore/css/DOMMatrixReadOnly.cpp: - Update to use new direct iteration. * Source/WebCore/css/TransformFunctions.cpp: - Use an explicit construction of a Vector<Ref<TransformOperation>> to build the TransformOperations using a failable generator constructor. * Source/WebCore/platform/animation/AcceleratedEffectValues.cpp: * Source/WebCore/platform/animation/AcceleratedEffectValues.h: - Use initialization syntax in copy constructor to avoid unnecessary re-initialization. Use new helpers to simplify use. * Source/WebCore/platform/graphics/GraphicsLayer.h: - Use new helpers to simplify use. * Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp: (WebCore::hasBig3DRotation): - Update for new, more clear, name of SharedPrimitivesPrefix. * Source/WebCore/platform/graphics/transforms/RotateTransformOperation.h: * Source/WebCore/platform/graphics/transforms/ScaleTransformOperation.h: - Mark final overrides final, and make them public so callers that have the specific type can avoid a virtual call (RenderStyle makes use of this below). * Source/WebCore/rendering/RenderLayer.cpp: (WebCore::RenderLayer::calculateClipRects const): - Use an explicit construction of a Vector<Ref<TransformOperation>> to build the TransformOperations. By using the initialization_list constructor, the vector is perfectly sized. * Source/WebCore/rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::transformMatrixForProperty const): - Update for swapped apply arguments. * Source/WebCore/rendering/mathml/RenderMathMLOperator.cpp: - Remove unused includes. * Source/WebCore/rendering/style/RenderStyle.cpp: - Use existing accessors rather than writing full path out each time. - Use auto* rather than TransformOperation* to allow for de-virtualization of the calls to apply(). * Source/WebCore/rendering/style/RenderStyle.h: * Source/WebCore/rendering/style/RenderStyleSetters.h: - Take TransformOperations by r-value to avoid all sets causing a copy. Like with Length, StyleBuilder will do an explicit copy when forwarding. * Source/WebCore/style/StyleBuilderCustom.h: (WebCore::Style::forwardInheritedValue): - Add overload of forwardInheritedValue for TransformOperations that copies before moving into RenderStyle. * Source/WebCore/rendering/style/RenderStyleInlines.h: (WebCore::RenderStyle::hasTransform const): - Call isEmpty() directly on the container. * Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in: - Update to directly access operations via the member variable, necessary now that there is no operations() function. * Source/WebCore/platform/graphics/nicosia/NicosiaAnimation.cpp: (Nicosia::applyTransformAnimation): - Update for swapped apply arguments. Canonical link: https://commits.webkit.org/279618@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes