diff options
Diffstat (limited to 'layout/base/tests/test_bug607529.html')
-rw-r--r-- | layout/base/tests/test_bug607529.html | 64 |
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> |