Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(46)

Side by Side Diff: third_party/WebKit/Source/modules/webaudio/AudioWorkletGlobalScope.h

Issue 2727733002: Implement AudioWorkletProcessor interface (Closed)
Patch Set: Addressing feedback Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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"
9 #include "core/dom/ExecutionContext.h"
8 #include "core/workers/ThreadedWorkletGlobalScope.h" 10 #include "core/workers/ThreadedWorkletGlobalScope.h"
11 #include "modules/ModulesExport.h"
9 12
10 namespace blink { 13 namespace blink {
11 14
12 class AudioWorkletGlobalScope final : public ThreadedWorkletGlobalScope { 15 class ExceptionState;
16 class AudioWorkletProcessorDefinition;
17
18 // This is constructed and destroyed on a worker thread, and all methods also
19 // must be called on the worker thread.
20 class MODULES_EXPORT AudioWorkletGlobalScope final
21 : public ThreadedWorkletGlobalScope {
13 DEFINE_WRAPPERTYPEINFO(); 22 DEFINE_WRAPPERTYPEINFO();
14 23
15 public: 24 public:
16 static AudioWorkletGlobalScope* create(const KURL&, 25 static AudioWorkletGlobalScope* create(const KURL&,
17 const String& userAgent, 26 const String& userAgent,
18 PassRefPtr<SecurityOrigin>, 27 PassRefPtr<SecurityOrigin>,
19 v8::Isolate*, 28 v8::Isolate*,
20 WorkerThread*); 29 WorkerThread*);
21 ~AudioWorkletGlobalScope() override; 30 ~AudioWorkletGlobalScope() override;
31 void dispose() final;
32 bool isAudioWorkletGlobalScope() const final { return true; }
33 AudioWorkletProcessorDefinition* findDefinition(const String& name);
34 void registerProcessor(ScriptState*,
35 const String& name,
36 const ScriptValue& constructor,
37 ExceptionState&);
38
39 DECLARE_TRACE();
22 40
23 private: 41 private:
24 AudioWorkletGlobalScope(const KURL&, 42 AudioWorkletGlobalScope(const KURL&,
25 const String& userAgent, 43 const String& userAgent,
26 PassRefPtr<SecurityOrigin>, 44 PassRefPtr<SecurityOrigin>,
27 v8::Isolate*, 45 v8::Isolate*,
28 WorkerThread*); 46 WorkerThread*);
47
48 typedef HeapHashMap<String, Member<AudioWorkletProcessorDefinition>>
49 ProcessorDefinitionMap;
50 ProcessorDefinitionMap m_processorDefinitionMap;
29 }; 51 };
30 52
31 } // namespace blink 53 } // namespace blink
32 54
33 #endif // AudioWorkletGlobalScope_h 55 #endif // AudioWorkletGlobalScope_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698