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