diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 01:47:29 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 01:47:29 +0000 |
commit | 0ebf5bdf043a27fd3dfb7f92e0cb63d88954c44d (patch) | |
tree | a31f07c9bcca9d56ce61e9a1ffd30ef350d513aa /dom/media/webaudio/test/test_mediaStreamTrackAudioSourceNodeCrossOrigin.html | |
parent | Initial commit. (diff) | |
download | firefox-esr-0ebf5bdf043a27fd3dfb7f92e0cb63d88954c44d.tar.xz firefox-esr-0ebf5bdf043a27fd3dfb7f92e0cb63d88954c44d.zip |
Adding upstream version 115.8.0esr.upstream/115.8.0esr
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'dom/media/webaudio/test/test_mediaStreamTrackAudioSourceNodeCrossOrigin.html')
-rw-r--r-- | dom/media/webaudio/test/test_mediaStreamTrackAudioSourceNodeCrossOrigin.html | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/dom/media/webaudio/test/test_mediaStreamTrackAudioSourceNodeCrossOrigin.html b/dom/media/webaudio/test/test_mediaStreamTrackAudioSourceNodeCrossOrigin.html new file mode 100644 index 0000000000..313cd424c0 --- /dev/null +++ b/dom/media/webaudio/test/test_mediaStreamTrackAudioSourceNodeCrossOrigin.html @@ -0,0 +1,53 @@ +<!DOCTYPE HTML> +<html> +<meta charset="utf-8"> +<head> +<title>Test MediaStreamTrackAudioSourceNode doesn't get data from cross-origin media resources</title> +<script src="/tests/SimpleTest/SimpleTest.js"></script> +<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" /> +</head> +<body> +<pre id="test"> +<script class="testbody" type="text/javascript"> +SimpleTest.waitForExplicitFinish(); + +const CROSS_ORIGIN_URL = "http://example.org:80/tests/dom/media/webaudio/test/sine-440-10s.opus" +let iterationCount = 0; +let context = null; + +function processSamples(e) { + ++iterationCount; + + let buf = e.inputBuffer.getChannelData(0); + let nonzeroSamplesThisBuffer = 0; + for (let i = 0; i < buf.length; ++i) { + if (buf[i] != 0) { + ++nonzeroSamplesThisBuffer; + } + } + is(nonzeroSamplesThisBuffer, 0, + "a source that is cross origin cannot be inspected by Web Audio"); + + if (iterationCount == 40) { + sp.onaudioprocess = null; + context.close(); + SimpleTest.finish(); + } +} + +let audio = new Audio(); +audio.src = CROSS_ORIGIN_URL; +audio.onloadedmetadata = function () { + context = new AudioContext(); + let stream = audio.mozCaptureStream(); + let track = stream.getAudioTracks()[0]; + let node = context.createMediaStreamTrackSource(track); + node.connect(context.destination); + sp = context.createScriptProcessor(2048, 1); + sp.onaudioprocess = processSamples; + node.connect(sp); +} + +</script> +</pre> +</body> |