1 /** 2 Polyfills! 3 */ 4 5 // window.performance 6 (function() { 7 // TODO: Include polyfill for node.js 8 if (window && typeof window.performance === 'undefined') { 9 window.performance = {}; 10 } 11 12 if (window && !window.performance.now) { 13 var initTimestamp; 14 if (window.performance.timing && window.performance.timing.navigationStart) { 15 initTimestamp = window.performance.timing.navigationStart; 16 } else { 17 window.performance.timing = {}; 18 initTimestamp = window.performance.timing.navigationStart = Date.now ? Date.now() : (new Date()).getTime(); 19 } 20 window.performance.now = function() { 21 var now = Date.now ? Date.now() : (new Date()).getTime(); 22 return now - initTimestamp; 23 }; 24 } 25 })(); 26