Index: lib/dom/templates/html/frog/impl_Window.darttemplate |
diff --git a/lib/dom/templates/html/frog/impl_Window.darttemplate b/lib/dom/templates/html/frog/impl_Window.darttemplate |
index 95d5abd910f315f546498bfa97f6afd98f4c5622..746e5921b9942d51f2d7496ff72eae38229d65ad 100644 |
--- a/lib/dom/templates/html/frog/impl_Window.darttemplate |
+++ b/lib/dom/templates/html/frog/impl_Window.darttemplate |
@@ -10,5 +10,23 @@ class $CLASSNAME$EXTENDS$IMPLEMENTS native "@*DOMWindow" { |
_addMeasurementFrameCallback(callback); |
} |
+ /** @domName DOMWindow.requestAnimationFrame */ |
+ int requestAnimationFrame(RequestAnimationFrameCallback callback) native ''' |
+ if (!window.requestAnimationFrame) { |
+ window.requestAnimationFrame = |
+ window.webkitRequestAnimationFrame || |
+ window.mozRequestAnimationFrame || |
+ window.msRequestAnimationFrame || |
+ window.oRequestAnimationFrame || |
+ function (callback) { |
+ window.setTimeout(callback, 16 /* 16ms ~= 60fps */); |
+ }; |
+ } |
+ return window.requestAnimationFrame(callback); |
+'''; |
+ |
+ // Protect member 'requestAnimationFrame'. |
+ _requestAnimationFrame() native 'requestAnimationFrame'; |
+ |
$!MEMBERS |
} |