Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(98)

Side by Side Diff: LayoutTests/fast/workers/resources/worker-multi-port.js

Issue 1033443002: Revert of Have postMessage()s throw TypeError on failed arity checks. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 description("This test checks the various use cases around sending multiple port s through Worker.postMessage"); 1 description("This test checks the various use cases around sending multiple port s through Worker.postMessage");
2 2
3 if (window.testRunner) { 3 if (window.testRunner) {
4 testRunner.dumpAsText(); 4 testRunner.dumpAsText();
5 testRunner.waitUntilDone(); 5 testRunner.waitUntilDone();
6 } 6 }
7 7
8 var channel = new MessageChannel(); 8 var channel = new MessageChannel();
9 var channel2 = new MessageChannel(); 9 var channel2 = new MessageChannel();
10 var channel3 = new MessageChannel(); 10 var channel3 = new MessageChannel();
11 var channel4 = new MessageChannel(); 11 var channel4 = new MessageChannel();
12 12
13 var worker = new Worker("resources/worker-thread-multi-port.js"); 13 var worker = new Worker("resources/worker-thread-multi-port.js");
14 worker.postMessage("noargs");
15 worker.postMessage("noport"); 14 worker.postMessage("noport");
16 worker.postMessage("zero ports", []); 15 worker.postMessage("zero ports", []);
17 worker.postMessage("two ports", [channel2.port1, channel2.port2]); 16 worker.postMessage("two ports", [channel2.port1, channel2.port2]);
18 17
19 // Now test various failure cases 18 // Now test various failure cases
20 shouldThrow("worker.postMessage()");
21 shouldThrow('worker.postMessage("null port", [channel3.port1, null, channel3.por t2])'); 19 shouldThrow('worker.postMessage("null port", [channel3.port1, null, channel3.por t2])');
22 shouldThrow('worker.postMessage("notAPort", [channel3.port1, {}, channel3.port2] )'); 20 shouldThrow('worker.postMessage("notAPort", [channel3.port1, {}, channel3.port2] )');
23 // Should be OK to send channel3.port1/2 (should not have been disentangled by t he previous failed calls). 21 // Should be OK to send channel3.port1/2 (should not have been disentangled by t he previous failed calls).
24 worker.postMessage("failed ports", [channel3.port1, channel3.port2]); 22 worker.postMessage("failed ports", [channel3.port1, channel3.port2]);
25 23
26 shouldThrow('worker.postMessage("notAnArray", channel3.port1)') 24 shouldThrow('worker.postMessage("notAnArray", channel3.port1)')
27 shouldThrow('worker.postMessage("notASequence", [{length: 3}])'); 25 shouldThrow('worker.postMessage("notASequence", [{length: 3}])');
28 26
29 worker.postMessage("done", [channel.port2]); 27 worker.postMessage("done", [channel.port2]);
30 worker.onmessage = function(event) { 28 worker.onmessage = function(event) {
31 // Report results from worker thread. 29 // Report results from worker thread.
32 if (event.data == "done") 30 if (event.data == "done")
33 channel.port1.onmessage = done; 31 channel.port1.onmessage = done;
34 else if (event.data.indexOf("PASS") == 0) 32 else if (event.data.indexOf("PASS") == 0)
35 testPassed(event.data.substring(4)); 33 testPassed(event.data.substring(4));
36 else if (event.data.indexOf("FAIL") == 0) 34 else if (event.data.indexOf("FAIL") == 0)
37 testFailed(event.data.substring(4)); 35 testFailed(event.data.substring(4));
38 else 36 else
39 testFailed("Unexpected result: " + event.data); 37 testFailed("Unexpected result: " + event.data);
40 } 38 }
39
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698