1c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved. 2c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 3c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// found in the LICENSE file. 4c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 5c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)var bench = (function() { 6c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) var rafFunc; 7c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) var drawFunc; 8c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 9c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) function tick() { 10c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) drawFunc(); 11c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) rafFunc(tick); 12c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) }; 13c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 14c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) function startAnimation() { 15c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) rafFunc = window.requestAnimationFrame || 16c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) window.webkitRequestAnimationFrame || 17c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) window.mozRequestAnimationFrame || 18c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) window.oRequestAnimationFrame || 19c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) window.msRequestAnimationFrame; 20c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) rafFunc(tick); 21c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) }; 22c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 23c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) var bench = {}; 24c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) bench.run = function(df) { 25c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) drawFunc = df; 26c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) startAnimation(); 27c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) }; 28c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) return bench; 29c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)})(); 30