Chromium Code Reviews| Index: third_party/WebKit/Source/modules/mediacapturefromelement/HTMLCanvasElementCapture.cpp |
| diff --git a/third_party/WebKit/Source/modules/mediacapturefromelement/HTMLCanvasElementCapture.cpp b/third_party/WebKit/Source/modules/mediacapturefromelement/HTMLCanvasElementCapture.cpp |
| index d199fdfe2c4ac30f4bae66c9cfe3183b7e842770..1c3a896c879f47679534d7fc2d605a7fabaa837b 100644 |
| --- a/third_party/WebKit/Source/modules/mediacapturefromelement/HTMLCanvasElementCapture.cpp |
| +++ b/third_party/WebKit/Source/modules/mediacapturefromelement/HTMLCanvasElementCapture.cpp |
| @@ -22,6 +22,16 @@ namespace blink { |
| MediaStream* HTMLCanvasElementCapture::captureStream(HTMLCanvasElement& element, ExceptionState& exceptionState) |
| { |
| + return HTMLCanvasElementCapture::captureStream(element, false, kDefaultFrameRate, exceptionState); |
|
esprehn
2015/12/15 23:58:01
Hmmm that bool seems like it should be an enum, it
emircan
2015/12/16 15:36:21
I am adding "if (givenFrameRate)" cases to avoid c
|
| +} |
| + |
| +MediaStream* HTMLCanvasElementCapture::captureStream(HTMLCanvasElement& element, double frameRate, ExceptionState& exceptionState) |
| +{ |
| + return HTMLCanvasElementCapture::captureStream(element, true, frameRate, exceptionState); |
| +} |
| + |
| +MediaStream* HTMLCanvasElementCapture::captureStream(HTMLCanvasElement& element, bool givenFrameRate, double frameRate, ExceptionState& exceptionState) |
| +{ |
| if (!element.originClean()) { |
| exceptionState.throwDOMException(SecurityError, "Canvas is not origin-clean."); |
| return MediaStream::create(element.executionContext()); |
| @@ -29,7 +39,7 @@ MediaStream* HTMLCanvasElementCapture::captureStream(HTMLCanvasElement& element, |
| WebMediaStreamTrack track; |
| WebSize size(element.width(), element.height()); |
| - OwnPtr<WebCanvasCaptureHandler> handler = adoptPtr(Platform::current()->createCanvasCaptureHandler(size, kDefaultFrameRate, &track)); |
| + OwnPtr<WebCanvasCaptureHandler> handler = adoptPtr(Platform::current()->createCanvasCaptureHandler(size, frameRate, &track)); |
|
esprehn
2015/12/15 23:58:01
you pass frameRate here even if givenFrameRate is
emircan
2015/12/16 15:36:21
This is some confusing part, more related to Video
|
| ASSERT(handler); |
| if (!handler) { |
| exceptionState.throwDOMException(NotSupportedError, "No CanvasCapture handler can be created."); |
| @@ -37,7 +47,7 @@ MediaStream* HTMLCanvasElementCapture::captureStream(HTMLCanvasElement& element, |
| } |
| MediaStreamTrackVector tracks; |
| - tracks.append(CanvasCaptureMediaStreamTrack::create(track, &element, handler.release())); |
| + tracks.append(CanvasCaptureMediaStreamTrack::create(track, &element, handler.release(), givenFrameRate, frameRate)); |
|
esprehn
2015/12/15 23:58:01
Split this method into two methods, one for frameR
emircan
2015/12/16 15:36:21
Done.
|
| return MediaStream::create(element.executionContext(), tracks); |
| } |