js/xpconnect/tests/chrome/test_bug760076.xul

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 <?xml version="1.0"?>
     2 <?xml-stylesheet type="text/css" href="chrome://global/skin"?>
     3 <?xml-stylesheet type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css"?>
     4 <!--
     5 https://bugzilla.mozilla.org/show_bug.cgi?id=760076
     6 -->
     7 <window title="Mozilla Bug 760076"
     8         xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
     9   <script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"/>
    11   <!-- test results are displayed in the html:body -->
    12   <body xmlns="http://www.w3.org/1999/xhtml">
    13   <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=760076"
    14      target="_blank">Mozilla Bug 760076</a>
    15   </body>
    17   <!-- test code goes here -->
    18   <script type="application/javascript">
    19   <![CDATA[
    20   /** Test for constructing COW-ed functions in content. **/
    22   // This gets decompiled and run in the sandbox.
    23   function sandboxCode() {
    24     try {
    25       is(chromeFunction(), 42, "Should call successfully");
    26     } catch(e) { ok(false, "Shouldn't throw when calling"); }
    28     try {
    29       ok(typeof (new chromeFunction()) !== 'undefined',
    30          "Should construct successfully");
    31     } catch(e) { ok(false, "Shouldn't throw when constructing"); }
    32   }
    34   // Set up the sandbox.
    35   const Cu = Components.utils;
    36   var sb = new Cu.Sandbox('http://www.example.com');
    38   // Import the functions it needs.
    39   sb.ok = ok;
    40   sb.is = is;
    41   sb.chromeFunction = function() { ok(true, "Called chrome function"); return 42; }
    42   Cu.evalInSandbox(sandboxCode.toSource(), sb);
    44   // Do the test.
    45   Cu.evalInSandbox("sandboxCode();", sb);
    47   ]]>
    48   </script>
    49 </window>

mercurial