| Index: third_party/WebKit/Source/modules/mediacapturefromelement/CanvasCaptureMediaStreamTrack.cpp
|
| diff --git a/third_party/WebKit/Source/modules/mediacapturefromelement/CanvasCaptureMediaStreamTrack.cpp b/third_party/WebKit/Source/modules/mediacapturefromelement/CanvasCaptureMediaStreamTrack.cpp
|
| index 9d662a405b4e9de37c9628595363cee57b998c47..5e23dc85c48bbdf4836250ac6996c86cdeaf756e 100644
|
| --- a/third_party/WebKit/Source/modules/mediacapturefromelement/CanvasCaptureMediaStreamTrack.cpp
|
| +++ b/third_party/WebKit/Source/modules/mediacapturefromelement/CanvasCaptureMediaStreamTrack.cpp
|
| @@ -6,6 +6,7 @@
|
|
|
| #include "core/html/HTMLCanvasElement.h"
|
| #include "modules/mediacapturefromelement/AutoCanvasDrawListener.h"
|
| +#include "modules/mediacapturefromelement/OnRequestCanvasDrawListener.h"
|
| #include "modules/mediacapturefromelement/TimedCanvasDrawListener.h"
|
| #include "platform/NotImplemented.h"
|
| #include "platform/mediastream/MediaStreamCenter.h"
|
| @@ -29,8 +30,7 @@ HTMLCanvasElement* CanvasCaptureMediaStreamTrack::canvas() const
|
|
|
| void CanvasCaptureMediaStreamTrack::requestFrame()
|
| {
|
| - notImplemented();
|
| - return;
|
| + m_drawListener->requestFrame();
|
| }
|
|
|
| CanvasCaptureMediaStreamTrack* CanvasCaptureMediaStreamTrack::clone(ExecutionContext* context)
|
| @@ -71,10 +71,14 @@ CanvasCaptureMediaStreamTrack::CanvasCaptureMediaStreamTrack(MediaStreamComponen
|
| , m_canvasElement(element)
|
| {
|
| suspendIfNeeded();
|
| - TimedCanvasDrawListener* listener = TimedCanvasDrawListener::create(handler, frameRate);
|
| - m_drawListener = listener;
|
| + if (frameRate == 0) {
|
| + m_drawListener = OnRequestCanvasDrawListener::create(handler);
|
| + } else {
|
| + TimedCanvasDrawListener* listener = TimedCanvasDrawListener::create(handler, frameRate);
|
| + listener->requestNewFrame();
|
| + m_drawListener = listener;
|
| + }
|
| m_canvasElement->addListener(m_drawListener.get());
|
| - listener->requestNewFrame();
|
| }
|
|
|
| } // namespace blink
|
|
|