Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(71)

Side by Side Diff: LayoutTests/webaudio/audiobuffer-neuter.html

Issue 19019002: Ensure that ArrayBuffers actively being used by the Web Audio API cannot be neutered (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: rebase for re-landing Created 7 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | LayoutTests/webaudio/audiobuffer-neuter-expected.txt » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 <!DOCTYPE html>
2 <head>
3 <script src="../fast/js/resources/js-test-pre.js"></script>
4 <script src="resources/audio-testing.js"></script>
5 <script src="resources/audiobuffersource-testing.js"></script>
6 <script>
7 var sampleRate = 44100.0;
8 var lengthInSeconds = 0.1;
9 var context;
10 var source;
11 var sourceBuffer;
12
13 function runTest()
14 {
15 if (window.testRunner) {
16 testRunner.dumpAsText();
17 testRunner.waitUntilDone();
18 }
19
20 var numberOfFrames = sampleRate * lengthInSeconds;
21 context = new webkitOfflineAudioContext(1, numberOfFrames, sampleRat e);
22 sourceBuffer = createConstantBuffer(context, numberOfFrames, 0.5);
23 var data = sourceBuffer.getChannelData(0).buffer;
24
25 var string = [
26 "onmessage = function(e) {",
27 " var view = new Float32Array(e.data)",
28 " for (var i=0; i < view.length; i++)",
29 " view[i] = 100;",
30 " postMessage('done');",
31 "};"
32 ].join('\n');
33 var blobURL = URL.createObjectURL(new Blob([string]));
34
35 var worker = new Worker(blobURL);
36 worker.onmessage = workerReply;
37 worker.postMessage(data, [data]);
38 }
39
40 function workerReply(event) {
41 source = context.createBufferSource();
42 source.buffer = sourceBuffer;
43 source.connect(context.destination);
44 source.start(0);
45 context.oncomplete = finishTest;
46 context.startRendering();
47 }
48
49 function finishTest(event) {
50 var renderedBuffer = event.renderedBuffer;
51 var numberOfFrames = sampleRate * lengthInSeconds;
52 var expectedBuffer = createConstantBuffer(context, numberOfFrames, 0 .5);
53
54 var renderedData = renderedBuffer.getChannelData(0);
55 var expectedData = expectedBuffer.getChannelData(0);
56
57 for (var i = 0; i < numberOfFrames; ++i) {
58 if (expectedData[i] != renderedData[i]) {
59 testFailed('expected: ' + expectedData[i] + ' actual: ' + re nderedData[i]);
60 finishJSTest();
61 if (window.testRunner)
62 testRunner.notifyDone();
63 }
64 }
65
66 testPassed('Output matches expectations.');
67 finishJSTest();
68 if (window.testRunner)
69 testRunner.notifyDone();
70 }
71
72 </script>
73 </head>
74 <body onload="runTest()">
75 <div>Tests that neutered AudioBuffers do not produce garbage</div>
76 <div id="console"></div>
77 </body>
78
79
OLDNEW
« no previous file with comments | « no previous file | LayoutTests/webaudio/audiobuffer-neuter-expected.txt » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698