Closed Bug 1702624 Opened 4 years ago Closed 4 years ago

[wpt-sync] Sync PR 28344 - Move ImageDecoder API decoding over to sequenced worker thread.

Categories

(Testing :: web-platform-tests, task, P4)

task

Tracking

(firefox89 fixed)

RESOLVED FIXED
89 Branch
Tracking Status
firefox89 --- fixed

People

(Reporter: wpt-sync, Unassigned)

References

()

Details

(Whiteboard: [wptsync downstream])

Sync web-platform-tests PR 28344 into mozilla-central (this bug is closed when the sync is complete).

PR: https://github.com/web-platform-tests/wpt/pull/28344
Details from upstream follow.

b'Dale Curtis <dalecurtis@chromium.org>' wrote:

Move ImageDecoder API decoding over to sequenced worker thread.

This moves the actual image decoding into a new ImageDecoderCore
class which can be used with WTF::SequenceBound to decode images
on a sequenced worker pool.

This follows the WebCodecs processing model where decoding is not
supposed to occur on the main thread.

Fixed: 1182435

Change-Id: I22a89d9242110fb17010f1fd178bcb5fc59fb5a1
Reviewed-on: https://chromium-review.googlesource.com/2799173
WPT-Export-Revision: 4219c69bb0052e9b1c7d1517c0fdf35da6ed9f2a

CI Results

Ran 15 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI

Total 2 tests and 29 subtests

Status Summary

Firefox

OK : 2
FAIL: 46[Gecko-android-em-7.0-x86_64-debug-geckoview, Gecko-android-em-7.0-x86_64-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview, Gecko-linux1804-64-debug, Gecko-linux1804-64-opt, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-linux1804-64-tsan-opt, Gecko-windows10-64-debug, Gecko-windows10-64-opt, Gecko-windows10-64-qr-debug, Gecko-windows10-64-qr-opt, Gecko-windows7-32-debug, Gecko-windows7-32-opt] 58[GitHub]

Chrome

OK : 2
PASS: 30
FAIL: 28

Safari

OK : 2
FAIL: 58

Links

Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base

Details

New Tests That Don't Pass

