Index: components/test_runner/renderer/mock_video_capturer_source.cc |
diff --git a/components/test_runner/renderer/mock_video_capturer_source.cc b/components/test_runner/renderer/mock_video_capturer_source.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..5b4962f01efb79876f3f43b3c9eb324f17e30d79 |
--- /dev/null |
+++ b/components/test_runner/renderer/mock_video_capturer_source.cc |
@@ -0,0 +1,67 @@ |
+// Copyright 2015 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#include "components/test_runner/renderer/mock_video_capturer_source.h" |
+ |
+#if defined(ENABLE_WEBRTC) |
+ |
+#include "content/public/renderer/media_stream_api.h" |
+ |
+#else |
+ |
+#include "third_party/WebKit/public/platform/WebMediaStream.h" |
+#include "third_party/WebKit/public/platform/WebMediaStreamSource.h" |
+#include "third_party/WebKit/public/platform/WebMediaStreamTrack.h" |
+#include "third_party/WebKit/public/platform/WebString.h" |
+ |
+#endif |
+ |
+#if defined(ENABLE_WEBRTC) |
+ |
+namespace { |
+ |
+class MockVideoCapturerSource : public media::VideoCapturerSource { |
+ public: |
+ MockVideoCapturerSource() = default; |
+ ~MockVideoCapturerSource() override {} |
+ |
+ void GetCurrentSupportedFormats( |
+ int max_requested_width, |
+ int max_requested_height, |
+ double max_requested_frame_rate, |
+ const VideoCaptureDeviceFormatsCB& callback) override {} |
+ void StartCapture( |
+ const media::VideoCaptureParams& params, |
+ const VideoCaptureDeliverFrameCB& new_frame_callback, |
+ const RunningCallback& running_callback) override {} |
+ void StopCapture() override {} |
+}; |
+ |
+} // namespace anonymous |
+ |
+#endif |
+ |
+namespace test_runner { |
+ |
+void AddVideoTrackToMediaStream(blink::WebMediaStream* stream) { |
+#if defined(ENABLE_WEBRTC) |
+ content::AddVideoTrackToMediaStream( |
+ make_scoped_ptr(new MockVideoCapturerSource()), |
+ false /*is _remote */, |
+ true /* is_readonly */, |
+ stream); |
+#else |
+ blink::WebMediaStreamSource source; |
+ source.initialize("MockVideoDevice#1", |
+ blink::WebMediaStreamSource::TypeVideo, |
+ "Mock video device", |
+ false /* remote */, |
+ true /* readonly */); |
+ blink::WebMediaStreamTrack web_track; |
+ web_track.initialize(source); |
+ stream->addTrack(web_track); |
+#endif |
+} |
+ |
+} // namespace test_runner |