<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"; 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>"; window.frames[0].frameElement.onload = soon(doe2); window.frames[0].location.replace(url1); } function doe2() { window.frames[0].location = 'data:text/html;charset=utf-8,2nd%20page'; window.frames[0].frameElement.onload = soon(doe3); } function doe3() { window.frames[0].frameElement.onload = soon(doe4); history.go(-1); } function doe4() { opener.is(String(window.frames[0].location), url1, "History.go(-1) didn't work?"); opener.is(String(window.frames[1].location), "about:blank", "History.go(-1) didn't work?"); close(); } </script> </head> <body onload="doe();" onunload="opener.nextTest();"> </body></html>