summaryrefslogtreecommitdiffstats
path: root/layout/base/tests/test_bug607529.html
diff options
context:
space:
mode:
Diffstat (limited to 'layout/base/tests/test_bug607529.html')
-rw-r--r--layout/base/tests/test_bug607529.html64
1 files changed, 64 insertions, 0 deletions
diff --git a/layout/base/tests/test_bug607529.html b/layout/base/tests/test_bug607529.html
new file mode 100644
index 000000000..332996084
--- /dev/null
+++ b/layout/base/tests/test_bug607529.html
@@ -0,0 +1,64 @@
+<!DOCTYPE HTML>
+<html>
+<!--
+https://bugzilla.mozilla.org/show_bug.cgi?id=607529
+-->
+<head>
+ <title>Test for Bug 607529</title>
+ <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
+ <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
+</head>
+<body>
+<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=607529">Mozilla Bug 607529</a>
+<p id="display"></p>
+<div id="content" style="display: none">
+
+</div>
+<pre id="test">
+<script type="application/javascript">
+ SimpleTest.waitForExplicitFinish();
+
+ /* General idea: Open a new window (needed because we don't bfcache
+ subframes) that uses requestAnimationFrame, navigate it, navigate it
+ back, and verify that the animations are still running. */
+
+ var doneOneLoad = false;
+
+ /** Test for Bug 607529 **/
+ var done = false;
+ window.onmessage = function(e) {
+ isnot(e.data, "notcached", "Should never end up not being cached");
+
+ if (e.data == "loaded" && !doneOneLoad) {
+ doneOneLoad = true;
+ w.location = "data:text/html,<script>window.onload = function() { opener.postMessage('goback', '*'); }</" + "script>";
+ }
+ else if (e.data == "goback") {
+ w.history.back();
+ }
+ else if (e.data == "revived") {
+ w.postMessage("report", "*");
+ }
+ else if (e.data == "callbackHappened") {
+ // We might get this message more than once, if the other page queues up
+ // more than one callbackHappened message before we manage to close it.
+ // Protect against calling SimpleTest.finish() more than once.
+ if (!done) {
+ w.close();
+ window.onmessage = null;
+ SimpleTest.finish();
+ done = true;
+ }
+ } else {
+ var msg = JSON.parse(e.data);
+ if (msg.error) {
+ window.onerror(msg.msg, msg.url, msg.line);
+ }
+ }
+ };
+
+ var w = window.open("file_bug607529.html");
+</script>
+</pre>
+</body>
+</html>