Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(8)

Unified Diff: third_party/WebKit/Source/modules/mediacapturefromelement/HTMLCanvasElementCapture.cpp

Issue 1508023002: Add TimedCanvasDrawListener (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@spec-change
Patch Set: Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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..25cc6cbedeeb83620e037921e929c5befd24c5aa 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);
+}
+
+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));
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));
return MediaStream::create(element.executionContext(), tracks);
}

Powered by Google App Engine
This is Rietveld 408576698