Implements AudioWorkletNode

Desktop / Chromium - Hongchan Choi [chromium.org] - 11 October 2017 23:23 EDT

- Intent to implement: https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/fBfWECEGZa8/Jr_3UDsCAQAJ- Spec: https://webaudio.github.io/web-audio-api/#AudioWorklet

This CL implements:- The interface of AudioWorkletNode and AudioWorkletProcessor (AudioWorkletNode, AudioWorkletProcessor)- The infrastructure for AWN's functionality (AudioWorklet, AudioWorkletMessagingProxy, AudioWorkletGlobalScope)- Basic layout tests (IDL harness test, node construction)

AudioWorkletNode will be exposed in the global scope with the command line options: "--enable-blink-features=Worklet,AudioWorklet"


Bug: 691782 Change-Id: Id5680e9e9c8814dc68120719d5db5b4e0fcddeab Reviewed-on: https://chromium-review.googlesource.com/604709 Commit-Queue: Hongchan Choi

2985efc5 Implements AudioWorkletNode
.../webaudio/audio-worklet/audio-worklet-common.js | 18 ++
.../audio-worklet/audio-worklet-gain-node.html | 86 +++++++
.../audio-worklet/audio-worklet-node-options.html | 151 +++++++++++
.../webaudio/audio-worklet/audio-worklet-node.html | 53 ++++
.../webaudio/audio-worklet/dummy-processor.js | 18 ++
.../tests/webaudio/audio-worklet/gain-processor.js | 33 +++
.../audio-worklet/window-audio-worklet.html | 46 ++++
.../audio-worklet-node-idl-expected.txt | 14 ++
.../audio-worklet/audio-worklet-node-idl.html | 38 +++
.../webaudio/audioworklet/audioworklet-testing.js | 19 --
.../webaudio/audioworklet/window-audioworklet.html | 45 ----
.../global-interface-listing-expected.txt | 3 +
.../WebKit/Source/modules/modules_idl_files.gni | 3 +
.../Source/modules/webaudio/AudioWorklet.cpp | 2 +-
.../modules/webaudio/AudioWorkletGlobalScope.cpp | 127 ++++++++--
.../modules/webaudio/AudioWorkletGlobalScope.h | 20 +-
.../modules/webaudio/AudioWorkletGlobalScope.idl | 2 +
.../webaudio/AudioWorkletGlobalScopeTest.cpp | 56 ++---
.../webaudio/AudioWorkletMessagingProxy.cpp | 35 ++-
.../modules/webaudio/AudioWorkletMessagingProxy.h | 12 +
.../Source/modules/webaudio/AudioWorkletNode.cpp | 275 +++++++++++++++++++++
.../Source/modules/webaudio/AudioWorkletNode.h | 107 ++++++++
.../Source/modules/webaudio/AudioWorkletNode.idl | 20 ++
.../modules/webaudio/AudioWorkletNodeOptions.idl | 11 +
.../modules/webaudio/AudioWorkletProcessor.cpp | 15 +-
.../modules/webaudio/AudioWorkletProcessor.h | 17 +-
.../modules/webaudio/AudioWorkletProcessor.idl | 6 +-
.../WebKit/Source/modules/webaudio/BUILD.gn | 2 +
.../Source/modules/webaudio/BaseAudioContext.cpp | 9 +-
.../Source/modules/webaudio/BaseAudioContext.h | 3 +-
.../webaudio/DefaultAudioDestinationNode.cpp | 2 +-
.../webaudio/OfflineAudioDestinationNode.cpp | 4 +-
.../webkitpy/layout_tests/servers/apache_http.py | 2 +
33 files changed, 1121 insertions(+), 133 deletions(-)

Upstream: git.chromium.org


  • Share