test_bug1062920.html (1916B)
1 <!-- 2 Any copyright is dedicated to the Public Domain. 3 http://creativecommons.org/publicdomain/zero/1.0/ 4 --> 5 <!DOCTYPE HTML> 6 <html> 7 <head> 8 <title>Test for navigator property override</title> 9 <script src="/tests/SimpleTest/SimpleTest.js"></script> 10 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" /> 11 </head> 12 <body> 13 <p id="display"></p> 14 <div id="content" style="display: none"></div> 15 <pre id="test"></pre> 16 <script class="testbody" type="text/javascript"> 17 18 function checkValues() { 19 var worker = new Worker("bug1062920_worker.js"); 20 21 worker.onmessage = function(event) { 22 var ifr = document.createElement('IFRAME'); 23 ifr.src = "about:blank"; 24 25 ifr.addEventListener('load', function() { 26 var nav = ifr.contentWindow.navigator; 27 is(event.data.appCodeName, nav.appCodeName, "appCodeName should match"); 28 is(event.data.appName, nav.appName, "appName should match"); 29 is(event.data.appVersion, nav.appVersion, "appVersion should match"); 30 is(event.data.platform, nav.platform, "platform should match"); 31 is(event.data.userAgent, nav.userAgent, "userAgent should match"); 32 is(event.data.product, nav.product, "product should match"); 33 runTests(); 34 }); 35 36 document.getElementById('content').appendChild(ifr); 37 }; 38 } 39 40 function replaceAndCheckValues() { 41 SpecialPowers.pushPrefEnv({"set": [ 42 ["general.appversion.override", "appVersion overridden"], 43 ["general.platform.override", "platform overridden"], 44 ["general.useragent.override", "userAgent overridden"] 45 ]}, checkValues); 46 } 47 48 var tests = [ 49 checkValues, 50 replaceAndCheckValues 51 ]; 52 53 function runTests() { 54 if (!tests.length) { 55 SimpleTest.finish(); 56 return; 57 } 58 59 var test = tests.shift(); 60 test(); 61 } 62 63 SimpleTest.waitForExplicitFinish(); 64 runTests(); 65 66 </script> 67 </pre> 68 </body> 69 </html>