fix(rAF): move rAF to web-animations polyfill

RequestAnimationFrame polyfill is required for Android 4.3 and below,
and it must be written to the window object for Angular to work
correctly. Related #794
This commit is contained in:
Adam Bradley
2016-01-04 14:18:54 -06:00
parent 6bfdfddf73
commit faee5fcdba
5 changed files with 23 additions and 34 deletions

View File

@ -87,6 +87,21 @@ module.exports = function(grunt) {
config.wrap[target] = {
source: source,
preamble: '(function() {\n' +
' // RequestAnimationFrame Polyfill (Android 4.1, 4.2, 4.3)\n' +
' /*! @author Paul Irish */\n' +
' /*! @source https://gist.github.com/paulirish/1579671 */\n' +
' var rafLastTime = 0;\n' +
' if (!window.requestAnimationFrame)\n' +
' window.requestAnimationFrame = function(callback, element) {\n' +
' var currTime = Date.now();\n' +
' var timeToCall = Math.max(0, 16 - (currTime - rafLastTime));\n' +
' var id = window.setTimeout(function() { callback(currTime + timeToCall); }, timeToCall);\n' +
' rafLastTime = currTime + timeToCall;\n' +
' return id;\n' +
' };\n' +
' if (!window.cancelAnimationFrame) window.cancelAnimationFrame = function(id) { clearTimeout(id); };\n' +
' \n' +
' // Web Animations Polyfill\n' +
' if (document.documentElement.animate) {\n' +
' var player = document.documentElement.animate([], 0);\n' +
' var load = true;\n' +