| Index: third_party/WebKit/Source/modules/webaudio/AudioWorkletGlobalScope.cpp
|
| diff --git a/third_party/WebKit/Source/modules/webaudio/AudioWorkletGlobalScope.cpp b/third_party/WebKit/Source/modules/webaudio/AudioWorkletGlobalScope.cpp
|
| index 3454e6be20ad83a57b6a811f4dd90f7121dbadb6..e23c918a47a3d031067d083be044e78e63ea96b4 100644
|
| --- a/third_party/WebKit/Source/modules/webaudio/AudioWorkletGlobalScope.cpp
|
| +++ b/third_party/WebKit/Source/modules/webaudio/AudioWorkletGlobalScope.cpp
|
| @@ -41,13 +41,6 @@ AudioWorkletGlobalScope::AudioWorkletGlobalScope(
|
|
|
| AudioWorkletGlobalScope::~AudioWorkletGlobalScope() {}
|
|
|
| -void AudioWorkletGlobalScope::Dispose() {
|
| - DCHECK(IsContextThread());
|
| - processor_definition_map_.clear();
|
| - processor_instances_.clear();
|
| - ThreadedWorkletGlobalScope::Dispose();
|
| -}
|
| -
|
| void AudioWorkletGlobalScope::registerProcessor(
|
| const String& name,
|
| const ScriptValue& class_definition,
|
| @@ -116,7 +109,9 @@ void AudioWorkletGlobalScope::registerProcessor(
|
| isolate, name, class_definition_local, process_function_local);
|
| DCHECK(definition);
|
|
|
| - processor_definition_map_.Set(name, definition);
|
| + processor_definition_map_.Set(
|
| + name,
|
| + TraceWrapperMember<AudioWorkletProcessorDefinition>(this, definition));
|
| }
|
|
|
| AudioWorkletProcessor* AudioWorkletGlobalScope::CreateInstance(
|
| @@ -141,7 +136,8 @@ AudioWorkletProcessor* AudioWorkletGlobalScope::CreateInstance(
|
| DCHECK(processor);
|
|
|
| processor->SetInstance(isolate, instance_local);
|
| - processor_instances_.push_back(processor);
|
| + processor_instances_.push_back(
|
| + TraceWrapperMember<AudioWorkletProcessor>(this, processor));
|
|
|
| return processor;
|
| }
|
| @@ -191,4 +187,14 @@ DEFINE_TRACE(AudioWorkletGlobalScope) {
|
| ThreadedWorkletGlobalScope::Trace(visitor);
|
| }
|
|
|
| +DEFINE_TRACE_WRAPPERS(AudioWorkletGlobalScope) {
|
| + for (auto definition : processor_definition_map_)
|
| + visitor->TraceWrappers(definition.value);
|
| +
|
| + for (auto processor : processor_instances_)
|
| + visitor->TraceWrappers(processor);
|
| +
|
| + ThreadedWorkletGlobalScope::TraceWrappers(visitor);
|
| +}
|
| +
|
| } // namespace blink
|
|
|