Index: third_party/WebKit/LayoutTests/webaudio/AudioNode/audionode-connect-order.html |
diff --git a/third_party/WebKit/LayoutTests/webaudio/AudioNode/audionode-connect-order.html b/third_party/WebKit/LayoutTests/webaudio/AudioNode/audionode-connect-order.html |
index df700cd2db0334ad8f8d0d887d5e18f927f1f530..be0ff4ae054a383118c912c2c42860558f3285cd 100644 |
--- a/third_party/WebKit/LayoutTests/webaudio/AudioNode/audionode-connect-order.html |
+++ b/third_party/WebKit/LayoutTests/webaudio/AudioNode/audionode-connect-order.html |
@@ -1,74 +1,77 @@ |
<!DOCTYPE html> |
- |
<html> |
-<head> |
-<script src="../../resources/testharness.js"></script> |
-<script src="../../resources/testharnessreport.js"></script> |
-<script src="../resources/audit-util.js"></script> |
-<script src="../resources/audit.js"></script> |
-</head> |
- |
-<body> |
-<script> |
-let audit = Audit.createTaskRunner(); |
-let sampleRate = 44100.0; |
-let renderLengthSeconds = 0.125; |
-let delayTimeSeconds = 0.1; |
- |
-function createSinWaveBuffer(context, lengthInSeconds, frequency) { |
- let audioBuffer = |
- context.createBuffer(1, lengthInSeconds * sampleRate, sampleRate); |
- |
- let n = audioBuffer.length; |
- let data = audioBuffer.getChannelData(0); |
- |
- for (let i = 0; i < n; ++i) { |
- data[i] = Math.sin(frequency * 2 * Math.PI * i / sampleRate); |
- } |
- |
- return audioBuffer; |
-} |
- |
-audit.define({ |
- label: 'Test connections', |
- description: 'AudioNode connection order doesn\'t trigger assertion errors' |
-}, function(task, should) { |
- // Create offline audio context. |
- let context = |
- new OfflineAudioContext(1, sampleRate * renderLengthSeconds, sampleRate); |
- let toneBuffer = createSinWaveBuffer(context, renderLengthSeconds, 880); |
- |
- let bufferSource = context.createBufferSource(); |
- bufferSource.buffer = toneBuffer; |
- bufferSource.connect(context.destination); |
- |
- let delay = context.createDelay(); |
- delay.delayTime.value = delayTimeSeconds; |
- |
- // We connect delay node to gain node before anything is connected to delay |
- // node itself. We do this because we try to trigger the ASSERT which might |
- // be fired due to AudioNode connection order, especially when gain node and |
- // delay node is involved |
- // e.g. https://bugs.webkit.org/show_bug.cgi?id=76685. |
- |
- should(() => { |
- let gain = context.createGain(); |
- gain.connect(context.destination); |
- delay.connect(gain); |
- }, 'Connecting nodes').notThrow(); |
- |
- bufferSource.start(0); |
- |
- let promise = context.startRendering(); |
- |
- should(promise, 'OfflineContext startRendering()') |
- .beResolved() |
- .then(task.done.bind(task)); |
-}); |
- |
-audit.run(); |
- |
-</script> |
- |
-</body> |
+ <head> |
+ <title> |
+ audionode-connect-order.html |
+ </title> |
+ <script src="../../resources/testharness.js"></script> |
+ <script src="../../resources/testharnessreport.js"></script> |
+ <script src="../resources/audit-util.js"></script> |
+ <script src="../resources/audit.js"></script> |
+ </head> |
+ <body> |
+ <script id="layout-test-code"> |
+ let audit = Audit.createTaskRunner(); |
+ let sampleRate = 44100.0; |
+ let renderLengthSeconds = 0.125; |
+ let delayTimeSeconds = 0.1; |
+ |
+ function createSinWaveBuffer(context, lengthInSeconds, frequency) { |
+ let audioBuffer = |
+ context.createBuffer(1, lengthInSeconds * sampleRate, sampleRate); |
+ |
+ let n = audioBuffer.length; |
+ let data = audioBuffer.getChannelData(0); |
+ |
+ for (let i = 0; i < n; ++i) { |
+ data[i] = Math.sin(frequency * 2 * Math.PI * i / sampleRate); |
+ } |
+ |
+ return audioBuffer; |
+ } |
+ |
+ audit.define( |
+ { |
+ label: 'Test connections', |
+ description: |
+ 'AudioNode connection order doesn\'t trigger assertion errors' |
+ }, |
+ function(task, should) { |
+ // Create offline audio context. |
+ let context = new OfflineAudioContext( |
+ 1, sampleRate * renderLengthSeconds, sampleRate); |
+ let toneBuffer = |
+ createSinWaveBuffer(context, renderLengthSeconds, 880); |
+ |
+ let bufferSource = context.createBufferSource(); |
+ bufferSource.buffer = toneBuffer; |
+ bufferSource.connect(context.destination); |
+ |
+ let delay = context.createDelay(); |
+ delay.delayTime.value = delayTimeSeconds; |
+ |
+ // We connect delay node to gain node before anything is connected |
+ // to delay node itself. We do this because we try to trigger the |
+ // ASSERT which might be fired due to AudioNode connection order, |
+ // especially when gain node and delay node is involved e.g. |
+ // https://bugs.webkit.org/show_bug.cgi?id=76685. |
+ |
+ should(() => { |
+ let gain = context.createGain(); |
+ gain.connect(context.destination); |
+ delay.connect(gain); |
+ }, 'Connecting nodes').notThrow(); |
+ |
+ bufferSource.start(0); |
+ |
+ let promise = context.startRendering(); |
+ |
+ should(promise, 'OfflineContext startRendering()') |
+ .beResolved() |
+ .then(task.done.bind(task)); |
+ }); |
+ |
+ audit.run(); |
+ </script> |
+ </body> |
</html> |