|
@@ -19,46 +19,52 @@ if ( typeof define === 'function' && define.amd ) {
|
|
|
|
|
|
// polyfills
|
|
|
|
|
|
-( function () {
|
|
|
+if ( self.requestAnimationFrame === undefined || self.cancelAnimationFrame === undefined ) {
|
|
|
|
|
|
- var lastTime = 0;
|
|
|
- var vendors = [ 'ms', 'moz', 'webkit', 'o' ];
|
|
|
+ // Missing in Android stock browser.
|
|
|
|
|
|
- for ( var x = 0; x < vendors.length && ! self.requestAnimationFrame; ++ x ) {
|
|
|
+ ( function () {
|
|
|
|
|
|
- self.requestAnimationFrame = self[ vendors[ x ] + 'RequestAnimationFrame' ];
|
|
|
- self.cancelAnimationFrame = self[ vendors[ x ] + 'CancelAnimationFrame' ] || self[ vendors[ x ] + 'CancelRequestAnimationFrame' ];
|
|
|
+ var lastTime = 0;
|
|
|
+ var vendors = [ 'ms', 'moz', 'webkit', 'o' ];
|
|
|
|
|
|
- }
|
|
|
+ for ( var x = 0; x < vendors.length && ! self.requestAnimationFrame; ++ x ) {
|
|
|
|
|
|
- if ( self.requestAnimationFrame === undefined && self.setTimeout !== undefined ) {
|
|
|
+ self.requestAnimationFrame = self[ vendors[ x ] + 'RequestAnimationFrame' ];
|
|
|
+ self.cancelAnimationFrame = self[ vendors[ x ] + 'CancelAnimationFrame' ] || self[ vendors[ x ] + 'CancelRequestAnimationFrame' ];
|
|
|
|
|
|
- self.requestAnimationFrame = function ( callback ) {
|
|
|
+ }
|
|
|
|
|
|
- var currTime = Date.now(), timeToCall = Math.max( 0, 16 - ( currTime - lastTime ) );
|
|
|
- var id = self.setTimeout( function () {
|
|
|
+ if ( self.requestAnimationFrame === undefined && self.setTimeout !== undefined ) {
|
|
|
|
|
|
- callback( currTime + timeToCall );
|
|
|
+ self.requestAnimationFrame = function ( callback ) {
|
|
|
|
|
|
- }, timeToCall );
|
|
|
- lastTime = currTime + timeToCall;
|
|
|
- return id;
|
|
|
+ var currTime = Date.now(), timeToCall = Math.max( 0, 16 - ( currTime - lastTime ) );
|
|
|
+ var id = self.setTimeout( function () {
|
|
|
|
|
|
- };
|
|
|
+ callback( currTime + timeToCall );
|
|
|
|
|
|
- }
|
|
|
+ }, timeToCall );
|
|
|
+ lastTime = currTime + timeToCall;
|
|
|
+ return id;
|
|
|
|
|
|
- if ( self.cancelAnimationFrame === undefined && self.clearTimeout !== undefined ) {
|
|
|
+ };
|
|
|
|
|
|
- self.cancelAnimationFrame = function ( id ) {
|
|
|
+ }
|
|
|
|
|
|
- self.clearTimeout( id );
|
|
|
+ if ( self.cancelAnimationFrame === undefined && self.clearTimeout !== undefined ) {
|
|
|
|
|
|
- };
|
|
|
+ self.cancelAnimationFrame = function ( id ) {
|
|
|
|
|
|
- }
|
|
|
+ self.clearTimeout( id );
|
|
|
|
|
|
-}() );
|
|
|
+ };
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ }() );
|
|
|
+
|
|
|
+}
|
|
|
|
|
|
if ( Math.sign === undefined ) {
|
|
|
|