Index: third_party/WebKit/LayoutTests/webaudio/audiosource-premature-gc.html |
diff --git a/third_party/WebKit/LayoutTests/webaudio/audiosource-premature-gc.html b/third_party/WebKit/LayoutTests/webaudio/audiosource-premature-gc.html |
deleted file mode 100644 |
index 92f29dd571a1589a378f5f075e270d38bbf79541..0000000000000000000000000000000000000000 |
--- a/third_party/WebKit/LayoutTests/webaudio/audiosource-premature-gc.html |
+++ /dev/null |
@@ -1,83 +0,0 @@ |
-<!doctype html> |
-<html> |
- <head> |
- <title>Test premature GC upon OscillatorNode and AudioBufferSourceNode</title> |
- <script src="../resources/js-test.js"></script> |
- <script src="resources/audit-util.js"></script> |
- <script src="resources/audio-testing.js"></script> |
- </head> |
- |
- <body> |
- <script type="text/javascript"> |
- description("Test premature GC upon OscillatorNode and AudioBufferSourceNode"); |
- window.jsTestIsAsync = true; |
- |
- var sampleRate = 44100; |
- var renderDuration = 1; |
- |
- var audit = Audit.createTaskRunner(); |
- |
- |
- // Create a graph for testing in an isolated scope. Returns |context|. |
- // Create two nodes and schedule only one of them. Then check if |onended| |
- // from the scheduled node is fired correctly. |
- function createGraphInIsolatedScope(sourceNodeType, done) { |
- |
- 'use strict'; |
- |
- var context = new OfflineAudioContext(1, renderDuration * sampleRate, sampleRate); |
- |
- { |
- let node = context['create' + sourceNodeType](); |
- node.connect(context.destination); |
- |
- if (sourceNodeType === 'BufferSource') { |
- let emptyBuffer = context.createBuffer(1, sampleRate, sampleRate); |
- node.buffer = emptyBuffer; |
- } |
- |
- // If the node is GCed, |onended| won't be fired. Then this test |
- // will be timed out because done() will not get called. |
- node.onended = function () { |
- testPassed(sourceNodeType + 'Node 1 survived GC and onended event fired.'); |
- done(); |
- }; |
- |
- node.start(); |
- node.stop(0.5 * renderDuration); |
- } |
- |
- // Suspend and GC before the render finishes. The time position is |
- // arbitrary. GC should collect |osc2| because it is not scheduled. |
- context.suspend(0.1 * renderDuration).then(function () { |
- gc(); |
- context.resume(); |
- }); |
- |
- context.startRendering(); |
- } |
- |
- audit.defineTask('oscillator-onended', function (done) { |
- createGraphInIsolatedScope('Oscillator', done); |
- }); |
- |
- audit.defineTask('buffersource-onended', function (done) { |
- createGraphInIsolatedScope('BufferSource', done); |
- }); |
- |
- audit.defineTask('finish', function (done) { |
- finishJSTest(); |
- done(); |
- }); |
- |
- |
- audit.runTasks( |
- 'oscillator-onended', |
- 'buffersource-onended', |
- 'finish' |
- ); |
- |
- succesfullyParsed = true; |
- </script> |
- </body> |
-</html> |