Closed Bug 1774483 Opened 3 years ago Closed 3 years ago

[wpt-sync] Sync PR 34451 - Reland: MSE-in-Workers: srcObject part 5: Conditionally fail worker objectURL

Categories

(Core :: Audio/Video: Playback, task, P4)

task

Tracking

()

RESOLVED FIXED
103 Branch
Tracking Status
firefox103 --- fixed

People

(Reporter: wpt-sync, Unassigned)

References

()

Details

(Whiteboard: [wptsync downstream])

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

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

Matt Wolenetz <wolenetz@chromium.org> wrote:

Reland: MSE-in-Workers: srcObject part 5: Conditionally fail worker objectURL

With the underlying leak fixed by
https://chromium-review.googlesource.com/c/chromium/src/+/3704191, this
change can be relanded now.

Previous revert:

Revert "MSE-in-Workers: srcObject part 5: Conditionally fail worker objectURL"

This reverts commit 6315549b8c2ece3dbbf3062c1a87347589a5e115.

Reason for revert: This is causing failures on the WebKit Linux Leak builder
i.e. https://ci.chromium.org/ui/p/chromium/builders/ci/WebKit%20Linux%20Leak/39394/overview

Original change's description:

MSE-in-Workers: srcObject part 5: Conditionally fail worker objectURL

If the MediaSourceInWorkersUsingHandle feature is enabled, this change
prevents successful ability of obtaining an objectURL that would succeed
in loading a worker-owned MediaSource.

It changes the wpt tests to use handle for attachment and verifies
expected new behavior of getHandle and that worker objectURL attachment
fails (these tests run on experimental builds of Chromium with
currently-experimental MediaSourceInWorkersUsingHandle feature enabled,
just like the currently-experimental MediaSourceInWorkers feature.)

References:
Full prototype CL for the parts 1-4 that have already landed:
https://chromium-review.googlesource.com/c/chromium/src/+/3515334
MSE spec issue:
https://github.com/w3c/media-source/issues/175
MSE spec feature updates switching from worker MSE attachment via
object URL to attachment via srcObject MediaSourceHandle:

BUG=878133

Change-Id: I60ddca79ee0f95c87b6d84e4f44ad9c283f359a3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3698231
Commit-Queue: Matthew Wolenetz \<wolenetz@chromium.org>
Auto-Submit: Matthew Wolenetz \<wolenetz@chromium.org>
Reviewed-by: Will Cassella \<cassew@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1012712}

Bug: 878133
Change-Id: I1e405ae1de146d1f3183592b00a43bd3c38d849d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3695890
Bot-Commit: Rubber Stamper \<rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Nidhi Jaju \<nidhijaju@chromium.org>
Owners-Override: Nidhi Jaju \<nidhijaju@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1012823}

Bug: 878133
Change-Id: I56e4ecd4d8b58d9d58ed3c575b0fb52f596b6fae
Reviewed-on: https://chromium-review.googlesource.com/3708465
WPT-Export-Revision: 133d02bf6fcc6a5b39c8fc79d9a06da548a02e2d

Component: web-platform-tests → Audio/Video: Playback
Product: Testing → Core
Whiteboard: [wptsync downstream] → [wptsync downstream error]
Whiteboard: [wptsync downstream error] → [wptsync downstream]

CI Results

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

Total 6 tests and 1 subtests

Status Summary

Firefox

OK : 6
PASS : 2
FAIL : 49

Chrome

OK : 5
PASS : 17
FAIL : 40
TIMEOUT: 2

Safari

OK : 6
PASS : 2
FAIL : 49

Links

Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base

Details

