[webkit-reviews] review denied: [Bug 236116] Web animations- Composite operation accumulation support for transform properties : [Attachment 451508] Patch
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Thu Feb 10 10:23:50 PST 2022
Simon Fraser (smfr) <simon.fraser at apple.com> has denied Nikos Mouchtaris
<nmouchtaris at apple.com>'s request for review:
Bug 236116: Web animations- Composite operation accumulation support for
transform properties
https://bugs.webkit.org/show_bug.cgi?id=236116
Attachment 451508: Patch
https://bugs.webkit.org/attachment.cgi?id=451508&action=review
--- Comment #18 from Simon Fraser (smfr) <simon.fraser at apple.com> ---
Comment on attachment 451508
--> https://bugs.webkit.org/attachment.cgi?id=451508
Patch
View in context: https://bugs.webkit.org/attachment.cgi?id=451508&action=review
> Source/WebCore/ChangeLog:8
> + First thing being addressed is handling accumulation of
TransformationMatrices.
Try to avoid using abbreviated language; it gets in the way of communicating
the information.
If you need to, break the text into paragraphs.
Currently, this changelog reads like a laundry list of intermingled bug fixes
and feature work, and it's unclear to me if they should be, or can be split
out.
> Source/WebCore/ChangeLog:12
> + A couple of bugs are also addressed. For a property with a different
transform operation
Can these bugs be fixed independently of the composition change? If so, you
should do that.
> Source/WebCore/ChangeLog:16
> + Another bug is that we need to pass the composite operation to
TransformationMatrix blend().
> + Another bug is that we should to use Replace behavior if either of
the transform matrices are
Ditto.
> Source/WebCore/animation/CSSPropertyAnimation.cpp:173
> + auto size = is<RenderBox>(context.client->renderer()) ?
downcast<RenderBox>(*context.client->renderer()).borderBoxRect().size() :
LayoutSize();
size -> boxSize
> Source/WebCore/platform/graphics/transforms/TransformOperations.cpp:77
> +TransformOperations TransformOperations::blendByMatchingOperations(const
TransformOperations& from, const BlendingContext& context, const LayoutSize&
size) const
size -> boxSize
> Source/WebCore/platform/graphics/transforms/TransformOperations.cpp:83
> + unsigned maxSize = std::max(fromSize, toSize);
This illustrates why renaming "size" to "boxSize" is necessary.
This code would be clearer if "fromSize" etc referred to "operationCount".
> Source/WebCore/platform/graphics/transforms/TransformOperations.cpp:92
> + if (fromOperation && toOperation &&
!fromOperation->sharedPrimitiveType(toOperation.get()))
> + return blendByUsingMatrixInterpolation(from, context, size);
Doesn't this need to do something different based on Martin's changes?
> Source/WebCore/platform/graphics/transforms/TransformOperations.cpp:130
> + return blendByMatchingOperations(from, context, size);
rename size to boxSize
> Source/WebCore/platform/graphics/transforms/TransformOperations.h:35
> +class CSSPropertyBlendingClient;
Unused
> Source/WebCore/platform/graphics/transforms/TransformationMatrix.cpp:1685
> + blendFloat(fromDecomp.m12, toDecomp.m12, progress, compositeOperation ==
CompositeOperation::Accumulate ? CompositeOperation::Add : compositeOperation);
> + blendFloat(fromDecomp.m21, toDecomp.m21, progress, compositeOperation ==
CompositeOperation::Accumulate ? CompositeOperation::Add : compositeOperation);
I'm still looking for a local variable with a name that tells me why m12, m21
etc get special treatment.
> Source/WebCore/platform/graphics/transforms/TransformationMatrix.cpp:1718
> + blendFloat(fromDecomp.skewXY, toDecomp.skewXY, progress,
compositeOperation == CompositeOperation::Accumulate ? CompositeOperation::Add
: compositeOperation);
Ditto
More information about the webkit-reviews
mailing list