1 jsURL = "javascript:" + escape('window.parent.postMessage("JS uri ran", "*");\
4 window.parent.postMessage("Able to access private: " +\
5 window.parent.private, "*");\
7 dataURL = "data:text/html," + escape('<!DOCTYPE HTML>\
10 window.parent.postMessage("Able to access private: " +\
11 window.parent.private, "*");\
14 window.parent.postMessage("pass", "*");\
19 // Plain document should work as normal
23 window.parent.private;\
24 window.parent.postMessage("pass", "*");\
27 window.parent.postMessage("Unble to access private", "*");\
31 // refresh to plain doc
32 { refresh: "file_bug475636.sjs?1",
33 doc: '<!DOCTYPE HTML>' },
35 // meta-refresh to plain doc
38 <meta http-equiv="refresh" content="0; url=file_bug475636.sjs?1">\
41 // refresh to data url
43 doc: '<!DOCTYPE HTML>' },
45 // meta-refresh to data url
48 <meta http-equiv="refresh" content="0; url=' + dataURL + '">\
51 // refresh to js url should not be followed
56 setTimeout(function() {\
57 window.parent.postMessage("pass", "*");\
61 // meta refresh to js url should not be followed
64 <meta http-equiv="refresh" content="0; url=' + jsURL + '">\
67 setTimeout(function() {\
68 window.parent.postMessage("pass", "*");\
74 function handleRequest(request, response)
76 dump("@@@@@@@@@hi there: " + request.queryString + "\n");
77 test = tests[parseInt(request.queryString, 10) - 1];
78 response.setHeader("Content-Type", "text/html");
81 response.write('<script>parent.postMessage("done", "*");</script>');
83 else if (typeof test == "string") {
86 else if (test.refresh) {
87 response.setHeader("Refresh", "0; url=" + test.refresh);
88 response.write(test.doc);