summaryrefslogtreecommitdiffstats
path: root/LayoutTests
diff options
context:
space:
mode:
authorYida Wang <yidaw@codeaurora.org>2012-08-23 12:51:00 -0400
committerSteve Kondik <shade@chemlab.org>2013-01-20 18:38:31 -0800
commit77ab7f788fa2de43390a0ddb447c94a191284e88 (patch)
treeaa2021d922d649581c1473ee21cb509e0eb236ea /LayoutTests
parent70f026a42cf1bee061389fa6ce790ea1186f0703 (diff)
downloadexternal_webkit-77ab7f788fa2de43390a0ddb447c94a191284e88.zip
external_webkit-77ab7f788fa2de43390a0ddb447c94a191284e88.tar.gz
external_webkit-77ab7f788fa2de43390a0ddb447c94a191284e88.tar.bz2
Implement requestAnimationFrame
Cherry-pick from webkit-org branch on Code Aurora Forum: requestAnimationFrame doesn't throttle on Mac https://www.codeaurora.org/gitweb/quic/la/?p=platform/external/webkit.git;a=commit;h=d9dca741b4762c433ae18f7a1bc59a3a81861fc8 Timestamp parameter to requestAnimationFrame is busted in USE(REQUEST_ANIMATION_FRAME_TIMER) path https://www.codeaurora.org/gitweb/quic/la/?p=platform/external/webkit.git;a=commit;h=f0909a46fa167c84062c63caffef340a6054bc1e Rename webkitCancelRequestAnimationFrame to webkitCancelAnimationFrame to match spec change https://www.codeaurora.org/gitweb/quic/la/?p=platform/external/webkit.git;a=commit;h=cd5d11d662d638b3e4dfda33f23cda907f007f12 Remove partially implemented per-Element visibility checks from requestAnimationFrame logic https://www.codeaurora.org/gitweb/quic/la/?p=platform/external/webkit.git;a=commit;h=9fb90af3cebd0e595990cded0941d230cf77dcc1 (cherry picked from commit 47ff59a279eab9ae5dd1fd17ce7057431750a0b5) Change-Id: I7e77200006bb0c4cd4b4209082296c425bd207c1
Diffstat (limited to 'LayoutTests')
-rw-r--r--LayoutTests/fast/animation/request-animation-frame-timestamps-advance-expected.txt11
-rw-r--r--LayoutTests/fast/animation/request-animation-frame-timestamps-advance.html15
-rw-r--r--LayoutTests/fast/animation/script-tests/request-animation-frame-timestamps-advance.js37
3 files changed, 63 insertions, 0 deletions
diff --git a/LayoutTests/fast/animation/request-animation-frame-timestamps-advance-expected.txt b/LayoutTests/fast/animation/request-animation-frame-timestamps-advance-expected.txt
new file mode 100644
index 0000000..ff09010
--- /dev/null
+++ b/LayoutTests/fast/animation/request-animation-frame-timestamps-advance-expected.txt
@@ -0,0 +1,11 @@
+Tests the timestamps provided to requestAnimationFrame callbacks advance
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS firstTimestamp is defined.
+PASS secondTimestamp is defined.
+PASS secondTimestamp > firstTimestamp is true
+PASS successfullyParsed is true
+
+TEST COMPLETE
diff --git a/LayoutTests/fast/animation/request-animation-frame-timestamps-advance.html b/LayoutTests/fast/animation/request-animation-frame-timestamps-advance.html
new file mode 100644
index 0000000..b66b511
--- /dev/null
+++ b/LayoutTests/fast/animation/request-animation-frame-timestamps-advance.html
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<html>
+<head>
+<link rel="stylesheet" href="../js/resources/js-test-style.css">
+<script src="../js/resources/js-test-pre.js"></script>
+</head>
+<body>
+<p id="description"></p>
+<div id="console"></div>
+<span id="e"></span>
+<span id="f"></span>
+<script src="script-tests/request-animation-frame-timestamps-advance.js"></script>
+<script src="../js/resources/js-test-post-function.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/fast/animation/script-tests/request-animation-frame-timestamps-advance.js b/LayoutTests/fast/animation/script-tests/request-animation-frame-timestamps-advance.js
new file mode 100644
index 0000000..52d9b90
--- /dev/null
+++ b/LayoutTests/fast/animation/script-tests/request-animation-frame-timestamps-advance.js
@@ -0,0 +1,37 @@
+description("Tests the timestamps provided to requestAnimationFrame callbacks advance");
+
+function busyWait(millis) {
+ var start = Date.now();
+ while (Date.now()-start < millis) {}
+}
+
+var firstTimestamp = undefined;
+var secondTimestamp = undefined;
+
+window.webkitRequestAnimationFrame(function(timestamp) {
+ firstTimestamp = timestamp;
+ shouldBeDefined("firstTimestamp");
+ window.webkitRequestAnimationFrame(function(timestamp) {
+ secondTimestamp = timestamp;
+ shouldBeDefined("secondTimestamp");
+ shouldBeTrue("secondTimestamp > firstTimestamp");
+ isSuccessfullyParsed();
+ if (window.layoutTestController)
+ layoutTestController.notifyDone();
+ });
+ busyWait(10);
+ if (window.layoutTestController)
+ layoutTestController.display();
+});
+
+
+if (window.layoutTestController)
+ window.setTimeout(function() {
+ layoutTestController.display();
+ });
+
+
+if (window.layoutTestController)
+ layoutTestController.waitUntilDone();
+
+var successfullyParsed = true;