summaryrefslogtreecommitdiff
path: root/chromium/cc/trees/image_animation_controller.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/cc/trees/image_animation_controller.cc')
-rw-r--r--chromium/cc/trees/image_animation_controller.cc21
1 files changed, 21 insertions, 0 deletions
diff --git a/chromium/cc/trees/image_animation_controller.cc b/chromium/cc/trees/image_animation_controller.cc
index a7e1ebf6de6..2cb4f9d1bd1 100644
--- a/chromium/cc/trees/image_animation_controller.cc
+++ b/chromium/cc/trees/image_animation_controller.cc
@@ -4,6 +4,8 @@
#include "cc/trees/image_animation_controller.h"
+#include <sstream>
+
#include "base/bind.h"
#include "base/metrics/histogram_macros.h"
#include "base/trace_event/trace_event.h"
@@ -360,6 +362,25 @@ bool ImageAnimationController::AnimationState::AdvanceFrame(
// skipped trying to catch up.
DCHECK_GT(num_of_frames_advanced, 0u);
last_num_frames_skipped_ = num_of_frames_advanced - 1u;
+ switch (repetitions_completed_) {
+ case 0:
+ UMA_HISTOGRAM_COUNTS_100000(
+ "AnimatedImage.NumOfFramesSkipped.FirstAnimationLoop",
+ last_num_frames_skipped_);
+ break;
+ case 1:
+ UMA_HISTOGRAM_COUNTS_100000(
+ "AnimatedImage.NumOfFramesSkipped.SecondAnimationLoop",
+ last_num_frames_skipped_);
+ break;
+ case 2:
+ case 3:
+ case 4:
+ UMA_HISTOGRAM_COUNTS_100000(
+ "AnimatedImage.NumOfFramesSkipped.ThirdToFifthAnimationLoop",
+ last_num_frames_skipped_);
+ break;
+ }
UMA_HISTOGRAM_COUNTS_100000("AnimatedImage.NumOfFramesSkipped.Compositor",
last_num_frames_skipped_);
return needs_invalidation();