| Index: third_party/WebKit/LayoutTests/fast/workers/close-context-messageport-crash.html
|
| diff --git a/third_party/WebKit/LayoutTests/fast/workers/close-context-messageport-crash.html b/third_party/WebKit/LayoutTests/fast/workers/close-context-messageport-crash.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..83f7abd65604b8603d317ca8c83bbc0c5ebc8b90
|
| --- /dev/null
|
| +++ b/third_party/WebKit/LayoutTests/fast/workers/close-context-messageport-crash.html
|
| @@ -0,0 +1,27 @@
|
| +<!DOCTYPE html>
|
| +<meta charset="utf-8">
|
| +<title>crash when closing a MessagePort with messages queued for dispatch</title>
|
| +<script src="../../resources/testharness.js"></script>
|
| +<script src="../../resources/testharnessreport.js"></script>
|
| +<body>
|
| +</body>
|
| +<script>
|
| +var resolve_done;
|
| +let done_promise = new Promise(resolve => resolve_done = resolve);
|
| +
|
| +function done() {
|
| + document.querySelector('iframe').remove();
|
| + resolve_done();
|
| +}
|
| +
|
| +// This test creates an iframe with a SharedWorker that does multiple
|
| +// postMessages back to the iframe. Once a message is received, the
|
| +// iframe is removed. The test passes if it does not crash
|
| +// https://crbug.com/649616.
|
| +promise_test(t => {
|
| + const frame = document.createElement('iframe');
|
| + frame.src = 'resources/close-context-messageport-crash-iframe.html';
|
| + document.body.appendChild(frame);
|
| + return done_promise;
|
| +}, 'closing a MessagePort with messages queued for dispatch should not crash');
|
| +</script>
|
|
|