<!DOCTYPE HTML> <html> <!-- https://bugzilla.mozilla.org/show_bug.cgi?id=715739 --> <head> <meta charset="utf-8"> <title>Test for Bug 715739</title> <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script> <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/> </head> <body onload="tick()"> <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=715739">Mozilla Bug 715739</a> <p id="display"></p> <pre id="test"> <script type="application/javascript"> /** Test for Bug 715739 **/ SimpleTest.waitForExplicitFinish(); var runNumber = 0; function textChildren(node) { var s = ""; var n = node.firstChild; while (n) { if (n.nodeType == Node.TEXT_NODE) { s += n.nodeValue; } n = n.nextSibling; } return s; } var f, d; function tick() { runNumber++; f = document.getElementsByTagName("iframe")[0]; d = f.contentDocument; if (runNumber == 1) { frames[1].setTimeout(` var d = parent.d; var f = parent.f; d.open(); f.addEventListener("load", parent.tick); d.write("X"); d.write("\u003cscript>document.write('Y');\u003c/script>"); d.write("Z"); d.close(); `); return; } if (runNumber == 2) { var text = textChildren(d.body); is(text, "ABC", "Wrong text before reload."); f.contentWindow.location.reload(); return; } if (runNumber == 3) { var text = textChildren(d.body); is(text, "XYZ", "Wrong text after reload."); SimpleTest.finish(); return; } } // We want to trigger a document.open/write with a different window as the // entry global. Let's give that window a blob URL so we don't have to set up // extra helper files. var blob = new Blob(["ABC"], { type: "text/html" }); var blobURL = URL.createObjectURL(blob); </script> </pre> <div id="content" style="display: none"> <iframe></iframe> <iframe></iframe> </div> <script> document.querySelectorAll("iframe")[1].src = blobURL; </script> </body> </html>