Index: tools/perf/page_sets/tough_animation_cases/css_animations_staggered_triggering_by_updating_inline_style.html |
diff --git a/tools/perf/page_sets/tough_animation_cases/css_animations_staggered_triggering_by_updating_inline_style.html b/tools/perf/page_sets/tough_animation_cases/css_animations_staggered_triggering_by_updating_inline_style.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..f8f0a6b1d3a4c325655c9fdf7a555d1414b6bdbe |
--- /dev/null |
+++ b/tools/perf/page_sets/tough_animation_cases/css_animations_staggered_triggering_by_updating_inline_style.html |
@@ -0,0 +1,45 @@ |
+<!DOCTYPE html> |
+<meta name="viewport" content="width=device-width, user-scalable=no"> |
+<link rel="stylesheet" type="text/css" href="resources/animation.css"> |
+<link rel="stylesheet" type="text/css" href="resources/tablet.css"> |
+<script src="resources/perftesthelper.js"></script> |
+ |
+<container id="container"></container> |
+ |
+<script> |
+var N = PerfTestHelper.getN(1000); |
+var duration = 1000; |
+ |
+var targets = []; |
+function startAnimation(i) { |
+ if (targets[i]) { |
+ targets[i].style.webkitAnimationName = ((targets[i].i++) % 2 ? '' : 'reverse-') + 'anim'; |
+ targets[i].classList.toggle('anim'); |
+ return; |
+ } |
+ var target = document.createElement('target'); |
+ target.i = 0; |
+ container.appendChild(target); |
+ targets[i] = target; |
+} |
+ |
+requestAnimationFrame(function(t) { |
+ var base = t; |
+ var i = 0; |
+ |
+ function staggeredStart(t) { |
+ var elapsed = t - base; |
+ for (; i < N && i < N * elapsed / duration; i++) { |
+ startAnimation(i); |
+ } |
+ if (elapsed > duration) { |
+ PerfTestHelper.signalReady(); |
+ i = 0; |
+ base = t - (elapsed % duration); |
+ elapsed = 0; |
+ } |
+ requestAnimationFrame(staggeredStart); |
+ } |
+ requestAnimationFrame(staggeredStart); |
+}); |
+</script> |