mediasource-worker-handle-transfer.js (740B)
1 importScripts('/resources/testharness.js'); 2 3 test(t => { 4 let handle = new MediaSource().handle; 5 assert_true(handle instanceof MediaSourceHandle); 6 assert_throws_dom('DataCloneError', function() { 7 postMessage(handle); 8 }, 'serializing handle without transfer'); 9 }, 'MediaSourceHandle serialization without transfer must fail, tested in worker'); 10 11 test(t => { 12 let handle = new MediaSource().handle; 13 assert_true(handle instanceof MediaSourceHandle); 14 assert_throws_dom('DataCloneError', function() { 15 postMessage(handle, [handle, handle]); 16 }, 'transferring same handle more than once in same postMessage'); 17 }, 'Same MediaSourceHandle transferred multiple times in single postMessage must fail, tested in worker'); 18 19 done();