js/jsd/test/test_bug507448.html

Sat, 03 Jan 2015 20:18:00 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Sat, 03 Jan 2015 20:18:00 +0100
branch
TOR_BUG_3246
changeset 7
129ffea94266
permissions
-rw-r--r--

Conditionally enable double key logic according to:
private browsing mode or privacy.thirdparty.isolate preference and
implement in GetCookieStringCommon and FindCookie where it counts...
With some reservations of how to convince FindCookie users to test
condition and pass a nullptr when disabling double key logic.

     1 <!DOCTYPE HTML>
     2 <html>
     3 <!--
     4 https://bugzilla.mozilla.org/show_bug.cgi?id=507448
     5 -->
     6 <head>
     7   <title>Test for Bug 507448</title>
     8   <script type="application/javascript" src="/MochiKit/Base.js"></script>
     9   <script type="application/javascript" src="/MochiKit/Async.js"></script>
    10   <script type="application/javascript" src="/MochiKit/DOM.js"></script>
    11   <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
    12   <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
    13 </head>
    14 <body>
    15 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=507448">Mozilla Bug 507448</a>
    16 <p id="display"></p>
    17 <div id="content" style="display: none">
    19 </div>
    20 <pre id="test">
    21 <script type="application/javascript">
    22 function f() {}
    23 function g(a,b) {}
    24 function h(me, too, here) { var x = 1; }
    25 function annoying(a, b, a, b, b, a) {}
    26 function manyLocals(a, b, c, d, e, f, g, h, i, j, k, l, m) {
    27   var n, o, p, q, r, s, t, u, v, w, x, y, z;
    28 }
    29 </script>
    30 <script type="application/javascript">
    32 SimpleTest.waitForExplicitFinish();
    34 function loadScript(url) {
    35     var d = new MochiKit.Async.Deferred();
    36     var head = document.getElementsByTagName("head")[0];
    37     var script = MochiKit.DOM.createDOM("script", { type: "text/javascript", src: url });
    38     script.onload = function() {
    39         script.onload = null;
    40         script.onerror = null;
    41         script.onreadystatechange = null;
    42         d.callback();
    43     };
    44     script.onerror = function(msg) {
    45         script.onload = null;
    46         script.onerror = null;
    47         script.onreadystatechange = null;
    48         msg = "Failed to load script at " + url + ": " + msg;
    49         d.errback(new URIError(msg, url));
    50     }
    51     script.onreadystatechange = function() {
    52         if (script.readyState == "loaded" || script.readyState == "complete") {
    53             script.onload();
    54         } else {
    55             // IE doesn't bother to report errors...
    56             MochiKit.Async.callLater(10, script.onerror, "Script loading timed out")
    57         }
    58     };
    59     head.appendChild(script);
    60     return d;
    61 }
    63 /** Test for Bug 507448 **/
    64 function assertArraysEqual(arr1, arr2) {
    65   is(arr1.length, arr2.length, "Lengths not equal");
    66   for (var i = 0 ; i < arr1.length; ++i) {
    67     is(arr1[i], arr2[i], "Element " + i + " not equal");
    68   }
    69 }
    71 var jsdIDebuggerService = SpecialPowers.Ci.jsdIDebuggerService;
    72 var jsd = SpecialPowers.Cc['@mozilla.org/js/jsd/debugger-service;1']
    73                        .getService(jsdIDebuggerService);
    74 var jsdOnAtStart = false;
    76 function setupJSD() {
    77   // This is somewhat unfortunate: jsd only deals with scripts that have a
    78   // nonzero line number, so we can't just createElement a script here.
    79   // So break the test up into three <script>s, of which the middle one has our test functions.
    81   jsdOnAtStart = jsd.isOn;
    82   if (jsdOnAtStart) {
    83     testJSD();
    84   } else {
    85     jsd.asyncOn(
    86       {
    87         onDebuggerActivated: function() {
    88             testJSD();
    89         }
    90       }  
    91     );
    92   }
    93 }
    95 addLoadEvent(setupJSD);
    97 </script>
    98 <script>
    99 function testJSD() {
   100   ok(jsd.isOn, "JSD needs to be running for this test.");
   102   var deferred = loadScript("bug507448.js");
   103 }
   104 </script>
   105 </pre>
   106 </body>
   107 </html>

mercurial