dom/workers/test/test_extensionBootstrap.xul

Thu, 22 Jan 2015 13:21:57 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 22 Jan 2015 13:21:57 +0100
branch
TOR_BUG_9701
changeset 15
b8a032363ba2
permissions
-rw-r--r--

Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6

     1 <?xml version="1.0"?>
     2 <!--
     3   Any copyright is dedicated to the Public Domain.
     4   http://creativecommons.org/publicdomain/zero/1.0/
     5 -->
     6 <window title="DOM Worker Threads Test"
     7         xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
     8         onload="test();">
    10   <script type="application/javascript"
    11           src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"/>
    12   <script type="application/javascript"
    13           src="chrome://mochikit/content/tests/SimpleTest/EventUtils.js"/>
    14   <script type="application/javascript" src="dom_worker_helper.js"/>
    16   <script type="application/javascript">
    17   <![CDATA[
    19     const Cc = Components.classes;
    20     const Ci = Components.interfaces;
    21     const Cu = Components.utils;
    23     Cu.import("resource://gre/modules/AddonManager.jsm");
    24     Cu.import("resource://gre/modules/Services.jsm");
    25     Cu.import("resource://gre/modules/XPCOMUtils.jsm");
    27     function test() {
    28       const message = "woohoo";
    30       var observer = {
    31         observe: function(subject, topic, data) {
    32           is(topic, "message", "Correct type of event");
    33           is(data, message, "Correct message");
    35           AddonManager.getAddonByID("workerbootstrap-test@mozilla.org",
    36                                     function(addon) {
    37             addon.uninstall();
    39             const stages = [ "install", "startup", "shutdown", "uninstall" ];
    40             const symbols = [ "Worker", "ChromeWorker" ];
    42             for each (var stage in stages) {
    43               for each (var symbol in symbols) {
    44                 is(Services.prefs.getBoolPref("workertest.bootstrap." + stage +
    45                                               "." + symbol),
    46                    true,
    47                    "Symbol '" + symbol + "' present during '" + stage + "'");
    48               }
    49             }
    51             SimpleTest.finish();
    52           });
    53         },
    54         QueryInterface: XPCOMUtils.generateQI([Ci.nsIObserver])
    55       };
    57       var workertestbootstrap = Cc["@mozilla.org/test/workertestbootstrap;1"].
    58                                 createInstance(Ci.nsIObserver);
    60       workertestbootstrap.observe(observer, "postMessage", message);
    62       SimpleTest.waitForExplicitFinish();
    63     }
    65   ]]>
    66   </script>
    68   <body xmlns="http://www.w3.org/1999/xhtml">
    69     <p id="display"></p>
    70     <div id="content" style="display:none;"></div>
    71     <pre id="test"></pre>
    72   </body>
    73   <label id="test-result"/>
    74 </window>

mercurial