diff options
Diffstat (limited to 'dom/html/test/test_bug172261.html')
-rw-r--r-- | dom/html/test/test_bug172261.html | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/dom/html/test/test_bug172261.html b/dom/html/test/test_bug172261.html new file mode 100644 index 000000000..2b5d752cd --- /dev/null +++ b/dom/html/test/test_bug172261.html @@ -0,0 +1,67 @@ +<!DOCTYPE HTML> +<html> +<!-- +https://bugzilla.mozilla.org/show_bug.cgi?id=172261 +--> +<head> + <title>Test for Bug 172261</title> + <script type="text/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=172261">Mozilla Bug 172261</a> +<p id="display"> + <iframe id="test"></iframe> +</p> +<div id="content" style="display: none"> + +</div> +<pre id="test"> +<script class="testbody" type="text/javascript"> + /** Test for Bug 172261 **/ + SimpleTest.waitForExplicitFinish(); + SimpleTest.requestFlakyTimeout("untriaged"); + + var callable = false; + function toggleCallable() { callable = true; } + + var doTestInIframe = false; + + // Shouldn't do history stuff from inside onload + addLoadEvent(function() { setTimeout(startTest, 10) }); + + function startTest() { + // First, create a dummy document. Use onunload handlers to make sure + // bfcache doesn't screw us up. + var doc = $("test").contentDocument; + + doc.write("<html><body onunload=''>First</body></html>"); + doc.close(); + + // Now write our test document + doc.write("<html><script>window.onerror = parent.onerror; if (parent.doTestInIframe) { parent.is(document.domain, parent.document.domain, 'Domains should match'); parent.toggleCallable(); } <" + "/script><body>Second</body></html>"); + doc.close(); + + $("test").onload = goForward; + history.back(); + } + + function goForward() { + $("test").onload = doTest; + doTestInIframe = true; + history.forward(); + } + + function doTest() { + is($("test").contentDocument.domain, document.domain, + "Domains should match 2"); + is($("test").contentDocument.location.href, location.href, + "Locations should match"); + is(callable, true, "Subframe should be able to call us"); + SimpleTest.finish(); + } +</script> +</pre> +</body> +</html> + |