detection-ImageData-detached.https.html (1247B)
1 <!DOCTYPE html> 2 <script src="/resources/testharness.js"></script> 3 <script src="/resources/testharnessreport.js"></script> 4 <script> 5 6 function detachBuffer(buffer) { 7 window.postMessage('', '*', [buffer]); 8 } 9 10 promise_test(async () => { 11 let data = new ImageData(1024, 1024); 12 detachBuffer(data.data.buffer); 13 let detector = new FaceDetector(); 14 try { 15 await detector.detect(data); 16 assert_unreached(); 17 } catch (e) { 18 assert_equals(e.code, DOMException.INVALID_STATE_ERR); 19 } 20 }, 'FaceDetector.detect() rejects on a detached buffer'); 21 22 promise_test(async () => { 23 let data = new ImageData(1024, 1024); 24 detachBuffer(data.data.buffer); 25 let detector = new BarcodeDetector(); 26 try { 27 await detector.detect(data); 28 assert_unreached(); 29 } catch (e) { 30 assert_equals(e.code, DOMException.INVALID_STATE_ERR); 31 } 32 }, 'BarcodeDetector.detect() rejects on a detached buffer'); 33 34 promise_test(async () => { 35 let data = new ImageData(1024, 1024); 36 detachBuffer(data.data.buffer); 37 let detector = new TextDetector(); 38 try { 39 await detector.detect(data); 40 assert_unreached(); 41 } catch (e) { 42 assert_equals(e.code, DOMException.INVALID_STATE_ERR); 43 } 44 }, 'TextDetector.detect() rejects on a detached buffer'); 45 46 </script>