Code coverage report for imgly-sdk-html5/src/js/lib/animation-frame.js

Statements: 68.18% (15 / 22)      Branches: 70% (7 / 10)      Functions: 0% (0 / 3)      Lines: 68.18% (15 / 22)      Ignored: none     

All files » imgly-sdk-html5/src/js/lib/ » animation-frame.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43                1     1 1 1   1 1 1 4 4     1 1                     1 1         1 1  
/*!
 * http://paulirish.com/2011/requestanimationframe-for-smart-animating/
 * http://my.opera.com/emoller/blog/2011/12/20/requestanimationframe-for-smart-er-animating
 * requestAnimationFrame polyfill by Erik Möller. fixes from Paul Irish and Tino Zijdel
 * MIT license
 */
'use strict';
 
Object.defineProperty(exports, '__esModule', {
  value: true
});
var root = typeof window === 'undefined' ? global : window;
var rAF = root.requestAnimationFrame;
var cAF = root.cancelAnimationFrame;
 
var lastTime = 0;
var vendors = ['ms', 'moz', 'webkit', 'o'];
for (var x = 0; x < vendors.length && !rAF; ++x) {
  exports.requestAnimationFrame = rAF = root[vendors[x] + 'RequestAnimationFrame'];
  exports.cancelAnimationFrame = cAF = root[vendors[x] + 'CancelAnimationFrame'] || root[vendors[x] + 'CancelRequestAnimationFrame'];
}
 
Eif (!rAF) {
  exports.requestAnimationFrame = rAF = function (callback, element) {
    var currTime = new Date().getTime();
    var timeToCall = Math.max(0, 16 - (currTime - lastTime));
    var id = setTimeout(function () {
      callback(currTime + timeToCall);
    }, timeToCall);
    lastTime = currTime + timeToCall;
    return id;
  };
}
 
Eif (!cAF) {
  exports.cancelAnimationFrame = cAF = function (id) {
    clearTimeout(id);
  };
}
 
