test_WorkerDebugger.postMessage.xhtml (2049B)
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="Test for WorkerDebugger.postMessage" 7 xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" 8 onload="test();"> 9 10 <script src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"/> 11 <script src="chrome://mochikit/content/tests/SimpleTest/EventUtils.js"/> 12 <script type="application/javascript" src="dom_worker_helper.js"/> 13 14 <script type="application/javascript"> 15 <![CDATA[ 16 17 const WORKER_URL = "WorkerDebugger.postMessage_worker.js"; 18 const CHILD_WORKER_URL = "WorkerDebugger.postMessage_childWorker.js"; 19 const DEBUGGER_URL = BASE_URL + "WorkerDebugger.postMessage_debugger.js"; 20 21 function test() { 22 (async function() { 23 SimpleTest.waitForExplicitFinish(); 24 25 info("Create a worker that creates a child worker, wait for their " + 26 "debuggers to be registered, and initialize them."); 27 let promise = waitForMultiple([ 28 waitForRegister(WORKER_URL, DEBUGGER_URL), 29 waitForRegister(CHILD_WORKER_URL, DEBUGGER_URL) 30 ]); 31 let worker = new Worker(WORKER_URL); 32 let [dbg, childDbg] = await promise; 33 34 info("Send a request to the worker debugger. This should cause the " + 35 "the worker debugger to send a response."); 36 promise = waitForDebuggerMessage(dbg, "pong"); 37 dbg.postMessage("ping"); 38 await promise; 39 40 info("Send a request to the child worker debugger. This should cause " + 41 "the child worker debugger to send a response."); 42 promise = waitForDebuggerMessage(childDbg, "pong"); 43 childDbg.postMessage("ping"); 44 await promise; 45 46 SimpleTest.finish(); 47 })(); 48 } 49 50 ]]> 51 </script> 52 53 <body xmlns="http://www.w3.org/1999/xhtml"> 54 <p id="display"></p> 55 <div id="content" style="display:none;"></div> 56 <pre id="test"></pre> 57 </body> 58 <label id="test-result"/> 59 </window>