1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/content/base/test/csp/file_CSP_frameancestors_main.js Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,65 @@ 1.4 +// Script to populate the test frames in the frame ancestors mochitest. 1.5 +// 1.6 +function setupFrames() { 1.7 + 1.8 + var $ = function(v) { return document.getElementById(v); } 1.9 + var base = { 1.10 + self: '/tests/content/base/test/csp/file_CSP_frameancestors.sjs', 1.11 + a: 'http://mochi.test:8888/tests/content/base/test/csp/file_CSP_frameancestors.sjs', 1.12 + b: 'http://example.com/tests/content/base/test/csp/file_CSP_frameancestors.sjs' 1.13 + }; 1.14 + 1.15 + var host = { a: 'http://mochi.test:8888', b: 'http://example.com:80' }; 1.16 + 1.17 + var innerframeuri = null; 1.18 + var elt = null; 1.19 + 1.20 + elt = $('aa_allow'); 1.21 + elt.src = base.a + "?testid=aa_allow&internalframe=aa_a&csp=" + 1.22 + escape("allow 'none'; frame-ancestors " + host.a + "; script-src 'self'"); 1.23 + 1.24 + elt = $('aa_block'); 1.25 + elt.src = base.a + "?testid=aa_block&internalframe=aa_b&csp=" + 1.26 + escape("allow 'none'; frame-ancestors 'none'; script-src 'self'"); 1.27 + 1.28 + elt = $('ab_allow'); 1.29 + elt.src = base.b + "?testid=ab_allow&internalframe=ab_a&csp=" + 1.30 + escape("allow 'none'; frame-ancestors " + host.a + "; script-src 'self'"); 1.31 + 1.32 + elt = $('ab_block'); 1.33 + elt.src = base.b + "?testid=ab_block&internalframe=ab_b&csp=" + 1.34 + escape("allow 'none'; frame-ancestors 'none'; script-src 'self'"); 1.35 + 1.36 + /* .... two-level framing */ 1.37 + elt = $('aba_allow'); 1.38 + innerframeuri = base.a + "?testid=aba_allow&double=1&internalframe=aba_a&csp=" + 1.39 + escape("allow 'none'; frame-ancestors " + host.a + " " + host.b + "; script-src 'self'"); 1.40 + elt.src = base.b + "?externalframe=" + escape('<iframe src="' + innerframeuri + '"></iframe>'); 1.41 + 1.42 + elt = $('aba_block'); 1.43 + innerframeuri = base.a + "?testid=aba_allow&double=1&internalframe=aba_b&csp=" + 1.44 + escape("allow 'none'; frame-ancestors " + host.a + "; script-src 'self'"); 1.45 + elt.src = base.b + "?externalframe=" + escape('<iframe src="' + innerframeuri + '"></iframe>'); 1.46 + 1.47 + elt = $('aba2_block'); 1.48 + innerframeuri = base.a + "?testid=aba_allow&double=1&internalframe=aba2_b&csp=" + 1.49 + escape("allow 'none'; frame-ancestors " + host.b + "; script-src 'self'"); 1.50 + elt.src = base.b + "?externalframe=" + escape('<iframe src="' + innerframeuri + '"></iframe>'); 1.51 + 1.52 + elt = $('abb_allow'); 1.53 + innerframeuri = base.b + "?testid=abb_allow&double=1&internalframe=abb_a&csp=" + 1.54 + escape("allow 'none'; frame-ancestors " + host.a + " " + host.b + "; script-src 'self'"); 1.55 + elt.src = base.b + "?externalframe=" + escape('<iframe src="' + innerframeuri + '"></iframe>'); 1.56 + 1.57 + elt = $('abb_block'); 1.58 + innerframeuri = base.b + "?testid=abb_allow&double=1&internalframe=abb_b&csp=" + 1.59 + escape("allow 'none'; frame-ancestors " + host.a + "; script-src 'self'"); 1.60 + elt.src = base.b + "?externalframe=" + escape('<iframe src="' + innerframeuri + '"></iframe>'); 1.61 + 1.62 + elt = $('abb2_block'); 1.63 + innerframeuri = base.b + "?testid=abb_allow&double=1&internalframe=abb2_b&csp=" + 1.64 + escape("allow 'none'; frame-ancestors " + host.b + "; script-src 'self'"); 1.65 + elt.src = base.b + "?externalframe=" + escape('<iframe src="' + innerframeuri + '"></iframe>'); 1.66 +} 1.67 + 1.68 +window.addEventListener('load', setupFrames, false);