1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/dom/workers/test/test_csp.js Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,50 @@ 1.4 +/** 1.5 + * Any copyright is dedicated to the Public Domain. 1.6 + * http://creativecommons.org/publicdomain/zero/1.0/ 1.7 + */ 1.8 +msg = null; 1.9 +var errors = 5; 1.10 + 1.11 +onerror = function(event) { 1.12 + ok(true, msg); 1.13 + if (!--errors) SimpleTest.finish(); 1.14 +} 1.15 + 1.16 +msg = "No Eval allowed"; 1.17 +worker = new Worker("csp_worker.js"); 1.18 +worker.postMessage(0); 1.19 +worker.onmessage = function(event) { 1.20 + ok(false, "Eval succeeded!"); 1.21 +} 1.22 + 1.23 +msg = "No Eval allowed 2"; 1.24 +worker = new Worker("csp_worker.js"); 1.25 +worker.postMessage(4); 1.26 +worker.onmessage = function(event) { 1.27 + ok(false, "Eval succeeded!"); 1.28 +} 1.29 + 1.30 +msg = "ImportScripts data:"; 1.31 +worker = new Worker("csp_worker.js"); 1.32 +worker.postMessage(-1); 1.33 +worker.onmessage = function(event) { 1.34 + ok(false, "Eval succeeded!"); 1.35 +} 1.36 + 1.37 +msg = "ImportScripts javascript:"; 1.38 +worker = new Worker("csp_worker.js"); 1.39 +worker.postMessage(-2); 1.40 +worker.onmessage = function(event) { 1.41 + ok(false, "Eval succeeded!"); 1.42 +} 1.43 + 1.44 +msg = "Loading data:something"; 1.45 +try { 1.46 + worker = new Worker("data:application/javascript;base64,ZHVtcCgnaGVsbG8gd29ybGQnKQo="); 1.47 + ok(false, "Should have thrown!"); 1.48 +} catch (e) { 1.49 + ok(true, "Threw as expected."); 1.50 +} 1.51 + 1.52 +worker = new Worker("javascript:dump(123);"); 1.53 +SimpleTest.waitForExplicitFinish();