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

Side by Side Diff: third_party/WebKit/Source/modules/mediarecorder/MediaRecorder.h

Issue 2577053002: ActiveScriptWrappable: GC wrappers in detached ExecutionContexts. (Closed)
Patch Set: component build fix(msvc) Created 4 years 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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 MediaRecorder_h 5 #ifndef MediaRecorder_h
6 #define MediaRecorder_h 6 #define MediaRecorder_h
7 7
8 #include "bindings/core/v8/ActiveScriptWrappable.h" 8 #include "bindings/core/v8/ActiveScriptWrappable.h"
9 #include "core/dom/SuspendableObject.h" 9 #include "core/dom/SuspendableObject.h"
10 #include "core/events/EventTarget.h" 10 #include "core/events/EventTarget.h"
11 #include "modules/EventTargetModules.h" 11 #include "modules/EventTargetModules.h"
12 #include "modules/ModulesExport.h" 12 #include "modules/ModulesExport.h"
13 #include "modules/mediarecorder/MediaRecorderOptions.h" 13 #include "modules/mediarecorder/MediaRecorderOptions.h"
14 #include "modules/mediastream/MediaStream.h" 14 #include "modules/mediastream/MediaStream.h"
15 #include "platform/AsyncMethodRunner.h" 15 #include "platform/AsyncMethodRunner.h"
16 #include "public/platform/WebMediaRecorderHandler.h" 16 #include "public/platform/WebMediaRecorderHandler.h"
17 #include "public/platform/WebMediaRecorderHandlerClient.h" 17 #include "public/platform/WebMediaRecorderHandlerClient.h"
18 #include <memory> 18 #include <memory>
19 19
20 namespace blink { 20 namespace blink {
21 21
22 class Blob; 22 class Blob;
23 class BlobData; 23 class BlobData;
24 class ExceptionState; 24 class ExceptionState;
25 25
26 class MODULES_EXPORT MediaRecorder final : public EventTargetWithInlineData, 26 class MODULES_EXPORT MediaRecorder final
27 public WebMediaRecorderHandlerClient, 27 : public EventTargetWithInlineData,
28 public ActiveScriptWrappable, 28 public WebMediaRecorderHandlerClient,
29 public SuspendableObject { 29 public ActiveScriptWrappable<MediaRecorder>,
30 public SuspendableObject {
30 USING_GARBAGE_COLLECTED_MIXIN(MediaRecorder); 31 USING_GARBAGE_COLLECTED_MIXIN(MediaRecorder);
31 DEFINE_WRAPPERTYPEINFO(); 32 DEFINE_WRAPPERTYPEINFO();
32 33
33 public: 34 public:
34 enum class State { Inactive = 0, Recording, Paused }; 35 enum class State { Inactive = 0, Recording, Paused };
35 36
36 static MediaRecorder* create(ExecutionContext*, 37 static MediaRecorder* create(ExecutionContext*,
37 MediaStream*, 38 MediaStream*,
38 ExceptionState&); 39 ExceptionState&);
39 static MediaRecorder* create(ExecutionContext*, 40 static MediaRecorder* create(ExecutionContext*,
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
113 114
114 std::unique_ptr<WebMediaRecorderHandler> m_recorderHandler; 115 std::unique_ptr<WebMediaRecorderHandler> m_recorderHandler;
115 116
116 Member<AsyncMethodRunner<MediaRecorder>> m_dispatchScheduledEventRunner; 117 Member<AsyncMethodRunner<MediaRecorder>> m_dispatchScheduledEventRunner;
117 HeapVector<Member<Event>> m_scheduledEvents; 118 HeapVector<Member<Event>> m_scheduledEvents;
118 }; 119 };
119 120
120 } // namespace blink 121 } // namespace blink
121 122
122 #endif // MediaRecorder_h 123 #endif // MediaRecorder_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698