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

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

Issue 1505013002: Create CanvasCaptureMediaStreamTrack in a regular MediaStream (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressed nits. 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 6b114fe34b0e286012a700f6820725cc9a9d0f95..d199fdfe2c4ac30f4bae66c9cfe3183b7e842770 100644
--- a/third_party/WebKit/Source/modules/mediacapturefromelement/HTMLCanvasElementCapture.cpp
+++ b/third_party/WebKit/Source/modules/mediacapturefromelement/HTMLCanvasElementCapture.cpp
@@ -7,7 +7,8 @@
#include "core/dom/ExceptionCode.h"
#include "core/html/HTMLCanvasElement.h"
-#include "modules/mediacapturefromelement/CanvasCaptureMediaStream.h"
+#include "modules/mediacapturefromelement/CanvasCaptureMediaStreamTrack.h"
+#include "modules/mediastream/MediaStream.h"
#include "public/platform/Platform.h"
#include "public/platform/WebCanvasCaptureHandler.h"
#include "public/platform/WebMediaStream.h"
@@ -19,25 +20,25 @@ const double kDefaultFrameRate = 60.0;
namespace blink {
-CanvasCaptureMediaStream* HTMLCanvasElementCapture::captureStream(HTMLCanvasElement& element, ExceptionState& exceptionState)
+MediaStream* HTMLCanvasElementCapture::captureStream(HTMLCanvasElement& element, ExceptionState& exceptionState)
{
- WebMediaStream stream;
- stream.initialize(WebVector<WebMediaStreamTrack>(), Vector<WebMediaStreamTrack>());
- WebSize size(element.width(), element.height());
-
if (!element.originClean()) {
exceptionState.throwDOMException(SecurityError, "Canvas is not origin-clean.");
- return CanvasCaptureMediaStream::create(stream, &element);
+ return MediaStream::create(element.executionContext());
}
- OwnPtr<WebCanvasCaptureHandler> handler = adoptPtr(Platform::current()->createCanvasCaptureHandler(size, kDefaultFrameRate, &stream));
+ WebMediaStreamTrack track;
+ WebSize size(element.width(), element.height());
+ OwnPtr<WebCanvasCaptureHandler> handler = adoptPtr(Platform::current()->createCanvasCaptureHandler(size, kDefaultFrameRate, &track));
ASSERT(handler);
if (!handler) {
exceptionState.throwDOMException(NotSupportedError, "No CanvasCapture handler can be created.");
- return CanvasCaptureMediaStream::create(stream, &element);
+ return MediaStream::create(element.executionContext());
}
- return CanvasCaptureMediaStream::create(stream, &element, handler.release());
+ MediaStreamTrackVector tracks;
+ tracks.append(CanvasCaptureMediaStreamTrack::create(track, &element, handler.release()));
+ return MediaStream::create(element.executionContext(), tracks);
}
} // namespace blink

Powered by Google App Engine
This is Rietveld 408576698