refactor: remove requestAnimationFrame from polyfills and platforms (#10528)
This commit is contained in:
parent
24e046fd6a
commit
6e40ef0f6d
|
@ -397,10 +397,6 @@ export class BrowserDomAdapter extends GenericBrowserDomAdapter {
|
||||||
getComputedStyle(element: any /** TODO #9100 */): any { return getComputedStyle(element); }
|
getComputedStyle(element: any /** TODO #9100 */): any { return getComputedStyle(element); }
|
||||||
// TODO(tbosch): move this into a separate environment class once we have it
|
// TODO(tbosch): move this into a separate environment class once we have it
|
||||||
setGlobalVar(path: string, value: any) { setValueOnPath(global, path, value); }
|
setGlobalVar(path: string, value: any) { setValueOnPath(global, path, value); }
|
||||||
requestAnimationFrame(callback: any /** TODO #9100 */): number {
|
|
||||||
return window.requestAnimationFrame(callback);
|
|
||||||
}
|
|
||||||
cancelAnimationFrame(id: number) { window.cancelAnimationFrame(id); }
|
|
||||||
supportsWebAnimation(): boolean { return isFunction((<any>Element).prototype['animate']); }
|
supportsWebAnimation(): boolean { return isFunction((<any>Element).prototype['animate']); }
|
||||||
performanceNow(): number {
|
performanceNow(): number {
|
||||||
// performance.now() is not available in all browsers, see
|
// performance.now() is not available in all browsers, see
|
||||||
|
|
|
@ -177,8 +177,6 @@ export abstract class DomAdapter {
|
||||||
abstract getComputedStyle(element: any /** TODO #9100 */): any;
|
abstract getComputedStyle(element: any /** TODO #9100 */): any;
|
||||||
abstract getData(element: any /** TODO #9100 */, name: string): string;
|
abstract getData(element: any /** TODO #9100 */, name: string): string;
|
||||||
abstract setGlobalVar(name: string, value: any): any /** TODO #9100 */;
|
abstract setGlobalVar(name: string, value: any): any /** TODO #9100 */;
|
||||||
abstract requestAnimationFrame(callback: any /** TODO #9100 */): number;
|
|
||||||
abstract cancelAnimationFrame(id: any /** TODO #9100 */): any /** TODO #9100 */;
|
|
||||||
abstract supportsWebAnimation(): boolean;
|
abstract supportsWebAnimation(): boolean;
|
||||||
abstract performanceNow(): number;
|
abstract performanceNow(): number;
|
||||||
abstract getAnimationPrefix(): string;
|
abstract getAnimationPrefix(): string;
|
||||||
|
|
|
@ -198,8 +198,6 @@ export class WorkerDomAdapter extends DomAdapter {
|
||||||
getComputedStyle(element: any /** TODO #9100 */): any { throw 'not implemented'; }
|
getComputedStyle(element: any /** TODO #9100 */): any { throw 'not implemented'; }
|
||||||
getData(element: any /** TODO #9100 */, name: string): string { throw 'not implemented'; }
|
getData(element: any /** TODO #9100 */, name: string): string { throw 'not implemented'; }
|
||||||
setGlobalVar(name: string, value: any) { throw 'not implemented'; }
|
setGlobalVar(name: string, value: any) { throw 'not implemented'; }
|
||||||
requestAnimationFrame(callback: any /** TODO #9100 */): number { throw 'not implemented'; }
|
|
||||||
cancelAnimationFrame(id: any /** TODO #9100 */) { throw 'not implemented'; }
|
|
||||||
performanceNow(): number { throw 'not implemented'; }
|
performanceNow(): number { throw 'not implemented'; }
|
||||||
getAnimationPrefix(): string { throw 'not implemented'; }
|
getAnimationPrefix(): string { throw 'not implemented'; }
|
||||||
getTransitionEnd(): string { throw 'not implemented'; }
|
getTransitionEnd(): string { throw 'not implemented'; }
|
||||||
|
|
|
@ -604,8 +604,6 @@ export class Parse5DomAdapter extends DomAdapter {
|
||||||
}
|
}
|
||||||
// TODO(tbosch): move this into a separate environment class once we have it
|
// TODO(tbosch): move this into a separate environment class once we have it
|
||||||
setGlobalVar(path: string, value: any) { setValueOnPath(global, path, value); }
|
setGlobalVar(path: string, value: any) { setValueOnPath(global, path, value); }
|
||||||
requestAnimationFrame(callback: any /** TODO #9100 */): number { return setTimeout(callback, 0); }
|
|
||||||
cancelAnimationFrame(id: number) { clearTimeout(id); }
|
|
||||||
supportsWebAnimation(): boolean { return false; }
|
supportsWebAnimation(): boolean { return false; }
|
||||||
performanceNow(): number { return DateWrapper.toMillis(DateWrapper.now()); }
|
performanceNow(): number { return DateWrapper.toMillis(DateWrapper.now()); }
|
||||||
getAnimationPrefix(): string { return ''; }
|
getAnimationPrefix(): string { return ''; }
|
||||||
|
|
|
@ -100,35 +100,6 @@ if (!window.console.error) window.console.error = function () { };
|
||||||
if (!window.console.warn) window.console.warn = function () { };
|
if (!window.console.warn) window.console.warn = function () { };
|
||||||
if (!window.console.assert) window.console.assert = function () { };
|
if (!window.console.assert) window.console.assert = function () { };
|
||||||
|
|
||||||
//RequestAnimationFrame (IE9, Android 4.1, 4.2, 4.3)
|
|
||||||
/*! @author Paul Irish */
|
|
||||||
/*! @source https://gist.github.com/paulirish/1579671 */
|
|
||||||
// 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
|
|
||||||
|
|
||||||
(function() {
|
|
||||||
var lastTime = 0;
|
|
||||||
|
|
||||||
if (!window.requestAnimationFrame)
|
|
||||||
window.requestAnimationFrame = function(callback, element) {
|
|
||||||
var currTime = Date.now();
|
|
||||||
var timeToCall = Math.max(0, 16 - (currTime - lastTime));
|
|
||||||
var id = window.setTimeout(function() { callback(currTime + timeToCall); },
|
|
||||||
timeToCall);
|
|
||||||
lastTime = currTime + timeToCall;
|
|
||||||
return id;
|
|
||||||
};
|
|
||||||
|
|
||||||
if (!window.cancelAnimationFrame)
|
|
||||||
window.cancelAnimationFrame = function(id) {
|
|
||||||
clearTimeout(id);
|
|
||||||
};
|
|
||||||
}());
|
|
||||||
|
|
||||||
//Typed Array (IE9)
|
//Typed Array (IE9)
|
||||||
/*! @source https://github.com/inexorabletash/polyfill/blob/master/typedarray.js */
|
/*! @source https://github.com/inexorabletash/polyfill/blob/master/typedarray.js */
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in New Issue