<!DOCTYPE html>
<title>Test ImageDecoder outputs to a image-orientation: none canvas.</title>
<canvas style="image-orientation: none"></canvas>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/webcodecs/image-decoder-utils.js"></script>
<script>
promise_test(t => {
return testFourColorDecodeWithExifOrientation(
1, document.querySelector('canvas'));
}, 'Test JPEG w/ EXIF orientation top-left on canvas w/o orientation');
promise_test(t => {
return testFourColorDecodeWithExifOrientation(
2, document.querySelector('canvas'));
}, 'Test JPEG w/ EXIF orientation top-right on canvas w/o orientation.');
promise_test(t => {
return testFourColorDecodeWithExifOrientation(
3, document.querySelector('canvas'));
}, 'Test JPEG w/ EXIF orientation bottom-right on canvas w/o orientation.');
promise_test(t => {
return testFourColorDecodeWithExifOrientation(
4, document.querySelector('canvas'));
}, 'Test JPEG w/ EXIF orientation bottom-left on canvas w/o orientation.');
promise_test(t => {
return testFourColorDecodeWithExifOrientation(
5, document.querySelector('canvas'));
}, 'Test JPEG w/ EXIF orientation left-top on canvas w/o orientation.');
promise_test(t => {
return testFourColorDecodeWithExifOrientation(
6, document.querySelector('canvas'));
}, 'Test JPEG w/ EXIF orientation right-top on canvas w/o orientation.');
promise_test(t => {
return testFourColorDecodeWithExifOrientation(
7, document.querySelector('canvas'));
}, 'Test JPEG w/ EXIF orientation right-bottom on canvas w/o orientation.');
promise_test(t => {
return testFourColorDecodeWithExifOrientation(
8, document.querySelector('canvas'));
}, 'Test JPEG w/ EXIF orientation left-bottom on canvas w/o orientation.');
// YUV tests
promise_test(t => {
return testFourColorDecodeWithExifOrientation(
1, document.querySelector('canvas'), /*useYuv=*/true);
}, 'Test 4:2:0 JPEG w/ EXIF orientation top-left on canvas w/o orientation');
promise_test(t => {
return testFourColorDecodeWithExifOrientation(
2, document.querySelector('canvas'), /*useYuv=*/true);
}, 'Test 4:2:0 JPEG w/ EXIF orientation top-right on canvas w/o orientation.');
promise_test(t => {
return testFourColorDecodeWithExifOrientation(
3, document.querySelector('canvas'), /*useYuv=*/true);
}, 'Test 4:2:0 JPEG w/ EXIF orientation bottom-right on canvas w/o orientation.');
promise_test(t => {
return testFourColorDecodeWithExifOrientation(
4, document.querySelector('canvas'), /*useYuv=*/true);
}, 'Test 4:2:0 JPEG w/ EXIF orientation bottom-left on canvas w/o orientation.');
promise_test(t => {
return testFourColorDecodeWithExifOrientation(
5, document.querySelector('canvas'), /*useYuv=*/true);
}, 'Test 4:2:0 JPEG w/ EXIF orientation left-top on canvas w/o orientation.');
promise_test(t => {
return testFourColorDecodeWithExifOrientation(
6, document.querySelector('canvas'), /*useYuv=*/true);
}, 'Test 4:2:0 JPEG w/ EXIF orientation right-top on canvas w/o orientation.');
promise_test(t => {
return testFourColorDecodeWithExifOrientation(
7, document.querySelector('canvas'), /*useYuv=*/true);
}, 'Test 4:2:0 JPEG w/ EXIF orientation right-bottom on canvas w/o orientation.');
promise_test(t => {
return testFourColorDecodeWithExifOrientation(
8, document.querySelector('canvas'), /*useYuv=*/true);
}, 'Test 4:2:0 JPEG w/ EXIF orientation left-bottom on canvas w/o orientation.');
</script>