diff -r 000000000000 -r 6474c204b198 docshell/test/file_bug475636.sjs --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/docshell/test/file_bug475636.sjs Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,90 @@ +jsURL = "javascript:" + escape('window.parent.postMessage("JS uri ran", "*");\ +return \'\ +\''); +dataURL = "data:text/html," + escape('\ +'); + +tests = [ +// Plain document should work as normal +'\ +', + +// refresh to plain doc +{ refresh: "file_bug475636.sjs?1", + doc: '' }, + +// meta-refresh to plain doc +'\ +\ + \ +', + +// refresh to data url +{ refresh: dataURL, + doc: '' }, + +// meta-refresh to data url +'\ +\ + \ +', + +// refresh to js url should not be followed +{ refresh: jsURL, + doc: +'\ +' }, + +// meta refresh to js url should not be followed +'\ +\ + \ +\ +' +]; + + +function handleRequest(request, response) +{ + dump("@@@@@@@@@hi there: " + request.queryString + "\n"); + test = tests[parseInt(request.queryString, 10) - 1]; + response.setHeader("Content-Type", "text/html"); + + if (!test) { + response.write(''); + } + else if (typeof test == "string") { + response.write(test); + } + else if (test.refresh) { + response.setHeader("Refresh", "0; url=" + test.refresh); + response.write(test.doc); + } +}