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 #include "modules/mediacapturefromelement/CanvasCaptureMediaStreamTrack.h" | 5 #include "modules/mediacapturefromelement/CanvasCaptureMediaStreamTrack.h" |
6 | 6 |
7 #include "core/html/HTMLCanvasElement.h" | 7 #include "core/html/HTMLCanvasElement.h" |
8 #include "modules/mediacapturefromelement/AutoCanvasDrawListener.h" | 8 #include "modules/mediacapturefromelement/AutoCanvasDrawListener.h" |
9 #include "modules/mediacapturefromelement/OnRequestCanvasDrawListener.h" | 9 #include "modules/mediacapturefromelement/OnRequestCanvasDrawListener.h" |
10 #include "modules/mediacapturefromelement/TimedCanvasDrawListener.h" | 10 #include "modules/mediacapturefromelement/TimedCanvasDrawListener.h" |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
46 visitor->trace(m_canvasElement); | 46 visitor->trace(m_canvasElement); |
47 visitor->trace(m_drawListener); | 47 visitor->trace(m_drawListener); |
48 MediaStreamTrack::trace(visitor); | 48 MediaStreamTrack::trace(visitor); |
49 } | 49 } |
50 | 50 |
51 CanvasCaptureMediaStreamTrack::CanvasCaptureMediaStreamTrack(const CanvasCapture
MediaStreamTrack& track, MediaStreamComponent* component) | 51 CanvasCaptureMediaStreamTrack::CanvasCaptureMediaStreamTrack(const CanvasCapture
MediaStreamTrack& track, MediaStreamComponent* component) |
52 :MediaStreamTrack(track.m_canvasElement->executionContext(), component) | 52 :MediaStreamTrack(track.m_canvasElement->executionContext(), component) |
53 , m_canvasElement(track.m_canvasElement) | 53 , m_canvasElement(track.m_canvasElement) |
54 , m_drawListener(track.m_drawListener) | 54 , m_drawListener(track.m_drawListener) |
55 { | 55 { |
56 suspendIfNeeded(); | |
57 m_canvasElement->addListener(m_drawListener.get()); | 56 m_canvasElement->addListener(m_drawListener.get()); |
58 } | 57 } |
59 | 58 |
60 CanvasCaptureMediaStreamTrack::CanvasCaptureMediaStreamTrack(MediaStreamComponen
t* component, PassRefPtrWillBeRawPtr<HTMLCanvasElement> element, const PassOwnPt
r<WebCanvasCaptureHandler> handler) | 59 CanvasCaptureMediaStreamTrack::CanvasCaptureMediaStreamTrack(MediaStreamComponen
t* component, PassRefPtrWillBeRawPtr<HTMLCanvasElement> element, const PassOwnPt
r<WebCanvasCaptureHandler> handler) |
61 : MediaStreamTrack(element->executionContext(), component) | 60 : MediaStreamTrack(element->executionContext(), component) |
62 , m_canvasElement(element) | 61 , m_canvasElement(element) |
63 { | 62 { |
64 suspendIfNeeded(); | |
65 m_drawListener = AutoCanvasDrawListener::create(handler); | 63 m_drawListener = AutoCanvasDrawListener::create(handler); |
66 m_canvasElement->addListener(m_drawListener.get()); | 64 m_canvasElement->addListener(m_drawListener.get()); |
67 } | 65 } |
68 | 66 |
69 CanvasCaptureMediaStreamTrack::CanvasCaptureMediaStreamTrack(MediaStreamComponen
t* component, PassRefPtrWillBeRawPtr<HTMLCanvasElement> element, const PassOwnPt
r<WebCanvasCaptureHandler> handler, double frameRate) | 67 CanvasCaptureMediaStreamTrack::CanvasCaptureMediaStreamTrack(MediaStreamComponen
t* component, PassRefPtrWillBeRawPtr<HTMLCanvasElement> element, const PassOwnPt
r<WebCanvasCaptureHandler> handler, double frameRate) |
70 : MediaStreamTrack(element->executionContext(), component) | 68 : MediaStreamTrack(element->executionContext(), component) |
71 , m_canvasElement(element) | 69 , m_canvasElement(element) |
72 { | 70 { |
73 suspendIfNeeded(); | |
74 if (frameRate == 0) { | 71 if (frameRate == 0) { |
75 m_drawListener = OnRequestCanvasDrawListener::create(handler); | 72 m_drawListener = OnRequestCanvasDrawListener::create(handler); |
76 } else { | 73 } else { |
77 m_drawListener = TimedCanvasDrawListener::create(handler, frameRate); | 74 m_drawListener = TimedCanvasDrawListener::create(handler, frameRate); |
78 } | 75 } |
79 m_canvasElement->addListener(m_drawListener.get()); | 76 m_canvasElement->addListener(m_drawListener.get()); |
80 } | 77 } |
81 | 78 |
82 } // namespace blink | 79 } // namespace blink |
OLD | NEW |