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

Side by Side Diff: content/renderer/media/media_stream_video_capture_source_unittest.cc

Issue 391703002: Implement ConstraintNotSatisfiedError for getusermedia (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase and change the reviewers list Created 6 years, 4 months 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "base/bind.h" 5 #include "base/bind.h"
6 #include "base/callback_helpers.h" 6 #include "base/callback_helpers.h"
7 #include "base/message_loop/message_loop.h" 7 #include "base/message_loop/message_loop.h"
8 #include "base/run_loop.h" 8 #include "base/run_loop.h"
9 #include "base/strings/utf_string_conversions.h" 9 #include "base/strings/utf_string_conversions.h"
10 #include "content/child/child_process.h" 10 #include "content/child/child_process.h"
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
70 MockVideoCapturerDelegate& mock_delegate() { 70 MockVideoCapturerDelegate& mock_delegate() {
71 return *static_cast<MockVideoCapturerDelegate*>(delegate_.get()); 71 return *static_cast<MockVideoCapturerDelegate*>(delegate_.get());
72 } 72 }
73 73
74 void OnSourceStopped(const blink::WebMediaStreamSource& source) { 74 void OnSourceStopped(const blink::WebMediaStreamSource& source) {
75 source_stopped_ = true; 75 source_stopped_ = true;
76 EXPECT_EQ(source.id(), webkit_source_.id()); 76 EXPECT_EQ(source.id(), webkit_source_.id());
77 } 77 }
78 78
79 protected: 79 protected:
80 void OnConstraintsApplied(MediaStreamSource* source, bool success) { 80 void OnConstraintsApplied(MediaStreamSource* source,
81 MediaStreamRequestResult result,
82 const blink::WebString& result_name) {
81 } 83 }
82 84
83 base::MessageLoopForUI message_loop_; 85 base::MessageLoopForUI message_loop_;
84 scoped_ptr<ChildProcess> child_process_; 86 scoped_ptr<ChildProcess> child_process_;
85 blink::WebMediaStreamSource webkit_source_; 87 blink::WebMediaStreamSource webkit_source_;
86 MediaStreamVideoCapturerSource* source_; // owned by webkit_source. 88 MediaStreamVideoCapturerSource* source_; // owned by webkit_source.
87 scoped_refptr<VideoCapturerDelegate> delegate_; 89 scoped_refptr<VideoCapturerDelegate> delegate_;
88 bool source_stopped_; 90 bool source_stopped_;
89 }; 91 };
90 92
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
177 179
178 EXPECT_CALL(mock_delegate(), StartCapture( 180 EXPECT_CALL(mock_delegate(), StartCapture(
179 testing::_, 181 testing::_,
180 testing::_, 182 testing::_,
181 testing::_)) 183 testing::_))
182 .Times(1) 184 .Times(1)
183 .WillOnce(testing::DoAll(testing::SaveArg<1>(&deliver_frame_cb), 185 .WillOnce(testing::DoAll(testing::SaveArg<1>(&deliver_frame_cb),
184 testing::SaveArg<2>(&running_cb))); 186 testing::SaveArg<2>(&running_cb)));
185 EXPECT_CALL(mock_delegate(), StopCapture()); 187 EXPECT_CALL(mock_delegate(), StopCapture());
186 blink::WebMediaStreamTrack track = StartSource(); 188 blink::WebMediaStreamTrack track = StartSource();
187 running_cb.Run(true); 189 running_cb.Run(MEDIA_DEVICE_OK);
188 190
189 base::RunLoop run_loop; 191 base::RunLoop run_loop;
190 base::TimeTicks reference_capture_time = 192 base::TimeTicks reference_capture_time =
191 base::TimeTicks::FromInternalValue(60013); 193 base::TimeTicks::FromInternalValue(60013);
192 base::TimeTicks capture_time; 194 base::TimeTicks capture_time;
193 FakeMediaStreamVideoSink fake_sink( 195 FakeMediaStreamVideoSink fake_sink(
194 &capture_time, 196 &capture_time,
195 media::BindToCurrentLoop(run_loop.QuitClosure())); 197 media::BindToCurrentLoop(run_loop.QuitClosure()));
196 FakeMediaStreamVideoSink::AddToVideoTrack( 198 FakeMediaStreamVideoSink::AddToVideoTrack(
197 &fake_sink, 199 &fake_sink,
198 base::Bind(&FakeMediaStreamVideoSink::OnVideoFrame, 200 base::Bind(&FakeMediaStreamVideoSink::OnVideoFrame,
199 base::Unretained(&fake_sink)), 201 base::Unretained(&fake_sink)),
200 track); 202 track);
201 child_process_->io_message_loop()->PostTask( 203 child_process_->io_message_loop()->PostTask(
202 FROM_HERE, 204 FROM_HERE,
203 base::Bind(deliver_frame_cb, 205 base::Bind(deliver_frame_cb,
204 media::VideoFrame::CreateBlackFrame(gfx::Size(2, 2)), 206 media::VideoFrame::CreateBlackFrame(gfx::Size(2, 2)),
205 media::VideoCaptureFormat(), 207 media::VideoCaptureFormat(),
206 reference_capture_time)); 208 reference_capture_time));
207 run_loop.Run(); 209 run_loop.Run();
208 FakeMediaStreamVideoSink::RemoveFromVideoTrack(&fake_sink, track); 210 FakeMediaStreamVideoSink::RemoveFromVideoTrack(&fake_sink, track);
209 EXPECT_EQ(reference_capture_time, capture_time); 211 EXPECT_EQ(reference_capture_time, capture_time);
210 } 212 }
211 213
212 } // namespace content 214 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/media/media_stream_source.h ('k') | content/renderer/media/media_stream_video_capturer_source.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698