diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-06-12 05:35:37 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-06-12 05:35:37 +0000 |
commit | a90a5cba08fdf6c0ceb95101c275108a152a3aed (patch) | |
tree | 532507288f3defd7f4dcf1af49698bcb76034855 /dom/media/test/test_complete_length.html | |
parent | Adding debian version 126.0.1-1. (diff) | |
download | firefox-a90a5cba08fdf6c0ceb95101c275108a152a3aed.tar.xz firefox-a90a5cba08fdf6c0ceb95101c275108a152a3aed.zip |
Merging upstream version 127.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'dom/media/test/test_complete_length.html')
-rw-r--r-- | dom/media/test/test_complete_length.html | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/dom/media/test/test_complete_length.html b/dom/media/test/test_complete_length.html new file mode 100644 index 0000000000..576b00dac2 --- /dev/null +++ b/dom/media/test/test_complete_length.html @@ -0,0 +1,49 @@ +<!DOCTYPE HTML> +<html> +<head> + <meta charset="utf-8"> + <title>Test different complete-length fields of Content-Range headers</title> + <script src="/tests/SimpleTest/SimpleTest.js"></script> + <script src="/tests/dom/serviceworkers/test/utils.js"></script> + <link rel="stylesheet" href="/tests/SimpleTest/test.css"/> +</head> +<script> +"use strict"; + +let oncomplete; +navigator.serviceWorker.addEventListener("message", e => { + switch (e.data.type) { + case "is": + is(e.data.got, e.data.expected, e.data.name); + break; + case "done": + oncomplete(); + break; + default: + record(false, "unknown e.data.type", e.data.type); + } +}); + +add_task(async () => { + // Unregister any previous ServiceWorkerRegistrations that may not have been + // removed before a page reload. + await unregisterAll(); + const registration = + await registerAndWaitForActive("complete_length_worker.js"); + SimpleTest.registerCleanupFunction(() => registration.unregister()); + + const audio = new Audio("media-resource"); + audio.preload = "metadata"; + // An error event is generated because the resource is incomplete. + const error_promise = new Promise(r => audio.onerror = r); + await error_promise; + is(audio.error.code, MediaError.MEDIA_ERR_SRC_NOT_SUPPORTED, "error.code"); + is(audio.error.message, "NS_ERROR_DOM_MEDIA_METADATA_ERR (0x806e0006)", + "error.message"); + + // Tell the ServiceWorker that media-resource requests have completed. + navigator.serviceWorker.controller.postMessage({type: "got error event"}); + await new Promise(r => oncomplete = r); +}); +</script> +</html> |