Commit 11da4de9 authored by Antonio Gomes's avatar Antonio Gomes Committed by Commit Bot

Move media_stream_remote_video_source_unittest.cc to Blink

This CL wraps up Onion souping of media_stream_remote_video_source.cc|h
that happened in [1], but was blocked on [2] - now fixed.

[1] https://crrev.com/c/1667727
[2] https://crrev.com/c/1816789

BUG=787254
R=guidou@chromium.org, haraken@chromium.org

hange-Id: I4b184a271b2b894d1b7d34e305a9fdf625404d9a
Change-Id: Ic48da9a50cbe8a369850b4eb70a7b5896b0a6b9e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1816795
Commit-Queue: Antonio Gomes <tonikitoo@igalia.com>
Reviewed-by: default avatarGuido Urdaneta <guidou@chromium.org>
Reviewed-by: default avatarKentaro Hara <haraken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#704877}
parent 9e773cc7
...@@ -1942,7 +1942,6 @@ test("content_unittests") { ...@@ -1942,7 +1942,6 @@ test("content_unittests") {
"../renderer/media/renderer_webaudiodevice_impl_unittest.cc", "../renderer/media/renderer_webaudiodevice_impl_unittest.cc",
"../renderer/media/webrtc/fake_rtc_rtp_transceiver.cc", "../renderer/media/webrtc/fake_rtc_rtp_transceiver.cc",
"../renderer/media/webrtc/fake_rtc_rtp_transceiver.h", "../renderer/media/webrtc/fake_rtc_rtp_transceiver.h",
"../renderer/media/webrtc/media_stream_remote_video_source_unittest.cc",
"../renderer/media/webrtc/media_stream_track_metrics_unittest.cc", "../renderer/media/webrtc/media_stream_track_metrics_unittest.cc",
"../renderer/media/webrtc/peer_connection_dependency_factory_unittest.cc", "../renderer/media/webrtc/peer_connection_dependency_factory_unittest.cc",
"../renderer/media/webrtc/peer_connection_tracker_unittest.cc", "../renderer/media/webrtc/peer_connection_tracker_unittest.cc",
......
...@@ -381,6 +381,7 @@ jumbo_source_set("unit_tests") { ...@@ -381,6 +381,7 @@ jumbo_source_set("unit_tests") {
"peerconnection/adapters/quic_packet_transport_adapter_test.cc", "peerconnection/adapters/quic_packet_transport_adapter_test.cc",
"peerconnection/byte_buffer_queue_test.cc", "peerconnection/byte_buffer_queue_test.cc",
"peerconnection/call_setup_state_tracker_unittest.cc", "peerconnection/call_setup_state_tracker_unittest.cc",
"peerconnection/media_stream_remote_video_source_test.cc",
"peerconnection/media_stream_video_webrtc_sink_test.cc", "peerconnection/media_stream_video_webrtc_sink_test.cc",
"peerconnection/rtc_data_channel_test.cc", "peerconnection/rtc_data_channel_test.cc",
"peerconnection/rtc_ice_transport_test.cc", "peerconnection/rtc_ice_transport_test.cc",
......
...@@ -23,5 +23,6 @@ include_rules = [ ...@@ -23,5 +23,6 @@ include_rules = [
specific_include_rules = { specific_include_rules = {
".*test\.cc" : [ ".*test\.cc" : [
"+base/run_loop.h", "+base/run_loop.h",
"+ui/gfx/color_space.h",
], ],
} }
...@@ -10,25 +10,22 @@ ...@@ -10,25 +10,22 @@
#include "base/bind.h" #include "base/bind.h"
#include "base/run_loop.h" #include "base/run_loop.h"
#include "base/single_thread_task_runner.h" #include "base/single_thread_task_runner.h"
#include "base/strings/utf_string_conversions.h"
#include "base/synchronization/waitable_event.h" #include "base/synchronization/waitable_event.h"
#include "base/test/task_environment.h"
#include "base/threading/thread_task_runner_handle.h"
#include "content/child/child_process.h"
#include "media/base/video_frame.h" #include "media/base/video_frame.h"
#include "testing/gtest/include/gtest/gtest.h" #include "testing/gtest/include/gtest/gtest.h"
#include "third_party/blink/public/mojom/mediastream/media_stream.mojom-shared.h" #include "third_party/blink/public/mojom/mediastream/media_stream.mojom-blink.h"
#include "third_party/blink/public/platform/modules/webrtc/track_observer.h" #include "third_party/blink/public/platform/modules/webrtc/track_observer.h"
#include "third_party/blink/public/platform/scheduler/test/renderer_scheduler_test_support.h" #include "third_party/blink/public/platform/scheduler/test/renderer_scheduler_test_support.h"
#include "third_party/blink/public/web/modules/mediastream/media_stream_video_track.h" #include "third_party/blink/public/web/modules/mediastream/media_stream_video_track.h"
#include "third_party/blink/public/web/modules/mediastream/mock_media_stream_video_sink.h" #include "third_party/blink/public/web/modules/mediastream/mock_media_stream_video_sink.h"
#include "third_party/blink/public/web/modules/peerconnection/mock_peer_connection_dependency_factory.h" #include "third_party/blink/public/web/modules/peerconnection/mock_peer_connection_dependency_factory.h"
#include "third_party/blink/public/web/web_heap.h" #include "third_party/blink/public/web/web_heap.h"
#include "third_party/blink/renderer/platform/testing/io_task_runner_testing_platform_support.h"
#include "third_party/webrtc/api/video/color_space.h" #include "third_party/webrtc/api/video/color_space.h"
#include "third_party/webrtc/api/video/i420_buffer.h" #include "third_party/webrtc/api/video/i420_buffer.h"
#include "ui/gfx/color_space.h" #include "ui/gfx/color_space.h"
namespace content { namespace blink {
ACTION_P(RunClosure, closure) { ACTION_P(RunClosure, closure) {
closure.Run(); closure.Run();
...@@ -44,13 +41,10 @@ class MediaStreamRemoteVideoSourceUnderTest ...@@ -44,13 +41,10 @@ class MediaStreamRemoteVideoSourceUnderTest
using MediaStreamRemoteVideoSource::StartSourceImpl; using MediaStreamRemoteVideoSource::StartSourceImpl;
}; };
class MediaStreamRemoteVideoSourceTest class MediaStreamRemoteVideoSourceTest : public ::testing::Test {
: public ::testing::Test {
public: public:
MediaStreamRemoteVideoSourceTest() MediaStreamRemoteVideoSourceTest()
: task_environment_(base::test::TaskEnvironment::MainThreadType::UI), : mock_factory_(new blink::MockPeerConnectionDependencyFactory()),
child_process_(new ChildProcess()),
mock_factory_(new blink::MockPeerConnectionDependencyFactory()),
webrtc_video_track_(blink::MockWebRtcVideoTrack::Create("test")), webrtc_video_track_(blink::MockWebRtcVideoTrack::Create("test")),
remote_source_(nullptr), remote_source_(nullptr),
number_of_successful_track_starts_(0), number_of_successful_track_starts_(0),
...@@ -83,22 +77,20 @@ class MediaStreamRemoteVideoSourceTest ...@@ -83,22 +77,20 @@ class MediaStreamRemoteVideoSourceTest
remote_source_ = remote_source_ =
new MediaStreamRemoteVideoSourceUnderTest(std::move(track_observer)); new MediaStreamRemoteVideoSourceUnderTest(std::move(track_observer));
webkit_source_.Initialize(blink::WebString::FromASCII("dummy_source_id"), web_source_.Initialize(blink::WebString::FromASCII("dummy_source_id"),
blink::WebMediaStreamSource::kTypeVideo, blink::WebMediaStreamSource::kTypeVideo,
blink::WebString::FromASCII("dummy_source_name"), blink::WebString::FromASCII("dummy_source_name"),
true /* remote */); true /* remote */);
webkit_source_.SetPlatformSource(base::WrapUnique(remote_source_)); web_source_.SetPlatformSource(base::WrapUnique(remote_source_));
} }
void TearDown() override { void TearDown() override {
remote_source_->OnSourceTerminated(); remote_source_->OnSourceTerminated();
webkit_source_.Reset(); web_source_.Reset();
blink::WebHeap::CollectAllGarbageForTesting(); blink::WebHeap::CollectAllGarbageForTesting();
} }
MediaStreamRemoteVideoSourceUnderTest* source() { MediaStreamRemoteVideoSourceUnderTest* source() { return remote_source_; }
return remote_source_;
}
blink::MediaStreamVideoTrack* CreateTrack() { blink::MediaStreamVideoTrack* CreateTrack() {
bool enabled = true; bool enabled = true;
...@@ -136,7 +128,7 @@ class MediaStreamRemoteVideoSourceTest ...@@ -136,7 +128,7 @@ class MediaStreamRemoteVideoSourceTest
} }
const blink::WebMediaStreamSource& webkit_source() const { const blink::WebMediaStreamSource& webkit_source() const {
return webkit_source_; return web_source_;
} }
private: private:
...@@ -150,13 +142,12 @@ class MediaStreamRemoteVideoSourceTest ...@@ -150,13 +142,12 @@ class MediaStreamRemoteVideoSourceTest
++number_of_failed_track_starts_; ++number_of_failed_track_starts_;
} }
base::test::TaskEnvironment task_environment_; ScopedTestingPlatformSupport<IOTaskRunnerTestingPlatformSupport> platform_;
std::unique_ptr<ChildProcess> child_process_;
std::unique_ptr<blink::MockPeerConnectionDependencyFactory> mock_factory_; std::unique_ptr<blink::MockPeerConnectionDependencyFactory> mock_factory_;
scoped_refptr<webrtc::VideoTrackInterface> webrtc_video_track_; scoped_refptr<webrtc::VideoTrackInterface> webrtc_video_track_;
// |remote_source_| is owned by |webkit_source_|. // |remote_source_| is owned by |web_source_|.
MediaStreamRemoteVideoSourceUnderTest* remote_source_; MediaStreamRemoteVideoSourceUnderTest* remote_source_;
blink::WebMediaStreamSource webkit_source_; blink::WebMediaStreamSource web_source_;
int number_of_successful_track_starts_; int number_of_successful_track_starts_;
int number_of_failed_track_starts_; int number_of_failed_track_starts_;
}; };
...@@ -240,4 +231,4 @@ TEST_F(MediaStreamRemoteVideoSourceTest, PreservesColorSpace) { ...@@ -240,4 +231,4 @@ TEST_F(MediaStreamRemoteVideoSourceTest, PreservesColorSpace) {
track->RemoveSink(&sink); track->RemoveSink(&sink);
} }
} // namespace content } // namespace blink
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment