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