tor-browser

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

file_bug990812.xhtml (2055B)


      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=990812
      7 -->
      8 <window title="Mozilla Bug 990812"
      9  xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
     10  onload="start();">
     11  <label value="Mozilla Bug 990812"/>
     12  <!-- test code goes here -->
     13  <script type="application/javascript"><![CDATA[
     14    /* global messageManager, sendAsyncMessage, getGroupMessageManager */
     15    var FRAME_SCRIPT_GLOBAL = "data:,sendSyncMessage('test', 'global')";
     16    var FRAME_SCRIPT_WINDOW = "data:,sendSyncMessage('test', 'window')";
     17    var FRAME_SCRIPT_GROUP  = "data:,sendSyncMessage('test', 'group')";
     18 
     19    var globalMM = Cc["@mozilla.org/globalmessagemanager;1"].getService();
     20 
     21    function is(val, exp, msg) {
     22      opener.wrappedJSObject.is(val, exp, msg);
     23    }
     24 
     25    function start() {
     26      globalMM.loadFrameScript(FRAME_SCRIPT_GLOBAL, true);
     27      messageManager.loadFrameScript(FRAME_SCRIPT_WINDOW, true);
     28      getGroupMessageManager("test").loadFrameScript(FRAME_SCRIPT_GROUP, true);
     29 
     30      var order = ["global", "window", "group"];
     31 
     32      messageManager.addMessageListener("test", function onMessage(msg) {
     33        var next = order.shift();
     34        opener.wrappedJSObject.is(msg.data, next, "received test:" + next);
     35 
     36        if (!order.length) {
     37          opener.setTimeout("next()");
     38          window.close();
     39        }
     40      });
     41 
     42      var browser = document.createXULElement("browser");
     43      browser.setAttribute("messagemanagergroup", "test");
     44      browser.setAttribute("src", "about:mozilla");
     45      browser.setAttribute("type", "content");
     46      document.documentElement.appendChild(browser);
     47 
     48      globalMM.removeDelayedFrameScript(FRAME_SCRIPT_GLOBAL);
     49      messageManager.removeDelayedFrameScript(FRAME_SCRIPT_WINDOW);
     50      getGroupMessageManager("test").removeDelayedFrameScript(FRAME_SCRIPT_GROUP);
     51    }
     52 
     53  ]]></script>
     54 
     55 </window>