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

Side by Side Diff: components/test_runner/mock_web_user_media_client.cc

Issue 1371373002: Extend components/test_runner's generated WebMediaStream to have a ChromeMock VideoTrack and Source (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 2 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 "components/test_runner/mock_web_user_media_client.h" 5 #include "components/test_runner/mock_web_user_media_client.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "base/macros.h" 8 #include "base/macros.h"
9 #include "components/test_runner/mock_constraints.h" 9 #include "components/test_runner/mock_constraints.h"
10 #include "components/test_runner/renderer/mock_video_capturer_source.h"
10 #include "components/test_runner/web_test_delegate.h" 11 #include "components/test_runner/web_test_delegate.h"
11 #include "third_party/WebKit/public/platform/WebMediaConstraints.h" 12 #include "third_party/WebKit/public/platform/WebMediaConstraints.h"
12 #include "third_party/WebKit/public/platform/WebMediaDeviceInfo.h" 13 #include "third_party/WebKit/public/platform/WebMediaDeviceInfo.h"
13 #include "third_party/WebKit/public/platform/WebMediaStream.h" 14 #include "third_party/WebKit/public/platform/WebMediaStream.h"
14 #include "third_party/WebKit/public/platform/WebMediaStreamSource.h" 15 #include "third_party/WebKit/public/platform/WebMediaStreamSource.h"
15 #include "third_party/WebKit/public/platform/WebMediaStreamTrack.h" 16 #include "third_party/WebKit/public/platform/WebMediaStreamTrack.h"
16 #include "third_party/WebKit/public/platform/WebMediaStreamTrackSourcesRequest.h " 17 #include "third_party/WebKit/public/platform/WebMediaStreamTrackSourcesRequest.h "
17 #include "third_party/WebKit/public/platform/WebSourceInfo.h" 18 #include "third_party/WebKit/public/platform/WebSourceInfo.h"
18 #include "third_party/WebKit/public/platform/WebVector.h" 19 #include "third_party/WebKit/public/platform/WebVector.h"
19 #include "third_party/WebKit/public/web/WebDocument.h" 20 #include "third_party/WebKit/public/web/WebDocument.h"
20 #include "third_party/WebKit/public/web/WebMediaDevicesRequest.h" 21 #include "third_party/WebKit/public/web/WebMediaDevicesRequest.h"
21 #include "third_party/WebKit/public/web/WebMediaStreamRegistry.h"
22 #include "third_party/WebKit/public/web/WebUserMediaRequest.h" 22 #include "third_party/WebKit/public/web/WebUserMediaRequest.h"
23 23
24 using blink::WebMediaConstraints; 24 using blink::WebMediaConstraints;
25 using blink::WebMediaDeviceInfo; 25 using blink::WebMediaDeviceInfo;
26 using blink::WebMediaDevicesRequest; 26 using blink::WebMediaDevicesRequest;
27 using blink::WebMediaStream; 27 using blink::WebMediaStream;
28 using blink::WebMediaStreamSource; 28 using blink::WebMediaStreamSource;
29 using blink::WebMediaStreamTrack; 29 using blink::WebMediaStreamTrack;
30 using blink::WebMediaStreamTrackSourcesRequest; 30 using blink::WebMediaStreamTrackSourcesRequest;
31 using blink::WebSourceInfo; 31 using blink::WebSourceInfo;
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
119 119
120 void RunIfValid() override { request_.requestSucceeded(result_); } 120 void RunIfValid() override { request_.requestSucceeded(result_); }
121 121
122 private: 122 private:
123 WebMediaStreamTrackSourcesRequest request_; 123 WebMediaStreamTrackSourcesRequest request_;
124 WebVector<WebSourceInfo> result_; 124 WebVector<WebSourceInfo> result_;
125 125
126 DISALLOW_COPY_AND_ASSIGN(SourcesRequestTask); 126 DISALLOW_COPY_AND_ASSIGN(SourcesRequestTask);
127 }; 127 };
128 128
129 class MockExtraData : public WebMediaStream::ExtraData { 129 class MockStreamExtraData : public WebMediaStream::ExtraData {
130 public: 130 public:
131 int foo; 131 int foo;
132 }; 132 };
133 133
134 MockWebUserMediaClient::MockWebUserMediaClient(WebTestDelegate* delegate) 134 MockWebUserMediaClient::MockWebUserMediaClient(WebTestDelegate* delegate)
135 : delegate_(delegate) {} 135 : delegate_(delegate) {}
136 136
137 void MockWebUserMediaClient::requestUserMedia( 137 void MockWebUserMediaClient::requestUserMedia(
138 const WebUserMediaRequest& stream_request) { 138 const WebUserMediaRequest& stream_request) {
139 DCHECK(!stream_request.isNull()); 139 DCHECK(!stream_request.isNull());
(...skipping 17 matching lines...) Expand all
157 if (!constraints.isNull() && 157 if (!constraints.isNull() &&
158 !MockConstraints::VerifyConstraints(constraints, &failed_constraint)) { 158 !MockConstraints::VerifyConstraints(constraints, &failed_constraint)) {
159 delegate_->PostTask(new UserMediaRequestConstraintFailedTask( 159 delegate_->PostTask(new UserMediaRequestConstraintFailedTask(
160 this, request, failed_constraint)); 160 this, request, failed_constraint));
161 return; 161 return;
162 } 162 }
163 163
164 const size_t zero = 0; 164 const size_t zero = 0;
165 const size_t one = 1; 165 const size_t one = 1;
166 WebVector<WebMediaStreamTrack> audio_tracks(request.audio() ? one : zero); 166 WebVector<WebMediaStreamTrack> audio_tracks(request.audio() ? one : zero);
167 WebVector<WebMediaStreamTrack> video_tracks(request.video() ? one : zero);
168
169 if (request.audio()) { 167 if (request.audio()) {
170 WebMediaStreamSource source; 168 WebMediaStreamSource source;
171 source.initialize("MockAudioDevice#1", 169 source.initialize("MockAudioDevice#1",
172 WebMediaStreamSource::TypeAudio, 170 WebMediaStreamSource::TypeAudio,
173 "Mock audio device", 171 "Mock audio device",
174 false /* remote */, true /* readonly */); 172 false /* remote */, true /* readonly */);
175 audio_tracks[0].initialize(source); 173 audio_tracks[0].initialize(source);
176 } 174 }
177 175
176 WebMediaStream stream;
177 const WebVector<WebMediaStreamTrack> empty_track_vector;
178 stream.initialize(audio_tracks, empty_track_vector);
179 stream.setExtraData(new MockStreamExtraData());
180
178 if (request.video()) { 181 if (request.video()) {
179 WebMediaStreamSource source; 182 content::AddVideoTrackToMediaStream(
180 source.initialize("MockVideoDevice#1", 183 make_scoped_ptr(new MockVideoCapturerSource()),
181 WebMediaStreamSource::TypeVideo, 184 false /*is _remote */,
182 "Mock video device", 185 true /* is_readonly */,
183 false /* remote */, true /* readonly */); 186 &stream);
184 video_tracks[0].initialize(source);
185 } 187 }
186 188
187 WebMediaStream stream;
188 stream.initialize(audio_tracks, video_tracks);
189
190 stream.setExtraData(new MockExtraData());
191
192 delegate_->PostTask(new UserMediaRequestTask(this, request, stream)); 189 delegate_->PostTask(new UserMediaRequestTask(this, request, stream));
193 } 190 }
194 191
195 void MockWebUserMediaClient::cancelUserMediaRequest( 192 void MockWebUserMediaClient::cancelUserMediaRequest(
196 const WebUserMediaRequest&) { 193 const WebUserMediaRequest&) {
197 } 194 }
198 195
199 void MockWebUserMediaClient::requestMediaDevices( 196 void MockWebUserMediaClient::requestMediaDevices(
200 const WebMediaDevicesRequest& request) { 197 const WebMediaDevicesRequest& request) {
201 struct { 198 struct {
(...skipping 22 matching lines...) Expand all
224 }, 221 },
225 }; 222 };
226 223
227 WebVector<WebMediaDeviceInfo> devices(arraysize(test_devices)); 224 WebVector<WebMediaDeviceInfo> devices(arraysize(test_devices));
228 for (size_t i = 0; i < arraysize(test_devices); ++i) { 225 for (size_t i = 0; i < arraysize(test_devices); ++i) {
229 devices[i].initialize(WebString::fromUTF8(test_devices[i].device_id), 226 devices[i].initialize(WebString::fromUTF8(test_devices[i].device_id),
230 test_devices[i].kind, 227 test_devices[i].kind,
231 WebString::fromUTF8(test_devices[i].label), 228 WebString::fromUTF8(test_devices[i].label),
232 WebString::fromUTF8(test_devices[i].group_id)); 229 WebString::fromUTF8(test_devices[i].group_id));
233 } 230 }
234
235 delegate_->PostTask(new MediaDevicesRequestTask(this, request, devices)); 231 delegate_->PostTask(new MediaDevicesRequestTask(this, request, devices));
236 } 232 }
237 233
238 void MockWebUserMediaClient::cancelMediaDevicesRequest( 234 void MockWebUserMediaClient::cancelMediaDevicesRequest(
239 const WebMediaDevicesRequest&) { 235 const WebMediaDevicesRequest&) {
240 } 236 }
241 237
242 void MockWebUserMediaClient::requestSources( 238 void MockWebUserMediaClient::requestSources(
243 const blink::WebMediaStreamTrackSourcesRequest& request) { 239 const blink::WebMediaStreamTrackSourcesRequest& request) {
244 struct { 240 struct {
(...skipping 21 matching lines...) Expand all
266 sources[i].initialize(WebString::fromUTF8(test_sources[i].id), 262 sources[i].initialize(WebString::fromUTF8(test_sources[i].id),
267 test_sources[i].kind, 263 test_sources[i].kind,
268 WebString::fromUTF8(test_sources[i].label), 264 WebString::fromUTF8(test_sources[i].label),
269 test_sources[i].facing); 265 test_sources[i].facing);
270 } 266 }
271 267
272 delegate_->PostTask(new SourcesRequestTask(this, request, sources)); 268 delegate_->PostTask(new SourcesRequestTask(this, request, sources));
273 } 269 }
274 270
275 } // namespace test_runner 271 } // namespace test_runner
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698