| <!DOCTYPE html> |
| <script src=/resources/testharness.js></script> |
| <script src=/resources/testharnessreport.js></script> |
| <script> |
| |
| // cross-origin resources |
| const IMAGE_URL = |
| "https://{{domains[www1]}}:{{ports[https][0]}}/images/green.png"; |
| const VIDEO_URL = |
| "https://{{domains[www1]}}:{{ports[https][0]}}/media/white.webm"; |
| |
| const crossOriginTests = |
| [ |
| { |
| createDetector: () => { return new FaceDetector(); }, |
| detectorType: "FaceDetector" |
| }, |
| { |
| createDetector: () => { return new BarcodeDetector(); }, |
| detectorType: "BarcodeDetector" |
| } |
| ]; |
| |
| for (let crossOriginTest of crossOriginTests) { |
| |
| // Verifies that Detector rejects a cross-origin HTMLImageElement. |
| promise_test(async t => { |
| const img = new Image(); |
| const imgWatcher = new EventWatcher(t, img, ["load", "error"]); |
| img.src = IMAGE_URL; |
| await imgWatcher.wait_for("load"); |
| const detector = crossOriginTest.createDetector(); |
| promise_rejects_dom(t, "SecurityError", detector.detect(img)); |
| }, crossOriginTest.detectorType |
| + " should reject cross-origin HTMLImageElements with a SecurityError."); |
| |
| // Verifies that Detector rejects a cross-origin ImageBitmap. |
| promise_test(async t => { |
| const img = new Image(); |
| const imgWatcher = new EventWatcher(t, img, ["load", "error"]); |
| img.src = IMAGE_URL; |
| await imgWatcher.wait_for("load"); |
| const imgBitmap = await createImageBitmap(img); |
| const detector = crossOriginTest.createDetector(); |
| promise_rejects_dom(t, "SecurityError", detector.detect(imgBitmap)); |
| }, crossOriginTest.detectorType |
| + " should reject cross-origin ImageBitmaps with a SecurityError."); |
| |
| // Verifies that Detector rejects a cross-origin HTMLVideoElement. |
| promise_test(async t => { |
| const video = document.createElement('video'); |
| const videoWatcher = new EventWatcher(t, video, ["loadeddata", "error"]); |
| video.src = VIDEO_URL; |
| await videoWatcher.wait_for("loadeddata"); |
| const detector = crossOriginTest.createDetector(); |
| promise_rejects_dom(t, "SecurityError", detector.detect(video)); |
| }, crossOriginTest.detectorType |
| + " should reject cross-origin HTMLVideoElements with a SecurityError."); |
| |
| } |
| |
| </script> |