test_navigator_iframe.js (1193B)
1 var worker = new Worker("navigator_worker.js"); 2 3 var is = window.parent.is; 4 var ok = window.parent.ok; 5 var SimpleTest = window.parent.SimpleTest; 6 7 worker.onmessage = function (event) { 8 var args = JSON.parse(event.data); 9 10 if (args.name == "testFinished") { 11 SimpleTest.finish(); 12 return; 13 } 14 15 if (typeof navigator[args.name] == "undefined") { 16 ok(false, "Navigator has no '" + args.name + "' property!"); 17 return; 18 } 19 20 if (args.name === "languages") { 21 is( 22 navigator.languages.toString(), 23 args.value.toString(), 24 "languages matches" 25 ); 26 return; 27 } 28 29 const objectProperties = [ 30 "connection", 31 "gpu", 32 "locks", 33 "mediaCapabilities", 34 "permissions", 35 "serviceWorker", 36 "storage", 37 ]; 38 39 if (objectProperties.includes(args.name)) { 40 is( 41 typeof navigator[args.name], 42 typeof args.value, 43 `${args.name} type matches` 44 ); 45 return; 46 } 47 48 is( 49 navigator[args.name], 50 args.value, 51 "Mismatched navigator string for " + args.name + "!" 52 ); 53 }; 54 55 worker.onerror = function (event) { 56 ok(false, "Worker had an error: " + event.message); 57 SimpleTest.finish(); 58 }; 59 60 worker.postMessage(getHelperData());