Chromium Code Reviews| Index: LayoutTests/fast/events/message-port-start-and-close-different-microtask.html |
| diff --git a/LayoutTests/fast/events/message-port-close.html b/LayoutTests/fast/events/message-port-start-and-close-different-microtask.html |
| similarity index 50% |
| copy from LayoutTests/fast/events/message-port-close.html |
| copy to LayoutTests/fast/events/message-port-start-and-close-different-microtask.html |
| index 0dabcd830f60b1ba2cd64a5034db250616fb1fd5..d8a5fefd428b836a2b509ad7a238d2614d7d98b1 100644 |
| --- a/LayoutTests/fast/events/message-port-close.html |
| +++ b/LayoutTests/fast/events/message-port-start-and-close-different-microtask.html |
| @@ -1,6 +1,6 @@ |
| <body> |
| -<p>Test Closed MessagePort Whether Receive Message Or Not.</p> |
| -<p>Should be a START message, followed with DONE.</p> |
| +<p>Test whether opening and closing a messageport in the same microtask correctly discards an in-flight message.</p> |
|
Sami
2014/11/12 16:45:50
Looks like the test descriptions got swapped.
alex clarke (OOO till 29th)
2014/11/12 18:23:21
Fixed now.
|
| +<p>Should be a START message, followed by a HELLO message then DONE.</p> |
| <pre id=log></pre> |
| <script> |
| function log(message) |
| @@ -16,13 +16,21 @@ if (window.testRunner) { |
| log("START"); |
| var channel = new MessageChannel; |
| -channel.port1.onmessage = function(evt) { |
| - log("Closed port receiving: FAIL. Got Message: " + evt.data + " after close"); |
| -} |
| -channel.port1.close(); |
| -channel.port2.postMessage("This message can't be received"); |
| +channel.port2.postMessage("HELLO"); |
| +openThenClose(); |
| done(); |
| +function openThenClose() { |
| + setTimeout(function() { |
| + channel.port1.onmessage = function(evt) { |
| + log("PASS. Got Message: " + evt.data + " before close"); |
| + } |
| + setTimeout(function() { |
| + channel.port1.close(); |
| + }, 0); |
| + }, 0); |
| +} |
| + |
| function done() { |
| // Wait a short period of time to ensure no messages come in from previous tests. |
| setTimeout(function() { |