diff options
author | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
---|---|---|
committer | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
commit | 5f8de423f190bbb79a62f804151bc24824fa32d8 (patch) | |
tree | 10027f336435511475e392454359edea8e25895d /dom/base/test/file_bug426646-2.html | |
parent | 49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff) | |
download | UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.lz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.xz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.zip |
Add m-esr52 at 52.6.0
Diffstat (limited to 'dom/base/test/file_bug426646-2.html')
-rw-r--r-- | dom/base/test/file_bug426646-2.html | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/dom/base/test/file_bug426646-2.html b/dom/base/test/file_bug426646-2.html new file mode 100644 index 000000000..1f8fae950 --- /dev/null +++ b/dom/base/test/file_bug426646-2.html @@ -0,0 +1,64 @@ +<html><head> +<title>Bug 426646, Using location.replace breaks iframe history</title> +<script type="text/javascript"> +var url1 = "data:text/html;charset=utf-8,1st%20page"; + +var win0 = null; + +function soon(f) { + return function() { setTimeout(f, 0); }; +} + +function doe() { + document.body.innerHTML = "<iframe src='about:blank'></iframe>"; + document.body.innerHTML += "<iframe src='about:blank'></iframe>"; + win0 = window.frames[0]; + win0.frameElement.onload = soon(doe2); + win0.location.replace(url1); +} + +function doe2() { + // Add some iframes/docshells. Session history should still work. + var ifr1 = document.createElement("iframe"); + document.body.insertBefore(ifr1, document.body.firstChild); + ifr1.onload = soon(doe3); + + var ifr2 = document.createElement("iframe"); + document.body.insertBefore(ifr2, document.body.firstChild); + ifr2.onload = soon(doe3); + + var ifr3 = document.createElement("iframe"); + document.body.insertBefore(ifr3, document.body.firstChild); + ifr3.onload = soon(doe3); +} + +var doe3_count = 0; +function doe3() { + // Wait until all three iframes have loaded about:blank before navigating + // win0. + doe3_count++; + if (doe3_count < 3) { + return; + } + if (doe3_count > 3) { + ok(false, 'Unexpected ' + doe3_count + 'th call to doe3.'); + return; + } + + win0.frameElement.onload = soon(doe4); + win0.location = 'data:text/html;charset=utf-8,2nd%20page'; +} + +function doe4() { + win0.frameElement.onload = soon(doe5); + history.go(-1); +} + +function doe5() { + opener.is(String(win0.location), url1, "History.go(-1) didn't work?"); + close(); +} +</script> +</head> +<body onload="setTimeout(doe, 0);" onunload="opener.nextTest();"> +</body></html> |