michael@0: // SJS file for X-Frame-Options mochitests michael@0: function handleRequest(request, response) michael@0: { michael@0: var query = {}; michael@0: var BOUNDARY = "BOUNDARYOMG3984"; michael@0: request.queryString.split('&').forEach(function (val) { michael@0: var [name, value] = val.split('='); michael@0: query[name] = unescape(value); michael@0: }); michael@0: michael@0: if (query['multipart'] == "1") { michael@0: response.setHeader("Content-Type", "multipart/x-mixed-replace;boundary=" + BOUNDARY, false); michael@0: response.setHeader("Cache-Control", "no-cache", false); michael@0: response.setStatusLine(request.httpVersion, 200, "OK"); michael@0: response.write("--" + BOUNDARY + "\r\n"); michael@0: response.write("Content-Type: text/html\r\n\r\n"); michael@0: } else { michael@0: response.setHeader("Content-Type", "text/html", false); michael@0: response.setHeader("Cache-Control", "no-cache", false); michael@0: } michael@0: michael@0: var testHeaders = { michael@0: "deny": "DENY", michael@0: "sameorigin": "SAMEORIGIN", michael@0: "sameorigin2": "SAMEORIGIN, SAMEORIGIN", michael@0: "sameorigin3": "SAMEORIGIN,SAMEORIGIN , SAMEORIGIN", michael@0: "mixedpolicy": "DENY,SAMEORIGIN", michael@0: michael@0: /* added for bug 836132 */ michael@0: "afa": "ALLOW-FROM http://mochi.test:8888/", michael@0: "afd": "ALLOW-FROM http://example.com/", michael@0: "afa1": "ALLOW-FROM http://mochi.test:8888", michael@0: "afd1": "ALLOW-FROM:example.com", michael@0: "afd2": "ALLOW-FROM: example.com", michael@0: "afd3": "ALLOW-FROM example.com", michael@0: "afd4": "ALLOW-FROM:http://example.com", michael@0: "afd5": "ALLOW-FROM: http://example.com", michael@0: "afd6": "ALLOW-FROM http://example.com", michael@0: "afd7": "ALLOW-FROM:mochi.test:8888", michael@0: "afd8": "ALLOW-FROM: mochi.test:8888", michael@0: "afd9": "ALLOW-FROM:http://mochi.test:8888", michael@0: "afd10": "ALLOW-FROM: http://mochi.test:8888", michael@0: "afd11": "ALLOW-FROM mochi.test:8888", michael@0: "afd12": "ALLOW-FROM", michael@0: "afd13": "ALLOW-FROM ", michael@0: "afd14": "ALLOW-FROM:" michael@0: }; michael@0: michael@0: if (testHeaders.hasOwnProperty(query['xfo'])) { michael@0: response.setHeader("X-Frame-Options", testHeaders[query['xfo']], false); michael@0: } michael@0: michael@0: // from the test harness we'll be checking for the presence of this element michael@0: // to test if the page loaded michael@0: response.write("

" + query["testid"] + "

"); michael@0: michael@0: if (query['multipart'] == "1") { michael@0: response.write("\r\n--" + BOUNDARY + "\r\n"); michael@0: } michael@0: }