From 4c4537e65e6cf911c9659b562d89e3330ce3ffae Mon Sep 17 00:00:00 2001 From: Matias Niemelä Date: Mon, 24 Feb 2014 19:43:57 -0500 Subject: perf($animate): use rAF instead of timeouts to issue animation callbacks --- src/ngMock/angular-mocks.js | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'src/ngMock/angular-mocks.js') diff --git a/src/ngMock/angular-mocks.js b/src/ngMock/angular-mocks.js index bcd6cc1f..c9f31431 100644 --- a/src/ngMock/angular-mocks.js +++ b/src/ngMock/angular-mocks.js @@ -757,21 +757,24 @@ angular.mock.TzDate.prototype = Date.prototype; angular.mock.animate = angular.module('ngAnimateMock', ['ng']) .config(['$provide', function($provide) { - var reflowQueue = []; + var reflowQueue = []; $provide.value('$$animateReflow', function(fn) { + var index = reflowQueue.length; reflowQueue.push(fn); - return angular.noop; + return function cancel() { + reflowQueue.splice(index, 1); + }; }); - $provide.decorator('$animate', function($delegate) { + $provide.decorator('$animate', function($delegate, $$asyncCallback) { var animate = { queue : [], enabled : $delegate.enabled, + triggerCallbacks : function() { + $$asyncCallback.flush(); + }, triggerReflow : function() { - if(reflowQueue.length === 0) { - throw new Error('No animation reflows present'); - } angular.forEach(reflowQueue, function(fn) { fn(); }); -- cgit v1.2.3