exports.requestAnimationFrame = rAF;
exports.cancelAnimationFrame = cAF;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9yb290L1NFUlZFUi9pbWdseS1zZGstaHRtbDUvc3JjL2pzL2xpYi9hbmltYXRpb24tZnJhbWUuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFNQSxJQUFNLElBQUksR0FBRyxPQUFPLE1BQU0sS0FBSyxXQUFXLEdBQUcsTUFBTSxHQUFHLE1BQU0sQ0FBQTtBQUM1RCxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUE7QUFDcEMsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFBOztBQUVuQyxJQUFJLFFBQVEsR0FBRyxDQUFDLENBQUE7QUFDaEIsSUFBTSxPQUFPLEdBQUcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQTtBQUM1QyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsRUFBRTtBQUMvQyxVQXFCTyxxQkFBcUIsR0FyQjVCLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLHVCQUF1QixDQUFDLENBQUE7QUFDaEQsVUFxQk8sb0JBQW9CLEdBckIzQixHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxzQkFBc0IsQ0FBQyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsNkJBQTZCLENBQUMsQ0FBQTtDQUNwRzs7QUFFRCxJQUFJLENBQUMsR0FBRyxFQUFFO0FBQ1IsVUFnQk8scUJBQXFCLEdBaEI1QixHQUFHLEdBQUcsVUFBVSxRQUFRLEVBQUUsT0FBTyxFQUFFO0FBQ2pDLFFBQU0sUUFBUSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUE7QUFDckMsUUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxJQUFJLFFBQVEsR0FBRyxRQUFRLENBQUEsQUFBQyxDQUFDLENBQUE7QUFDMUQsUUFBTSxFQUFFLEdBQUcsVUFBVSxDQUFDLFlBQVk7QUFBRSxjQUFRLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQyxDQUFBO0tBQUUsRUFBRSxVQUFVLENBQUMsQ0FBQTtBQUNsRixZQUFRLEdBQUcsUUFBUSxHQUFHLFVBQVUsQ0FBQTtBQUNoQyxXQUFPLEVBQUUsQ0FBQTtHQUNWLENBQUE7Q0FDRjs7QUFFRCxJQUFJLENBQUMsR0FBRyxFQUFFO0FBQ1IsVUFPTyxvQkFBb0IsR0FQM0IsR0FBRyxHQUFHLFVBQVUsRUFBRSxFQUFFO0FBQ2xCLGdCQUFZLENBQUMsRUFBRSxDQUFDLENBQUE7R0FDakIsQ0FBQTtDQUNGOztRQUdRLHFCQUFxQixHQUE1QixHQUFHO1FBQ0ksb0JBQW9CLEdBQTNCLEdBQUciLCJmaWxlIjoiL3Jvb3QvU0VSVkVSL2ltZ2x5LXNkay1odG1sNS9zcmMvanMvbGliL2FuaW1hdGlvbi1mcmFtZS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogaHR0cDovL3BhdWxpcmlzaC5jb20vMjAxMS9yZXF1ZXN0YW5pbWF0aW9uZnJhbWUtZm9yLXNtYXJ0LWFuaW1hdGluZy9cbiAqIGh0dHA6Ly9teS5vcGVyYS5jb20vZW1vbGxlci9ibG9nLzIwMTEvMTIvMjAvcmVxdWVzdGFuaW1hdGlvbmZyYW1lLWZvci1zbWFydC1lci1hbmltYXRpbmdcbiAqIHJlcXVlc3RBbmltYXRpb25GcmFtZSBwb2x5ZmlsbCBieSBFcmlrIE3DtmxsZXIuIGZpeGVzIGZyb20gUGF1bCBJcmlzaCBhbmQgVGlubyBaaWpkZWxcbiAqIE1JVCBsaWNlbnNlXG4gKi9cbmNvbnN0IHJvb3QgPSB0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJyA/IGdsb2JhbCA6IHdpbmRvd1xubGV0IHJBRiA9IHJvb3QucmVxdWVzdEFuaW1hdGlvbkZyYW1lXG5sZXQgY0FGID0gcm9vdC5jYW5jZWxBbmltYXRpb25GcmFtZVxuXG5sZXQgbGFzdFRpbWUgPSAwXG5jb25zdCB2ZW5kb3JzID0gWydtcycsICdtb3onLCAnd2Via2l0JywgJ28nXVxuZm9yIChsZXQgeCA9IDA7IHggPCB2ZW5kb3JzLmxlbmd0aCAmJiAhckFGOyArK3gpIHtcbiAgckFGID0gcm9vdFt2ZW5kb3JzW3hdICsgJ1JlcXVlc3RBbmltYXRpb25GcmFtZSddXG4gIGNBRiA9IHJvb3RbdmVuZG9yc1t4XSArICdDYW5jZWxBbmltYXRpb25GcmFtZSddIHx8IHJvb3RbdmVuZG9yc1t4XSArICdDYW5jZWxSZXF1ZXN0QW5pbWF0aW9uRnJhbWUnXVxufVxuXG5pZiAoIXJBRikge1xuICByQUYgPSBmdW5jdGlvbiAoY2FsbGJhY2ssIGVsZW1lbnQpIHtcbiAgICBjb25zdCBjdXJyVGltZSA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpXG4gICAgY29uc3QgdGltZVRvQ2FsbCA9IE1hdGgubWF4KDAsIDE2IC0gKGN1cnJUaW1lIC0gbGFzdFRpbWUpKVxuICAgIGNvbnN0IGlkID0gc2V0VGltZW91dChmdW5jdGlvbiAoKSB7IGNhbGxiYWNrKGN1cnJUaW1lICsgdGltZVRvQ2FsbCkgfSwgdGltZVRvQ2FsbClcbiAgICBsYXN0VGltZSA9IGN1cnJUaW1lICsgdGltZVRvQ2FsbFxuICAgIHJldHVybiBpZFxuICB9XG59XG5cbmlmICghY0FGKSB7XG4gIGNBRiA9IGZ1bmN0aW9uIChpZCkge1xuICAgIGNsZWFyVGltZW91dChpZClcbiAgfVxufVxuXG5leHBvcnQge1xuICByQUYgYXMgcmVxdWVzdEFuaW1hdGlvbkZyYW1lLFxuICBjQUYgYXMgY2FuY2VsQW5pbWF0aW9uRnJhbWVcbn1cbiJdfQ==