Closed Bug 1703062 Opened 4 years ago Closed 4 years ago

[wpt-sync] Sync PR 28371 - Reland "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: mozilla.org, Unassigned)

References

()

Details

(Whiteboard: [wptsync downstream])

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

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

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

Reland "Move ImageDecoder API decoding over to sequenced worker thread."

This is a reland of a5f3d67b351ca099af4c447c9d91b6d445bf60d9

Original change's description:

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/c/chromium/src/+/2799173
Reviewed-by: Dan Sanders \<sandersd@chromium.org>
Reviewed-by: Yuta Kitamura \<yutak@chromium.org>
Reviewed-by: Chrome Cunningham \<chcunningham@chromium.org>
Commit-Queue: Dale Curtis \<dalecurtis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#869115}

Change-Id: Ic9db3fee402eb59d322dfdf228953b9ea0039f31
Reviewed-on: https://chromium-review.googlesource.com/2803918
WPT-Export-Revision: 53b47ecb46d3c63b4eb98bdaa41afbe6e91d6c5b

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/4e07aad11f75 [wpt PR 28371] - Reland "Move ImageDecoder API decoding over to sequenced worker thread.", a=testonly https://hg.mozilla.org/integration/autoland/rev/2cbd5556c065 [wpt PR 28371] - 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.