| Index: cc/animation/transform_operations.cc
|
| diff --git a/cc/animation/transform_operations.cc b/cc/animation/transform_operations.cc
|
| index 7bc4ce2ab6926dc7ba234a73ce094af1c4b04445..d9d58f2d36bbde4d74bb0f5bf6b35db99ea59876 100644
|
| --- a/cc/animation/transform_operations.cc
|
| +++ b/cc/animation/transform_operations.cc
|
| @@ -94,6 +94,27 @@ bool TransformOperations::AffectsScale() const {
|
| return false;
|
| }
|
|
|
| +bool TransformOperations::PreservesAxisAlignment() const {
|
| + for (size_t i = 0; i < operations_.size(); ++i) {
|
| + switch (operations_[i].type) {
|
| + case TransformOperation::TransformOperationIdentity:
|
| + case TransformOperation::TransformOperationTranslate:
|
| + case TransformOperation::TransformOperationScale:
|
| + continue;
|
| + case TransformOperation::TransformOperationMatrix:
|
| + if (!operations_[i].matrix.IsIdentity() &&
|
| + !operations_[i].matrix.IsScaleOrTranslation())
|
| + return false;
|
| + continue;
|
| + case TransformOperation::TransformOperationRotate:
|
| + case TransformOperation::TransformOperationSkew:
|
| + case TransformOperation::TransformOperationPerspective:
|
| + return false;
|
| + }
|
| + }
|
| + return true;
|
| +}
|
| +
|
| bool TransformOperations::IsTranslation() const {
|
| for (size_t i = 0; i < operations_.size(); ++i) {
|
| switch (operations_[i].type) {
|
|
|