[webkit-changes] [WebKit/WebKit] 84aabd: REGRESSION (266237 at main): Poster circle animation ...

mattwoodrow noreply at github.com
Mon Nov 6 15:30:26 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 84aabd280f9ab479463a9701fd52a3d3c95b347d
      https://github.com/WebKit/WebKit/commit/84aabd280f9ab479463a9701fd52a3d3c95b347d
  Author: Matt Woodrow <mattwoodrow at apple.com>
  Date:   2023-11-06 (Mon, 06 Nov 2023)

  Changed paths:
    M Source/WebCore/platform/graphics/transforms/RotateTransformOperation.h
    M Source/WebCore/platform/graphics/transforms/TransformOperation.h
    M Source/WebCore/platform/graphics/transforms/TransformationMatrix.cpp
    M Source/WebCore/platform/graphics/transforms/TransformationMatrix.h

  Log Message:
  -----------
  REGRESSION (266237 at main): Poster circle animation is not continuous
https://bugs.webkit.org/show_bug.cgi?id=263569
<rdar://117209302>

Reviewed by Simon Fraser.

This is the same as the existing hasBig3DRotation rotation issue, where CA animates the shortest path between 3d rotations,
because we represent them as matrices.

Previously our computed matrices for rotate(180deg) didn’t have integer values, due to a float rounding issue during deg->rad.

The new change computes the rotation matrix exactly, and now there’s no longer a defined direction for a 180deg rotation and
we sometimes end up with a ‘backwards’ rotation.

This adds an option to not do the snapping when we compute matrices for CA, so that the existing behavior is preserved.

* Source/WebCore/platform/graphics/transforms/RotateTransformOperation.h:
* Source/WebCore/platform/graphics/transforms/TransformOperation.h:
(WebCore::TransformOperation::applyUnrounded const):
* Source/WebCore/platform/graphics/transforms/TransformationMatrix.cpp:
(WebCore::TransformationMatrix::rotate3d):
(WebCore::TransformationMatrix::rotate):
(WebCore::TransformationMatrix::rotateRadians):
* Source/WebCore/platform/graphics/transforms/TransformationMatrix.h:

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




More information about the webkit-changes mailing list