| OLD | NEW |
| (Empty) |
| 1 <html> | |
| 2 <head> | |
| 3 <script type="text/javascript" src="../../http/tests/inspector-protocol/resource
s/inspector-protocol-test.js"></script> | |
| 4 <script> | |
| 5 | |
| 6 var worker; | |
| 7 function startWorkerAndRunTest() | |
| 8 { | |
| 9 worker = new Worker("resources/dedicated-worker-loop.js"); | |
| 10 worker.onmessage = function(event) | |
| 11 { | |
| 12 if (event.data === "WorkerMessageReceived") | |
| 13 evaluateInFrontend("InspectorTest.workerMessageReceived()"); | |
| 14 }; | |
| 15 log("Started worker"); | |
| 16 runTest(); | |
| 17 } | |
| 18 | |
| 19 function test() | |
| 20 { | |
| 21 var workerId; | |
| 22 var workerRequestId = 1; | |
| 23 function sendCommandToWorker(method, params) | |
| 24 { | |
| 25 InspectorTest.sendCommand("Target.sendMessageToTarget", | |
| 26 { | |
| 27 "targetId": workerId, | |
| 28 "message": JSON.stringify({ "method": method, | |
| 29 "params": params, | |
| 30 "id": workerRequestId }) | |
| 31 }); | |
| 32 return workerRequestId++; | |
| 33 } | |
| 34 | |
| 35 function didEnableWorkerDebugging(messageObject) | |
| 36 { | |
| 37 if ("error" in messageObject) { | |
| 38 InspectorTest.log("FAIL: Couldn't enable worker debugger: " + messag
eObject.error.message); | |
| 39 InspectorTest.completeTest(); | |
| 40 } | |
| 41 } | |
| 42 InspectorTest.sendCommand("Target.setAutoAttach", {autoAttach: true, waitFor
DebuggerOnStart: false}, didEnableWorkerDebugging); | |
| 43 | |
| 44 var evaluateRequestId = -1; | |
| 45 var debuggerEnableRequestId = -1; | |
| 46 InspectorTest.eventHandler["Target.attachedToTarget"] = function(messageObje
ct) | |
| 47 { | |
| 48 workerId = messageObject["params"]["targetInfo"]["targetId"]; | |
| 49 InspectorTest.log("Worker created"); | |
| 50 InspectorTest.log("didConnectToWorker"); | |
| 51 // Enable debugger so that V8 can interrupt and handle inspector command
s while there is a script running in a tight loop. | |
| 52 debuggerEnableRequestId = sendCommandToWorker("Debugger.enable", {}); | |
| 53 } | |
| 54 | |
| 55 InspectorTest.workerMessageReceived = function() | |
| 56 { | |
| 57 evaluateRequestId = sendCommandToWorker("Runtime.evaluate", { "expressio
n": "message_id > 1"}); | |
| 58 } | |
| 59 | |
| 60 InspectorTest.eventHandler["Target.receivedMessageFromTarget"] = function(me
ssageObject) | |
| 61 { | |
| 62 var message = JSON.parse(messageObject["params"]["message"]); | |
| 63 if (message["id"] === debuggerEnableRequestId) { | |
| 64 InspectorTest.log("Did enable debugger"); | |
| 65 // Start tight loop in the worker. | |
| 66 InspectorTest.sendCommand("Runtime.evaluate", { "expression": "worke
r.postMessage(1)" }, didPostMessageToWorker); | |
| 67 function didPostMessageToWorker() | |
| 68 { | |
| 69 InspectorTest.log("Did post message to worker"); | |
| 70 } | |
| 71 } | |
| 72 if (message["id"] === evaluateRequestId) { | |
| 73 var value = message["result"]["result"]["value"]; | |
| 74 if (value === true) | |
| 75 InspectorTest.log("SUCCESS: evaluated, result: " + value); | |
| 76 else | |
| 77 InspectorTest.log("FAIL: evaluated, result: " + value); | |
| 78 InspectorTest.completeTest(); | |
| 79 } | |
| 80 } | |
| 81 } | |
| 82 </script> | |
| 83 </head> | |
| 84 <body onLoad="startWorkerAndRunTest();"> | |
| 85 </body> | |
| 86 </html> | |
| OLD | NEW |