OLD | NEW |
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 CanvasCaptureMediaStreamTrack_h | 5 #ifndef CanvasCaptureMediaStreamTrack_h |
6 #define CanvasCaptureMediaStreamTrack_h | 6 #define CanvasCaptureMediaStreamTrack_h |
7 | 7 |
8 #include "core/html/canvas/CanvasDrawListener.h" | 8 #include "core/html/canvas/CanvasDrawListener.h" |
9 #include "modules/mediastream/MediaStreamTrack.h" | 9 #include "modules/mediastream/MediaStreamTrack.h" |
10 #include "platform/heap/Handle.h" | 10 #include "platform/heap/Handle.h" |
| 11 #include <memory> |
11 | 12 |
12 namespace blink { | 13 namespace blink { |
13 | 14 |
14 class HTMLCanvasElement; | 15 class HTMLCanvasElement; |
15 class WebCanvasCaptureHandler; | 16 class WebCanvasCaptureHandler; |
16 | 17 |
17 class CanvasCaptureMediaStreamTrack final : public MediaStreamTrack { | 18 class CanvasCaptureMediaStreamTrack final : public MediaStreamTrack { |
18 DEFINE_WRAPPERTYPEINFO(); | 19 DEFINE_WRAPPERTYPEINFO(); |
19 public: | 20 public: |
20 static CanvasCaptureMediaStreamTrack* create(MediaStreamComponent*, HTMLCanv
asElement*, PassOwnPtr<WebCanvasCaptureHandler>); | 21 static CanvasCaptureMediaStreamTrack* create(MediaStreamComponent*, HTMLCanv
asElement*, std::unique_ptr<WebCanvasCaptureHandler>); |
21 static CanvasCaptureMediaStreamTrack* create(MediaStreamComponent*, HTMLCanv
asElement*, PassOwnPtr<WebCanvasCaptureHandler>, double frameRate); | 22 static CanvasCaptureMediaStreamTrack* create(MediaStreamComponent*, HTMLCanv
asElement*, std::unique_ptr<WebCanvasCaptureHandler>, double frameRate); |
22 | 23 |
23 HTMLCanvasElement* canvas() const; | 24 HTMLCanvasElement* canvas() const; |
24 void requestFrame(); | 25 void requestFrame(); |
25 | 26 |
26 CanvasCaptureMediaStreamTrack* clone(ExecutionContext*) override; | 27 CanvasCaptureMediaStreamTrack* clone(ExecutionContext*) override; |
27 | 28 |
28 DECLARE_VIRTUAL_TRACE(); | 29 DECLARE_VIRTUAL_TRACE(); |
29 | 30 |
30 private: | 31 private: |
31 CanvasCaptureMediaStreamTrack(const CanvasCaptureMediaStreamTrack&, MediaStr
eamComponent*); | 32 CanvasCaptureMediaStreamTrack(const CanvasCaptureMediaStreamTrack&, MediaStr
eamComponent*); |
32 CanvasCaptureMediaStreamTrack(MediaStreamComponent*, HTMLCanvasElement*, Pas
sOwnPtr<WebCanvasCaptureHandler>); | 33 CanvasCaptureMediaStreamTrack(MediaStreamComponent*, HTMLCanvasElement*, std
::unique_ptr<WebCanvasCaptureHandler>); |
33 CanvasCaptureMediaStreamTrack(MediaStreamComponent*, HTMLCanvasElement*, Pas
sOwnPtr<WebCanvasCaptureHandler>, double frameRate); | 34 CanvasCaptureMediaStreamTrack(MediaStreamComponent*, HTMLCanvasElement*, std
::unique_ptr<WebCanvasCaptureHandler>, double frameRate); |
34 | 35 |
35 Member<HTMLCanvasElement> m_canvasElement; | 36 Member<HTMLCanvasElement> m_canvasElement; |
36 Member<CanvasDrawListener> m_drawListener; | 37 Member<CanvasDrawListener> m_drawListener; |
37 }; | 38 }; |
38 | 39 |
39 } // namespace blink | 40 } // namespace blink |
40 | 41 |
41 #endif | 42 #endif |
OLD | NEW |