| Index: ui/views/animation/square_ink_drop_ripple.cc
|
| diff --git a/ui/views/animation/square_ink_drop_ripple.cc b/ui/views/animation/square_ink_drop_ripple.cc
|
| index 64def3348ec3f48bb8847b8f74bba7ef6088d172..e2cb36d5090cea1ed9009f45ed76ea4ea29397d3 100644
|
| --- a/ui/views/animation/square_ink_drop_ripple.cc
|
| +++ b/ui/views/animation/square_ink_drop_ripple.cc
|
| @@ -6,7 +6,9 @@
|
|
|
| #include <algorithm>
|
|
|
| +#include "base/lazy_instance.h"
|
| #include "base/logging.h"
|
| +#include "base/metrics/histogram_macros.h"
|
| #include "ui/compositor/layer.h"
|
| #include "ui/compositor/layer_animation_sequence.h"
|
| #include "ui/compositor/scoped_layer_animation_settings.h"
|
| @@ -159,6 +161,15 @@ gfx::Transform CalculateRectTransform(const gfx::Vector2dF& center_offset,
|
| return transform;
|
| }
|
|
|
| +class SquareRippleMetricsReporter : public ui::AnimationMetricsReporter {
|
| + void Report(int value) override {
|
| + UMA_HISTOGRAM_PERCENTAGE("Views.AnimationSmoothness.SquareRipple", value);
|
| + }
|
| +};
|
| +
|
| +base::LazyInstance<SquareRippleMetricsReporter>::Leaky g_reporter =
|
| + LAZY_INSTANCE_INITIALIZER;
|
| +
|
| } // namespace
|
|
|
| namespace views {
|
| @@ -459,6 +470,7 @@ void SquareInkDropRipple::AnimateCenterPoint(
|
| if (observer)
|
| sequence->AddObserver(observer);
|
|
|
| + sequence->SetAnimationMetricsReporter(g_reporter.Pointer());
|
| animator->StartAnimation(sequence);
|
| }
|
|
|
| @@ -482,6 +494,7 @@ void SquareInkDropRipple::AnimateToTransforms(
|
| if (animation_observer)
|
| sequence->AddObserver(animation_observer);
|
|
|
| + sequence->SetAnimationMetricsReporter(g_reporter.Pointer());
|
| animator->StartAnimation(sequence);
|
| }
|
| }
|
| @@ -513,6 +526,7 @@ void SquareInkDropRipple::AnimateToOpacity(
|
| if (animation_observer)
|
| animation_sequence->AddObserver(animation_observer);
|
|
|
| + animation_sequence->SetAnimationMetricsReporter(g_reporter.Pointer());
|
| animator->StartAnimation(animation_sequence);
|
| }
|
|
|
|
|