content/base/test/csp/test_dual_headers_warning.html

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

michael@0 1 <!DOCTYPE HTML>
michael@0 2 <html>
michael@0 3 <!--
michael@0 4 https://bugzilla.mozilla.org/show_bug.cgi?id=918397
michael@0 5 -->
michael@0 6 <head>
michael@0 7 <meta charset="utf-8">
michael@0 8 <title>Test for Bug 918397</title>
michael@0 9 <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
michael@0 10 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
michael@0 11 </head>
michael@0 12 <body>
michael@0 13 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=918397">Mozilla Bug 918397</a>
michael@0 14 <p id="display"></p>
michael@0 15
michael@0 16 <iframe id="cspframe"></iframe>
michael@0 17
michael@0 18 <pre id="test">
michael@0 19 <script class="testbody" type="text/javascript">
michael@0 20 // Load locale strings during mochitest
michael@0 21 var stringBundleService = SpecialPowers.Cc["@mozilla.org/intl/stringbundle;1"]
michael@0 22 .getService(SpecialPowers.Ci.nsIStringBundleService);
michael@0 23 var localizer = stringBundleService.createBundle("chrome://global/locale/security/security.properties");
michael@0 24 var depreHeadersMsg = localizer.GetStringFromName("OldCSPHeaderDeprecated", 0)
michael@0 25 var dualHeadersMsg = localizer.GetStringFromName("BothCSPHeadersPresent", 0)
michael@0 26
michael@0 27 function cleanup() {
michael@0 28 SpecialPowers.postConsoleSentinel();
michael@0 29 SimpleTest.finish();
michael@0 30 }
michael@0 31
michael@0 32 // listen on the console before loading the iframe
michael@0 33 SpecialPowers.registerConsoleListener(function ConsoleMsgListener(aMsg) {
michael@0 34 // Note: We do not want to see the deprecation warning appear in the console.
michael@0 35 // This test can only be sure that the deprecation warning does not appear
michael@0 36 // iff the deprecation warning appears before the dual header warning appears
michael@0 37 // in the console.
michael@0 38 if (aMsg.message.indexOf(depreHeadersMsg) > -1) {
michael@0 39 ok(false, "Deprecated CSP header warning should not be present.");
michael@0 40 return;
michael@0 41 } else if (aMsg.message.indexOf(dualHeadersMsg) > -1) {
michael@0 42 ok(true, "Dual CSP header warning present.");
michael@0 43 SimpleTest.executeSoon(cleanup);
michael@0 44 } else {
michael@0 45 // if some other console message is present, we wait
michael@0 46 return;
michael@0 47 }
michael@0 48 });
michael@0 49
michael@0 50 // get ready and test
michael@0 51 SimpleTest.waitForExplicitFinish();
michael@0 52 SpecialPowers.pushPrefEnv(
michael@0 53 {'set': [["security.csp.speccompliant", true]]},
michael@0 54 function() {
michael@0 55 document.getElementById('cspframe').src = 'file_dual_headers_warning.html';
michael@0 56 });
michael@0 57 </script>
michael@0 58 </body>
michael@0 59 </html>

mercurial