| OLD | NEW | 
|---|
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be | 
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. | 
| 4 | 4 | 
| 5 #ifndef AudioWorkletGlobalScope_h | 5 #ifndef AudioWorkletGlobalScope_h | 
| 6 #define AudioWorkletGlobalScope_h | 6 #define AudioWorkletGlobalScope_h | 
| 7 | 7 | 
| 8 #include "bindings/core/v8/ScriptValue.h" | 8 #include "bindings/core/v8/ScriptValue.h" | 
| 9 #include "core/dom/ExecutionContext.h" | 9 #include "core/dom/ExecutionContext.h" | 
| 10 #include "core/workers/ThreadedWorkletGlobalScope.h" | 10 #include "core/workers/ThreadedWorkletGlobalScope.h" | 
| 11 #include "modules/ModulesExport.h" | 11 #include "modules/ModulesExport.h" | 
| 12 #include "platform/bindings/ScriptWrappable.h" | 12 #include "platform/bindings/ScriptWrappable.h" | 
|  | 13 #include "platform/audio/AudioArray.h" | 
| 13 | 14 | 
| 14 namespace blink { | 15 namespace blink { | 
| 15 | 16 | 
| 16 class AudioBuffer; | 17 class AudioBuffer; | 
| 17 class AudioWorkletProcessor; | 18 class AudioWorkletProcessor; | 
| 18 class AudioWorkletProcessorDefinition; | 19 class AudioWorkletProcessorDefinition; | 
| 19 class ExceptionState; | 20 class ExceptionState; | 
| 20 | 21 | 
| 21 // This is constructed and destroyed on a worker thread, and all methods also | 22 // This is constructed and destroyed on a worker thread, and all methods also | 
| 22 // must be called on the worker thread. | 23 // must be called on the worker thread. | 
| (...skipping 16 matching lines...) Expand all  Loading... | 
| 39 | 40 | 
| 40   // Creates an instance of AudioWorkletProcessor from a registered name. This | 41   // Creates an instance of AudioWorkletProcessor from a registered name. This | 
| 41   // function may return nullptr when 1) a definition cannot be found or 2) a | 42   // function may return nullptr when 1) a definition cannot be found or 2) a | 
| 42   // new V8 object cannot be constructed for some reason. | 43   // new V8 object cannot be constructed for some reason. | 
| 43   AudioWorkletProcessor* CreateInstance(const String& name); | 44   AudioWorkletProcessor* CreateInstance(const String& name); | 
| 44 | 45 | 
| 45   // Invokes the JS audio processing function from an instance of | 46   // Invokes the JS audio processing function from an instance of | 
| 46   // AudioWorkletProcessor, along with given AudioBuffer from the audio graph. | 47   // AudioWorkletProcessor, along with given AudioBuffer from the audio graph. | 
| 47   bool Process(AudioWorkletProcessor*, | 48   bool Process(AudioWorkletProcessor*, | 
| 48                AudioBuffer* input_buffer, | 49                AudioBuffer* input_buffer, | 
| 49                AudioBuffer* output_buffer); | 50                AudioBuffer* output_buffer, | 
|  | 51                HashMap<String, AudioFloatArray*> audio_param_data_map); | 
| 50 | 52 | 
| 51   AudioWorkletProcessorDefinition* FindDefinition(const String& name); | 53   AudioWorkletProcessorDefinition* FindDefinition(const String& name); | 
| 52 | 54 | 
| 53   DECLARE_TRACE(); | 55   DECLARE_TRACE(); | 
| 54   DECLARE_TRACE_WRAPPERS(); | 56   DECLARE_TRACE_WRAPPERS(); | 
| 55 | 57 | 
| 56  private: | 58  private: | 
| 57   AudioWorkletGlobalScope(const KURL&, | 59   AudioWorkletGlobalScope(const KURL&, | 
| 58                           const String& user_agent, | 60                           const String& user_agent, | 
| 59                           PassRefPtr<SecurityOrigin>, | 61                           PassRefPtr<SecurityOrigin>, | 
| 60                           v8::Isolate*, | 62                           v8::Isolate*, | 
| 61                           WorkerThread*, | 63                           WorkerThread*, | 
| 62                           WorkerClients*); | 64                           WorkerClients*); | 
| 63 | 65 | 
| 64   typedef HeapHashMap<String, | 66   typedef HeapHashMap<String, | 
| 65                       TraceWrapperMember<AudioWorkletProcessorDefinition>> | 67                       TraceWrapperMember<AudioWorkletProcessorDefinition>> | 
| 66       ProcessorDefinitionMap; | 68       ProcessorDefinitionMap; | 
| 67   typedef HeapVector<TraceWrapperMember<AudioWorkletProcessor>> | 69   typedef HeapVector<TraceWrapperMember<AudioWorkletProcessor>> | 
| 68       ProcessorInstances; | 70       ProcessorInstances; | 
| 69 | 71 | 
| 70   ProcessorDefinitionMap processor_definition_map_; | 72   ProcessorDefinitionMap processor_definition_map_; | 
| 71   ProcessorInstances processor_instances_; | 73   ProcessorInstances processor_instances_; | 
| 72 }; | 74 }; | 
| 73 | 75 | 
|  | 76 DEFINE_TYPE_CASTS(AudioWorkletGlobalScope, | 
|  | 77                   ExecutionContext, | 
|  | 78                   context, | 
|  | 79                   context->IsAudioWorkletGlobalScope(), | 
|  | 80                   context.IsAudioWorkletGlobalScope()); | 
|  | 81 | 
| 74 }  // namespace blink | 82 }  // namespace blink | 
| 75 | 83 | 
| 76 #endif  // AudioWorkletGlobalScope_h | 84 #endif  // AudioWorkletGlobalScope_h | 
| OLD | NEW | 
|---|