summaryrefslogtreecommitdiffstats
path: root/layout/reftests/position-dynamic-changes/relative/animate.js
diff options
context:
space:
mode:
Diffstat (limited to 'layout/reftests/position-dynamic-changes/relative/animate.js')
-rw-r--r--layout/reftests/position-dynamic-changes/relative/animate.js30
1 files changed, 30 insertions, 0 deletions
diff --git a/layout/reftests/position-dynamic-changes/relative/animate.js b/layout/reftests/position-dynamic-changes/relative/animate.js
new file mode 100644
index 0000000000..38598e1d34
--- /dev/null
+++ b/layout/reftests/position-dynamic-changes/relative/animate.js
@@ -0,0 +1,30 @@
+var rfa = null;
+if (window.requestAnimationFrame) {
+ rfa = requestAnimationFrame;
+} else if (window.webkitRequestAnimationFrame) {
+ rfa = webkitRequestAnimationFrame;
+} else if (window.msRequestAnimationFrame) {
+ rfa = msRequestAnimationFrame;
+} else if (window.oRequestAnimationFrame) {
+ rfa = oRequestAnimationFrame;
+}
+
+function animate(params, count) {
+ rfa(function() {
+ animateStep(params, count);
+ });
+}
+
+function animateStep(params, count) {
+ if (!count) {
+ document.documentElement.removeAttribute("class");
+ return;
+ }
+ var rel = document.getElementById("rel");
+ for (prop in params) {
+ rel.style[prop] = (parseInt(rel.style[prop]) + params[prop]) + "px";
+ }
+ rfa(function() {
+ animateStep(params, count - 10);
+ });
+}