/webcodecs/image-decoder.any.html
Test JPEG image decoding.: FAIL (Chrome: PASS, Safari: FAIL)
Test JPEG w/ EXIF orientation top-left.: FAIL (Chrome: PASS, Safari: FAIL)
Test JPEG w/ EXIF orientation top-right.: FAIL (Chrome: PASS, Safari: FAIL)
Test JPEG w/ EXIF orientation bottom-right.: FAIL (Chrome: PASS, Safari: FAIL)
Test JPEG w/ EXIF orientation bottom-left.: FAIL (Chrome: PASS, Safari: FAIL)
Test JPEG w/ EXIF orientation left-top.: FAIL (Chrome: PASS, Safari: FAIL)
Test JPEG w/ EXIF orientation right-top.: FAIL (Chrome: PASS, Safari: FAIL)
Test JPEG w/ EXIF orientation right-bottom.: FAIL (Chrome: PASS, Safari: FAIL)
Test JPEG w/ EXIF orientation left-bottom.: FAIL (Chrome: PASS, Safari: FAIL)
Test PNG image decoding.: FAIL (Chrome: PASS, Safari: FAIL)
Test AVIF image decoding.: FAIL (Chrome: PASS, Safari: FAIL)
Test high bit depth HDR AVIF image decoding.: FAIL (Chrome: FAIL, Safari: FAIL)
Test multi-track AVIF image decoding w/ preferAnimation=false.: FAIL (Chrome: FAIL, Safari: FAIL)
Test multi-track AVIF image decoding w/ preferAnimation=true.: FAIL (Chrome: FAIL, Safari: FAIL)
Test WEBP image decoding.: FAIL (Chrome: PASS, Safari: FAIL)
Test GIF image decoding.: FAIL (Chrome: PASS, Safari: FAIL)
Test invalid mime type rejects decode() requests: FAIL (Chrome: PASS, Safari: FAIL)
Test invalid mime type rejects decodeMetadata() requests: FAIL (Chrome: PASS, Safari: FAIL)
Test out of range index returns IndexSizeError: FAIL (Chrome: FAIL, Safari: FAIL)
Test decode, decodeMetadata after no track selected.: FAIL (Chrome: FAIL, Safari: FAIL)
Test track selection in multi track image.: FAIL (Chrome: FAIL, Safari: FAIL)
Test ReadableStream of gif: FAIL (Chrome: FAIL, Safari: FAIL)
Test ReadableStream aborts promises on track change: FAIL (Chrome: FAIL, Safari: FAIL)
Test JPEG image YUV 4:2:0 decoding.: FAIL (Chrome: FAIL, Safari: FAIL)
Test AVIF image YUV 4:2:0 decoding.: FAIL (Chrome: FAIL, Safari: FAIL)
Test AVIF image YUV 4:2:2 decoding.: FAIL (Chrome: FAIL, Safari: FAIL)
Test AVIF image YUV 4:4:4 decoding.: FAIL (Chrome: FAIL, Safari: FAIL)
Test WEBP image YUV 4:2:0 decoding.: FAIL (Chrome: FAIL, Safari: FAIL)
Test that decode requests are serialized.: FAIL (Chrome: FAIL, Safari: FAIL)
/webcodecs/image-decoder.any.worker.html
Test JPEG image decoding.: FAIL (Chrome: PASS, Safari: FAIL)
Test JPEG w/ EXIF orientation top-left.: FAIL (Chrome: PASS, Safari: FAIL)
Test JPEG w/ EXIF orientation top-right.: FAIL (Chrome: PASS, Safari: FAIL)
Test JPEG w/ EXIF orientation bottom-right.: FAIL (Chrome: PASS, Safari: FAIL)
Test JPEG w/ EXIF orientation bottom-left.: FAIL (Chrome: PASS, Safari: FAIL)
Test JPEG w/ EXIF orientation left-top.: FAIL (Chrome: PASS, Safari: FAIL)
Test JPEG w/ EXIF orientation right-top.: FAIL (Chrome: PASS, Safari: FAIL)
Test JPEG w/ EXIF orientation right-bottom.: FAIL (Chrome: PASS, Safari: FAIL)
Test JPEG w/ EXIF orientation left-bottom.: FAIL (Chrome: PASS, Safari: FAIL)
Test PNG image decoding.: FAIL (Chrome: PASS, Safari: FAIL)
Test AVIF image decoding.: FAIL (Chrome: PASS, Safari: FAIL)
Test high bit depth HDR AVIF image decoding.: FAIL (Chrome: FAIL, Safari: FAIL)
Test multi-track AVIF image decoding w/ preferAnimation=false.: FAIL (Chrome: FAIL, Safari: FAIL)
Test multi-track AVIF image decoding w/ preferAnimation=true.: FAIL (Chrome: FAIL, Safari: FAIL)
Test WEBP image decoding.: FAIL (Chrome: PASS, Safari: FAIL)
Test GIF image decoding.: FAIL (Chrome: PASS, Safari: FAIL)
Test invalid mime type rejects decode() requests: FAIL (Chrome: PASS, Safari: FAIL)
Test invalid mime type rejects decodeMetadata() requests: FAIL (Chrome: PASS, Safari: FAIL)
Test out of range index returns IndexSizeError: FAIL (Chrome: FAIL, Safari: FAIL)
Test decode, decodeMetadata after no track selected.: FAIL (Chrome: FAIL, Safari: FAIL)
Test track selection in multi track image.: FAIL (Chrome: FAIL, Safari: FAIL)
Test ReadableStream of gif: FAIL (Chrome: FAIL, Safari: FAIL)
Test ReadableStream aborts promises on track change: FAIL (Chrome: FAIL, Safari: FAIL)
Test JPEG image YUV 4:2:0 decoding.: FAIL (Chrome: FAIL, Safari: FAIL)
Test AVIF image YUV 4:2:0 decoding.: FAIL (Chrome: FAIL, Safari: FAIL)
Test AVIF image YUV 4:2:2 decoding.: FAIL (Chrome: FAIL, Safari: FAIL)
Test AVIF image YUV 4:4:4 decoding.: FAIL (Chrome: FAIL, Safari: FAIL)
Test WEBP image YUV 4:2:0 decoding.: FAIL (Chrome: FAIL, Safari: FAIL)
Test that decode requests are serialized.: FAIL (Chrome: FAIL, Safari: FAIL)

Pushed by wptsync@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/2f8accafbfc8 [wpt PR 28344] - Move ImageDecoder API decoding over to sequenced worker thread., a=testonly https://hg.mozilla.org/integration/autoland/rev/82313c3560f6 [wpt PR 28344] - Update wpt metadata, a=testonly
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → 89 Branch
You need to log in before you can comment on or make changes to this bug.