| 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 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 52 visitor->trace(m_drawListener); | 52 visitor->trace(m_drawListener); |
| 53 MediaStreamTrack::trace(visitor); | 53 MediaStreamTrack::trace(visitor); |
| 54 } | 54 } |
| 55 | 55 |
| 56 CanvasCaptureMediaStreamTrack::CanvasCaptureMediaStreamTrack( | 56 CanvasCaptureMediaStreamTrack::CanvasCaptureMediaStreamTrack( |
| 57 const CanvasCaptureMediaStreamTrack& track, | 57 const CanvasCaptureMediaStreamTrack& track, |
| 58 MediaStreamComponent* component) | 58 MediaStreamComponent* component) |
| 59 : MediaStreamTrack(track.m_canvasElement->getExecutionContext(), component), | 59 : MediaStreamTrack(track.m_canvasElement->getExecutionContext(), component), |
| 60 m_canvasElement(track.m_canvasElement), | 60 m_canvasElement(track.m_canvasElement), |
| 61 m_drawListener(track.m_drawListener) { | 61 m_drawListener(track.m_drawListener) { |
| 62 suspendIfNeeded(); | |
| 63 m_canvasElement->addListener(m_drawListener.get()); | 62 m_canvasElement->addListener(m_drawListener.get()); |
| 64 } | 63 } |
| 65 | 64 |
| 66 CanvasCaptureMediaStreamTrack::CanvasCaptureMediaStreamTrack( | 65 CanvasCaptureMediaStreamTrack::CanvasCaptureMediaStreamTrack( |
| 67 MediaStreamComponent* component, | 66 MediaStreamComponent* component, |
| 68 HTMLCanvasElement* element, | 67 HTMLCanvasElement* element, |
| 69 std::unique_ptr<WebCanvasCaptureHandler> handler) | 68 std::unique_ptr<WebCanvasCaptureHandler> handler) |
| 70 : MediaStreamTrack(element->getExecutionContext(), component), | 69 : MediaStreamTrack(element->getExecutionContext(), component), |
| 71 m_canvasElement(element) { | 70 m_canvasElement(element) { |
| 72 suspendIfNeeded(); | |
| 73 m_drawListener = AutoCanvasDrawListener::create(std::move(handler)); | 71 m_drawListener = AutoCanvasDrawListener::create(std::move(handler)); |
| 74 m_canvasElement->addListener(m_drawListener.get()); | 72 m_canvasElement->addListener(m_drawListener.get()); |
| 75 } | 73 } |
| 76 | 74 |
| 77 CanvasCaptureMediaStreamTrack::CanvasCaptureMediaStreamTrack( | 75 CanvasCaptureMediaStreamTrack::CanvasCaptureMediaStreamTrack( |
| 78 MediaStreamComponent* component, | 76 MediaStreamComponent* component, |
| 79 HTMLCanvasElement* element, | 77 HTMLCanvasElement* element, |
| 80 std::unique_ptr<WebCanvasCaptureHandler> handler, | 78 std::unique_ptr<WebCanvasCaptureHandler> handler, |
| 81 double frameRate) | 79 double frameRate) |
| 82 : MediaStreamTrack(element->getExecutionContext(), component), | 80 : MediaStreamTrack(element->getExecutionContext(), component), |
| 83 m_canvasElement(element) { | 81 m_canvasElement(element) { |
| 84 suspendIfNeeded(); | |
| 85 if (frameRate == 0) { | 82 if (frameRate == 0) { |
| 86 m_drawListener = OnRequestCanvasDrawListener::create(std::move(handler)); | 83 m_drawListener = OnRequestCanvasDrawListener::create(std::move(handler)); |
| 87 } else { | 84 } else { |
| 88 m_drawListener = | 85 m_drawListener = |
| 89 TimedCanvasDrawListener::create(std::move(handler), frameRate); | 86 TimedCanvasDrawListener::create(std::move(handler), frameRate); |
| 90 } | 87 } |
| 91 m_canvasElement->addListener(m_drawListener.get()); | 88 m_canvasElement->addListener(m_drawListener.get()); |
| 92 } | 89 } |
| 93 | 90 |
| 94 } // namespace blink | 91 } // namespace blink |
| OLD | NEW |