Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(741)

Unified Diff: tools/perf/page_sets/tough_animation_cases/resources/css_value_type.js

Issue 931723002: Add perf tests for animations using different CSS value types (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: tools/perf/page_sets/tough_animation_cases/resources/css_value_type.js
diff --git a/tools/perf/page_sets/tough_animation_cases/resources/css_value_type.js b/tools/perf/page_sets/tough_animation_cases/resources/css_value_type.js
new file mode 100644
index 0000000000000000000000000000000000000000..f33654df2869dd0895b9a708fd8a4176ba01571e
--- /dev/null
+++ b/tools/perf/page_sets/tough_animation_cases/resources/css_value_type.js
@@ -0,0 +1,56 @@
+// Copyright 2015 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+'use strict';
+
+function perfTestCSSValue(options) {
+ var property = options.property;
+ var from = options.from;
+ var to = options.to;
+ console.assert(property);
+ console.assert(from);
+ console.assert(to);
+ console.assert(PerfTestHelper);
+ console.assert(document.getElementById('container'));
sullivan 2015/02/17 14:30:31 Are these left in intentionally because they make
alancutter (OOO until 2018) 2015/02/17 20:42:12 Yes. There are a couple of preconditions to this s
+
+ var duration = 15000;
+
+ var N = PerfTestHelper.getN(1000);
+ var targets = [];
+ for (var i = 0; i < N; i++) {
+ var target = document.createElement('target');
+ targets.push(target);
+ container.appendChild(target);
+ }
+
+ var api = PerfTestHelper.getParameter('api');
+ switch (api) {
+ case 'css_animations':
+ var style = document.createElement('style');
+ style.textContent = '' +
+ '@-webkit-keyframes anim {\n' +
+ ' from {' + property + ': ' + from + ';}\n' +
+ ' to {' + property + ': ' + to + ';}\n' +
+ '}\n' +
+ 'target {\n' +
+ ' -webkit-animation: anim ' + duration + 'ms linear infinite;\n' +
+ '}\n';
+ document.head.appendChild(style);
+ break;
+ case 'web_animations':
+ var keyframes = [{}, {}];
+ keyframes[0][property] = from;
+ keyframes[1][property] = to;
+ targets.forEach(function(target) {
+ target.animate(keyframes, {
+ duration: duration,
+ iterations: Infinity,
+ });
+ });
+ break;
+ default:
+ throw 'Invalid api: ' + api;
+ }
+
+ PerfTestHelper.signalReady();
+}

Powered by Google App Engine
This is Rietveld 408576698