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

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: Rebase. 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..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);
}

Powered by Google App Engine
This is Rietveld 408576698