| Index: cc/animation/keyframed_animation_curve.cc
|
| diff --git a/cc/animation/keyframed_animation_curve.cc b/cc/animation/keyframed_animation_curve.cc
|
| index bcf067ebb74b1f79a7416b33fd7f6f9070271f24..7869d2f48995dfa0361849192a6b1a202ee2ee86 100644
|
| --- a/cc/animation/keyframed_animation_curve.cc
|
| +++ b/cc/animation/keyframed_animation_curve.cc
|
| @@ -366,7 +366,8 @@ bool KeyframedTransformAnimationCurve::IsTranslation() const {
|
| return true;
|
| }
|
|
|
| -bool KeyframedTransformAnimationCurve::MaximumScale(float* max_scale) const {
|
| +bool KeyframedTransformAnimationCurve::MaximumTargetScale(
|
| + float* max_scale) const {
|
| DCHECK_GE(keyframes_.size(), 2ul);
|
| *max_scale = 0.f;
|
| for (size_t i = 1; i < keyframes_.size(); ++i) {
|
| @@ -375,14 +376,14 @@ bool KeyframedTransformAnimationCurve::MaximumScale(float* max_scale) const {
|
| if (keyframes_[i - 1]->timing_function())
|
| keyframes_[i - 1]->timing_function()->Range(&min_progress, &max_progress);
|
|
|
| - float max_scale_for_segment = 0.f;
|
| - if (!keyframes_[i]->Value().MaximumScale(keyframes_[i - 1]->Value(),
|
| - min_progress,
|
| - max_progress,
|
| - &max_scale_for_segment))
|
| + gfx::Vector3dF target_scale_for_segment;
|
| + if (!keyframes_[i]->Value().ScaleComponent(&target_scale_for_segment))
|
| return false;
|
| -
|
| - *max_scale = std::max(*max_scale, max_scale_for_segment);
|
| + float max_scale_for_segment =
|
| + fmax(std::abs(target_scale_for_segment.x()),
|
| + fmax(std::abs(target_scale_for_segment.y()),
|
| + std::abs(target_scale_for_segment.z())));
|
| + *max_scale = fmax(*max_scale, max_scale_for_segment);
|
| }
|
| return true;
|
| }
|
|
|