diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 17:32:43 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 17:32:43 +0000 |
commit | 6bf0a5cb5034a7e684dcc3500e841785237ce2dd (patch) | |
tree | a68f146d7fa01f0134297619fbe7e33db084e0aa /dom/media/test/reactivate_helper.html | |
parent | Initial commit. (diff) | |
download | thunderbird-upstream.tar.xz thunderbird-upstream.zip |
Adding upstream version 1:115.7.0.upstream/1%115.7.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r-- | dom/media/test/reactivate_helper.html | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/dom/media/test/reactivate_helper.html b/dom/media/test/reactivate_helper.html new file mode 100644 index 0000000000..1834131559 --- /dev/null +++ b/dom/media/test/reactivate_helper.html @@ -0,0 +1,57 @@ +<!DOCTYPE HTML> +<html> +<body> +<script> +var loadsWaiting = 0; +var elements = []; + +function checkAllLoaded() { + --loadsWaiting; + if (loadsWaiting == 0) { + parent.loadedAll(elements); + } +} + +function loadedData(event) { + var e = event.target; + parent.ok(!elements.includes(e), "Element already loaded: " + e._name); + parent.info("Loaded " + e._name); + elements.push(e); + // Reset "onerror" handler to avoid triggering another error in removeNodeAndSource(). + e.onerror = null; + checkAllLoaded(); + +} + +function error(event) { + var e = event.target; + parent.info("Error " + e._name); + // Don't wait for the element encounting errors. + checkAllLoaded(); +} + +for (var i = 0; i < parent.gSmallTests.length; ++i) { + var test = parent.gSmallTests[i]; + var elemType = /^audio/.test(test.type) ? "audio" : "video"; + // Associate these elements with the subframe's document + var e = document.createElement(elemType); + e.preload = "metadata"; + if (e.canPlayType(test.type)) { + e.src = test.name; + e._name = test.name; + e.onloadeddata = loadedData; + e.onerror = error; + e.load(); + ++loadsWaiting; + parent.info("Loading " + e._name); + } +} + +if (loadsWaiting == 0) { + parent.todo(false, "Can't play anything"); +} else { + parent.SimpleTest.waitForExplicitFinish(); +} +</script> +</body> +</html> |