forked from mirrors/gecko-dev
Automatic update from web-platform-tests Fix ShapeDetection handling of broken HTMLImageElements When an HTMLImageElement's 'src' is set to the empty string, the state of the image request will be 'broken', and thus the promise should be rejected with an InvalidStateError exception per the rules at [1]. Move the intrinsic size check below the image existence check, and use a more direct method of getting at the size (no need to go through the BitmapImageSource interface when we're already fiddling with internals). Also add a check for IsLoaded() to better match the spec wording 'fully decodable'. [1] https://wicg.github.io/shape-detection-api/#image-sources-for-detection Bug: 789511 Change-Id: I69ac4a9081cfff7f9c7c8f7edf39667e3dd1eb4d Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2587165 Reviewed-by: Reilly Grant <reillyg@chromium.org> Commit-Queue: Fredrik Söderquist <fs@opera.com> Cr-Commit-Position: refs/heads/master@{#837140} -- wpt-commits: 245cc257ba8757fd4debe2e68246cb5885c51dd1 wpt-pr: 26889
34 lines
1 KiB
HTML
34 lines
1 KiB
HTML
<!DOCTYPE html>
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<script>
|
|
// This test verifies *Detector.detect() returns an empty list when fed with
|
|
// an HTMLImageElement with an image with 0x0 dimensions.
|
|
const zeroDimensionsTests = [
|
|
{
|
|
createDetector: () => { return new FaceDetector(); },
|
|
name: "Face - detect(0x0)"
|
|
},
|
|
{
|
|
createDetector: () => { return new BarcodeDetector(); },
|
|
name: "Barcode - detect(0x0)"
|
|
},
|
|
{
|
|
createDetector: () => { return new TextDetector(); },
|
|
name: "Text - detect(0x0)"
|
|
}
|
|
];
|
|
|
|
for (let zeroDimensionsTest of zeroDimensionsTests) {
|
|
promise_test(async t => {
|
|
const img = new Image();
|
|
const imgWatcher = new EventWatcher(t, img, ["load", "error"]);
|
|
img.src = "/images/red-zerosize.svg";
|
|
await imgWatcher.wait_for("load");
|
|
|
|
const detector = zeroDimensionsTest.createDetector();
|
|
const detectionResult = await detector.detect(img);
|
|
assert_equals(detectionResult.length, 0);
|
|
}, zeroDimensionsTest.name);
|
|
}
|
|
</script>
|