tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

file_bug618176.xhtml (1657B)


      1 <?xml version="1.0"?>
      2 <?xml-stylesheet href="chrome://global/skin" type="text/css"?>
      3 <?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css"
      4                 type="text/css"?>
      5 <!--
      6 https://bugzilla.mozilla.org/show_bug.cgi?id=618176
      7 -->
      8 <window title="Mozilla Bug 618176"
      9  xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
     10  onload="start()">
     11  <label value="Mozilla Bug 618176"/>
     12  <!-- test code goes here -->
     13  <script type="application/javascript"><![CDATA[
     14    /* global messageManager */
     15    const TEST_PAGE = Services.io.newURI(
     16      "data:text/html,<script>var a=[1,2,3];</script>Hi"
     17    );
     18 
     19    const FRAME_SCRIPT = 
     20 "data:,addEventListener('pageshow', function() { sendAsyncMessage('test', content.wrappedJSObject.a) }, false);";
     21   // s/content.wrappedJSObject.a/[ 1, 2, 3]/ and the test passes
     22 
     23    function recvTest(m) {
     24      var a = m.json;
     25      window.arguments[0].is(a.length, 3, "array was serialized and deserialized");
     26 
     27      messageManager.removeMessageListener("test", recvTest);
     28      finish();
     29    }
     30 
     31    function start() {
     32      messageManager.addMessageListener("test", recvTest);
     33      messageManager.loadFrameScript(FRAME_SCRIPT, true);
     34      let triggeringPrincipal = Services.scriptSecurityManager.getSystemPrincipal();
     35      setTimeout(function () {
     36        document.getElementById("browser").loadURI(TEST_PAGE, {triggeringPrincipal});
     37      }, 0);
     38    }
     39 
     40    function finish() {
     41      window.arguments[0].setTimeout(function() { this.done(); }, 0);
     42      window.close();
     43    }
     44 
     45  ]]></script>
     46 
     47  <browser id="browser" type="content" style="width: 200px; height: 200px;"/>
     48 </window>