• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<!DOCTYPE html>
2<script src="/resources/testharness.js"></script>
3<script src="create-wasm-module.js"></script>
4<script>
5async_test(t => {
6  parent.postMessage('init done', '*');
7  window.addEventListener('message', async evt => {
8    if (evt.data.constructor.name !== 'WritableStream') {
9      return;
10    }
11    const ws = evt.data;
12    const writer = ws.getWriter();
13    const module = await createWasmModule();
14    writer.write(module);
15    await promise_rejects_dom(t, 'DataCloneError', writer.closed,
16                              'should reject with a DataCloneError');
17    t.done();
18    // Signal that this test is done. When both tests are done the iframe will
19    // be removed.
20    parent.postMessage('ws done', '*');
21  });
22}, 'a WritableStream deserialization failure should result in a DataCloneError');
23
24async_test(t => {
25  window.addEventListener('message', async evt => {
26    if (evt.data.constructor.name !== 'ReadableStream') {
27      return;
28    }
29    const rs = evt.data;
30    const reader = rs.getReader();
31    await promise_rejects_dom(t, 'DataCloneError', reader.read(),
32                              'should reject with a DataCloneError');
33    t.done();
34    // Signal that this test is done. When both tests are done the iframe will
35    // be removed.
36    parent.postMessage('rs done', '*');
37  });
38}, 'a ReadableStream deserialization failure should result in a DataCloneError');
39</script>
40