diff options
| author | Matias Niemelä | 2014-02-24 19:43:57 -0500 | 
|---|---|---|
| committer | Matias Niemelä | 2014-02-24 21:23:18 -0500 | 
| commit | 4c4537e65e6cf911c9659b562d89e3330ce3ffae (patch) | |
| tree | 3f9e6736a314073b5516beab3c86d7709e887b6b /src/ng/animate.js | |
| parent | 62761428eff3a53e69367449eb81869e59e75e39 (diff) | |
| download | angular.js-4c4537e65e6cf911c9659b562d89e3330ce3ffae.tar.bz2 | |
perf($animate): use rAF instead of timeouts to issue animation callbacks
Diffstat (limited to 'src/ng/animate.js')
| -rw-r--r-- | src/ng/animate.js | 16 | 
1 files changed, 10 insertions, 6 deletions
| diff --git a/src/ng/animate.js b/src/ng/animate.js index 130e61e7..d90f086b 100644 --- a/src/ng/animate.js +++ b/src/ng/animate.js @@ -81,7 +81,11 @@ var $AnimateProvider = ['$provide', function($provide) {      return this.$$classNameFilter;    }; -  this.$get = ['$timeout', function($timeout) { +  this.$get = ['$timeout', '$$asyncCallback', function($timeout, $$asyncCallback) { + +    function async(fn) { +      fn && $$asyncCallback(fn); +    }      /**       * @@ -126,7 +130,7 @@ var $AnimateProvider = ['$provide', function($provide) {            }            parent.append(element);          } -        done && $timeout(done, 0, false); +        async(done);        },        /** @@ -142,7 +146,7 @@ var $AnimateProvider = ['$provide', function($provide) {         */        leave : function(element, done) {          element.remove(); -        done && $timeout(done, 0, false); +        async(done);        },        /** @@ -189,7 +193,7 @@ var $AnimateProvider = ['$provide', function($provide) {          forEach(element, function (element) {            jqLiteAddClass(element, className);          }); -        done && $timeout(done, 0, false); +        async(done);        },        /** @@ -212,7 +216,7 @@ var $AnimateProvider = ['$provide', function($provide) {          forEach(element, function (element) {            jqLiteRemoveClass(element, className);          }); -        done && $timeout(done, 0, false); +        async(done);        },        /** @@ -234,7 +238,7 @@ var $AnimateProvider = ['$provide', function($provide) {            jqLiteAddClass(element, add);            jqLiteRemoveClass(element, remove);          }); -        done && $timeout(done, 0, false); +        async(done);        },        enabled : noop | 