New Tests That Don't Pass

  • /media-source/dedicated-worker/mediasource-worker-detach-element.html [wpt.fyi]
    • Test element detachment from worker MediaSource after at least 0 main thread setTimeouts, starting counting after setting srcObject: FAIL (Chrome: FAIL, Safari: FAIL)
    • Test element detachment from worker MediaSource after at least 1 main thread setTimeouts, starting counting after setting srcObject: FAIL (Chrome: FAIL, Safari: FAIL)
    • Test element detachment from worker MediaSource after at least 2 main thread setTimeouts, starting counting after setting srcObject: FAIL (Chrome: FAIL, Safari: FAIL)
    • Test element detachment from worker MediaSource after at least 3 main thread setTimeouts, starting counting after setting srcObject: FAIL (Chrome: FAIL, Safari: FAIL)
    • Test element detachment from worker MediaSource after at least 4 main thread setTimeouts, starting counting after setting srcObject: FAIL (Chrome: FAIL, Safari: FAIL)
    • Test element detachment from worker MediaSource after at least 0 main thread setTimeouts, starting counting after receiving Started Buffering message from worker: FAIL (Chrome: FAIL, Safari: FAIL)
    • Test element detachment from worker MediaSource after at least 1 main thread setTimeouts, starting counting after receiving Started Buffering message from worker: FAIL (Chrome: FAIL, Safari: FAIL)
    • Test element detachment from worker MediaSource after at least 2 main thread setTimeouts, starting counting after receiving Started Buffering message from worker: FAIL (Chrome: FAIL, Safari: FAIL)
    • Test element detachment from worker MediaSource after at least 3 main thread setTimeouts, starting counting after receiving Started Buffering message from worker: FAIL (Chrome: FAIL, Safari: FAIL)
    • Test element detachment from worker MediaSource after at least 4 main thread setTimeouts, starting counting after receiving Started Buffering message from worker: FAIL (Chrome: FAIL, Safari: FAIL)
    • Test element detachment from worker MediaSource after at least 0 main thread setTimeouts, starting counting after receiving Finished Buffering message from worker: FAIL (Chrome: FAIL, Safari: FAIL)
    • Test element detachment from worker MediaSource after at least 1 main thread setTimeouts, starting counting after receiving Finished Buffering message from worker: FAIL (Chrome: FAIL, Safari: FAIL)
    • Test element detachment from worker MediaSource after at least 2 main thread setTimeouts, starting counting after receiving Finished Buffering message from worker: FAIL (Chrome: FAIL, Safari: FAIL)
    • Test element detachment from worker MediaSource after at least 3 main thread setTimeouts, starting counting after receiving Finished Buffering message from worker: FAIL (Chrome: FAIL, Safari: FAIL)
    • Test element detachment from worker MediaSource after at least 4 main thread setTimeouts, starting counting after receiving Finished Buffering message from worker: FAIL (Chrome: FAIL, Safari: FAIL)
  • /media-source/dedicated-worker/mediasource-worker-duration.html [wpt.fyi]
    • Test worker MediaSource duration updates before and after HAVE_METADATA: FAIL (Chrome: FAIL, Safari: FAIL)
  • /media-source/dedicated-worker/mediasource-worker-handle.html [wpt.fyi]
    • Test main context receipt of postMessage'd MediaSourceHandle from DedicatedWorker MediaSource: FAIL (Chrome: PASS, Safari: FAIL)
  • /media-source/dedicated-worker/mediasource-worker-objecturl.html [wpt.fyi]
    • Test main context load of a DedicatedWorker MediaSource object URL should fail: FAIL (Chrome: TIMEOUT, Safari: FAIL)
  • /media-source/dedicated-worker/mediasource-worker-play-terminate-worker.html [wpt.fyi]
    • Test worker MediaSource termination after at least 0 main thread setTimeouts, starting counting before setting srcObject: FAIL (Chrome: PASS, Safari: FAIL)
    • Test worker MediaSource termination after at least 1 main thread setTimeouts, starting counting before setting srcObject: FAIL (Chrome: PASS, Safari: FAIL)
    • Test worker MediaSource termination after at least 2 main thread setTimeouts, starting counting before setting srcObject: FAIL (Chrome: PASS, Safari: FAIL)
    • Test worker MediaSource termination after at least 3 main thread setTimeouts, starting counting before setting srcObject: FAIL (Chrome: PASS, Safari: FAIL)
    • Test worker MediaSource termination after at least 4 main thread setTimeouts, starting counting before setting srcObject: FAIL (Chrome: PASS, Safari: FAIL)
    • Test worker MediaSource termination after at least 5 main thread setTimeouts, starting counting before setting srcObject: FAIL (Chrome: FAIL, Safari: FAIL)
    • Test worker MediaSource termination after at least 6 main thread setTimeouts, starting counting before setting srcObject: FAIL (Chrome: FAIL, Safari: FAIL)
    • Test worker MediaSource termination after at least 7 main thread setTimeouts, starting counting before setting srcObject: FAIL (Chrome: PASS, Safari: FAIL)
    • Test worker MediaSource termination after at least 8 main thread setTimeouts, starting counting before setting srcObject: FAIL (Chrome: FAIL, Safari: FAIL)
    • Test worker MediaSource termination after at least 9 main thread setTimeouts, starting counting before setting srcObject: FAIL (Chrome: PASS, Safari: FAIL)
    • Test worker MediaSource termination after at least 0 main thread setTimeouts, starting counting after setting srcObject: FAIL (Chrome: FAIL, Safari: FAIL)
    • Test worker MediaSource termination after at least 1 main thread setTimeouts, starting counting after setting srcObject: FAIL (Chrome: FAIL, Safari: FAIL)
    • Test worker MediaSource termination after at least 2 main thread setTimeouts, starting counting after setting srcObject: FAIL (Chrome: FAIL, Safari: FAIL)
    • Test worker MediaSource termination after at least 3 main thread setTimeouts, starting counting after setting srcObject: FAIL (Chrome: FAIL, Safari: FAIL)
    • Test worker MediaSource termination after at least 4 main thread setTimeouts, starting counting after setting srcObject: FAIL (Chrome: FAIL, Safari: FAIL)
    • Test worker MediaSource termination after at least 5 main thread setTimeouts, starting counting after setting srcObject: FAIL (Chrome: FAIL, Safari: FAIL)
    • Test worker MediaSource termination after at least 6 main thread setTimeouts, starting counting after setting srcObject: FAIL (Chrome: FAIL, Safari: FAIL)
    • Test worker MediaSource termination after at least 7 main thread setTimeouts, starting counting after setting srcObject: FAIL (Chrome: FAIL, Safari: FAIL)
    • Test worker MediaSource termination after at least 8 main thread setTimeouts, starting counting after setting srcObject: FAIL (Chrome: FAIL, Safari: FAIL)
    • Test worker MediaSource termination after at least 9 main thread setTimeouts, starting counting after setting srcObject: FAIL (Chrome: FAIL, Safari: FAIL)
    • Test worker MediaSource termination after at least 0 main thread setTimeouts, starting counting after first ended event: FAIL (Chrome: FAIL, Safari: FAIL)
    • Test worker MediaSource termination after at least 1 main thread setTimeouts, starting counting after first ended event: FAIL (Chrome: FAIL, Safari: FAIL)
    • Test worker MediaSource termination after at least 2 main thread setTimeouts, starting counting after first ended event: FAIL (Chrome: FAIL, Safari: FAIL)
    • Test worker MediaSource termination after at least 3 main thread setTimeouts, starting counting after first ended event: FAIL (Chrome: FAIL, Safari: FAIL)
    • Test worker MediaSource termination after at least 4 main thread setTimeouts, starting counting after first ended event: FAIL (Chrome: FAIL, Safari: FAIL)
    • Test worker MediaSource termination after at least 5 main thread setTimeouts, starting counting after first ended event: FAIL (Chrome: FAIL, Safari: FAIL)
    • Test worker MediaSource termination after at least 6 main thread setTimeouts, starting counting after first ended event: FAIL (Chrome: FAIL, Safari: FAIL)
    • Test worker MediaSource termination after at least 7 main thread setTimeouts, starting counting after first ended event: FAIL (Chrome: FAIL, Safari: FAIL)
    • Test worker MediaSource termination after at least 8 main thread setTimeouts, starting counting after first ended event: FAIL (Chrome: FAIL, Safari: FAIL)
    • Test worker MediaSource termination after at least 9 main thread setTimeouts, starting counting after first ended event: FAIL (Chrome: FAIL, Safari: FAIL)
  • /media-source/dedicated-worker/mediasource-worker-play.html [wpt.fyi]
    • Test worker MediaSource construction, attachment, buffering and basic playback: FAIL (Chrome: FAIL, Safari: FAIL)
Pushed by wptsync@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/e1d00fa92df4 [wpt PR 34451] - Reland: MSE-in-Workers: srcObject part 5: Conditionally fail worker objectURL, a=testonly https://hg.mozilla.org/integration/autoland/rev/6474a6e6ab15 [wpt PR 34451] - Update wpt metadata, a=testonly
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 103 Branch
You need to log in before you can comment on or make changes to this bug.