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

Side by Side Diff: content/shell/renderer/test_runner/mock_web_user_media_client.cc

Issue 564423002: Update MockWebUserMediaClient for requestSources. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Compile fix Android. Created 6 years, 3 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
« no previous file with comments | « content/shell/renderer/test_runner/mock_web_user_media_client.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 "content/shell/renderer/test_runner/mock_web_user_media_client.h" 5 #include "content/shell/renderer/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 "content/shell/renderer/test_runner/WebTestDelegate.h" 9 #include "content/shell/renderer/test_runner/WebTestDelegate.h"
9 #include "content/shell/renderer/test_runner/mock_constraints.h" 10 #include "content/shell/renderer/test_runner/mock_constraints.h"
10 #include "third_party/WebKit/public/platform/WebMediaConstraints.h" 11 #include "third_party/WebKit/public/platform/WebMediaConstraints.h"
11 #include "third_party/WebKit/public/platform/WebMediaDeviceInfo.h" 12 #include "third_party/WebKit/public/platform/WebMediaDeviceInfo.h"
12 #include "third_party/WebKit/public/platform/WebMediaStream.h" 13 #include "third_party/WebKit/public/platform/WebMediaStream.h"
13 #include "third_party/WebKit/public/platform/WebMediaStreamSource.h" 14 #include "third_party/WebKit/public/platform/WebMediaStreamSource.h"
14 #include "third_party/WebKit/public/platform/WebMediaStreamTrack.h" 15 #include "third_party/WebKit/public/platform/WebMediaStreamTrack.h"
16 #include "third_party/WebKit/public/platform/WebMediaStreamTrackSourcesRequest.h "
17 #include "third_party/WebKit/public/platform/WebSourceInfo.h"
15 #include "third_party/WebKit/public/platform/WebVector.h" 18 #include "third_party/WebKit/public/platform/WebVector.h"
16 #include "third_party/WebKit/public/web/WebDocument.h" 19 #include "third_party/WebKit/public/web/WebDocument.h"
17 #include "third_party/WebKit/public/web/WebMediaDevicesRequest.h" 20 #include "third_party/WebKit/public/web/WebMediaDevicesRequest.h"
18 #include "third_party/WebKit/public/web/WebMediaStreamRegistry.h" 21 #include "third_party/WebKit/public/web/WebMediaStreamRegistry.h"
19 #include "third_party/WebKit/public/web/WebUserMediaRequest.h" 22 #include "third_party/WebKit/public/web/WebUserMediaRequest.h"
20 23
21 using blink::WebMediaConstraints; 24 using blink::WebMediaConstraints;
22 using blink::WebMediaDeviceInfo; 25 using blink::WebMediaDeviceInfo;
23 using blink::WebMediaDevicesRequest; 26 using blink::WebMediaDevicesRequest;
24 using blink::WebMediaStream; 27 using blink::WebMediaStream;
25 using blink::WebMediaStreamSource; 28 using blink::WebMediaStreamSource;
26 using blink::WebMediaStreamTrack; 29 using blink::WebMediaStreamTrack;
30 using blink::WebMediaStreamTrackSourcesRequest;
31 using blink::WebSourceInfo;
27 using blink::WebString; 32 using blink::WebString;
28 using blink::WebUserMediaRequest; 33 using blink::WebUserMediaRequest;
29 using blink::WebVector; 34 using blink::WebVector;
30 35
31 namespace content { 36 namespace content {
32 37
33 class UserMediaRequestTask : public WebMethodTask<MockWebUserMediaClient> { 38 class UserMediaRequestTask : public WebMethodTask<MockWebUserMediaClient> {
34 public: 39 public:
35 UserMediaRequestTask(MockWebUserMediaClient* object, 40 UserMediaRequestTask(MockWebUserMediaClient* object,
36 const WebUserMediaRequest& request, 41 const WebUserMediaRequest& request,
37 const WebMediaStream result) 42 const WebMediaStream result)
38 : WebMethodTask<MockWebUserMediaClient>(object), 43 : WebMethodTask<MockWebUserMediaClient>(object),
39 request_(request), 44 request_(request),
40 result_(result) { 45 result_(result) {
41 DCHECK(!result_.isNull()); 46 DCHECK(!result_.isNull());
42 } 47 }
43 48
44 virtual void RunIfValid() OVERRIDE { request_.requestSucceeded(result_); } 49 virtual void RunIfValid() OVERRIDE { request_.requestSucceeded(result_); }
45 50
46 private: 51 private:
47 WebUserMediaRequest request_; 52 WebUserMediaRequest request_;
48 WebMediaStream result_; 53 WebMediaStream result_;
54
55 DISALLOW_COPY_AND_ASSIGN(UserMediaRequestTask);
49 }; 56 };
50 57
51 class UserMediaRequestConstraintFailedTask 58 class UserMediaRequestConstraintFailedTask
52 : public WebMethodTask<MockWebUserMediaClient> { 59 : public WebMethodTask<MockWebUserMediaClient> {
53 public: 60 public:
54 UserMediaRequestConstraintFailedTask(MockWebUserMediaClient* object, 61 UserMediaRequestConstraintFailedTask(MockWebUserMediaClient* object,
55 const WebUserMediaRequest& request, 62 const WebUserMediaRequest& request,
56 const WebString& constraint) 63 const WebString& constraint)
57 : WebMethodTask<MockWebUserMediaClient>(object), 64 : WebMethodTask<MockWebUserMediaClient>(object),
58 request_(request), 65 request_(request),
59 constraint_(constraint) {} 66 constraint_(constraint) {}
60 67
61 virtual void RunIfValid() OVERRIDE { 68 virtual void RunIfValid() OVERRIDE {
62 request_.requestFailedConstraint(constraint_); 69 request_.requestFailedConstraint(constraint_);
63 } 70 }
64 71
65 private: 72 private:
66 WebUserMediaRequest request_; 73 WebUserMediaRequest request_;
67 WebString constraint_; 74 WebString constraint_;
75
76 DISALLOW_COPY_AND_ASSIGN(UserMediaRequestConstraintFailedTask);
68 }; 77 };
69 78
70 class UserMediaRequestPermissionDeniedTask 79 class UserMediaRequestPermissionDeniedTask
71 : public WebMethodTask<MockWebUserMediaClient> { 80 : public WebMethodTask<MockWebUserMediaClient> {
72 public: 81 public:
73 UserMediaRequestPermissionDeniedTask(MockWebUserMediaClient* object, 82 UserMediaRequestPermissionDeniedTask(MockWebUserMediaClient* object,
74 const WebUserMediaRequest& request) 83 const WebUserMediaRequest& request)
75 : WebMethodTask<MockWebUserMediaClient>(object), 84 : WebMethodTask<MockWebUserMediaClient>(object),
76 request_(request) {} 85 request_(request) {}
77 86
78 virtual void RunIfValid() OVERRIDE { request_.requestFailed(); } 87 virtual void RunIfValid() OVERRIDE { request_.requestFailed(); }
79 88
80 private: 89 private:
81 WebUserMediaRequest request_; 90 WebUserMediaRequest request_;
91
92 DISALLOW_COPY_AND_ASSIGN(UserMediaRequestPermissionDeniedTask);
82 }; 93 };
83 94
84 class MediaDevicesRequestTask : public WebMethodTask<MockWebUserMediaClient> { 95 class MediaDevicesRequestTask : public WebMethodTask<MockWebUserMediaClient> {
85 public: 96 public:
86 MediaDevicesRequestTask(MockWebUserMediaClient* object, 97 MediaDevicesRequestTask(MockWebUserMediaClient* object,
87 const WebMediaDevicesRequest& request, 98 const WebMediaDevicesRequest& request,
88 const WebVector<WebMediaDeviceInfo>& result) 99 const WebVector<WebMediaDeviceInfo>& result)
89 : WebMethodTask<MockWebUserMediaClient>(object), 100 : WebMethodTask<MockWebUserMediaClient>(object),
90 request_(request), 101 request_(request),
91 result_(result) {} 102 result_(result) {}
92 103
93 virtual void RunIfValid() OVERRIDE { request_.requestSucceeded(result_); } 104 virtual void RunIfValid() OVERRIDE { request_.requestSucceeded(result_); }
94 105
95 private: 106 private:
96 WebMediaDevicesRequest request_; 107 WebMediaDevicesRequest request_;
97 WebVector<WebMediaDeviceInfo> result_; 108 WebVector<WebMediaDeviceInfo> result_;
109
110 DISALLOW_COPY_AND_ASSIGN(MediaDevicesRequestTask);
111 };
112
113 class SourcesRequestTask : public WebMethodTask<MockWebUserMediaClient> {
114 public:
115 SourcesRequestTask(MockWebUserMediaClient* object,
116 const WebMediaStreamTrackSourcesRequest& request,
117 const WebVector<WebSourceInfo>& result)
118 : WebMethodTask<MockWebUserMediaClient>(object),
119 request_(request),
120 result_(result) {}
121
122 virtual void RunIfValid() OVERRIDE { request_.requestSucceeded(result_); }
123
124 private:
125 WebMediaStreamTrackSourcesRequest request_;
126 WebVector<WebSourceInfo> result_;
127
128 DISALLOW_COPY_AND_ASSIGN(SourcesRequestTask);
98 }; 129 };
99 130
100 class MockExtraData : public WebMediaStream::ExtraData { 131 class MockExtraData : public WebMediaStream::ExtraData {
101 public: 132 public:
102 int foo; 133 int foo;
103 }; 134 };
104 135
105 MockWebUserMediaClient::MockWebUserMediaClient(WebTestDelegate* delegate) 136 MockWebUserMediaClient::MockWebUserMediaClient(WebTestDelegate* delegate)
106 : delegate_(delegate) {} 137 : delegate_(delegate) {}
107 138
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
160 191
161 delegate_->postTask(new UserMediaRequestTask(this, request, stream)); 192 delegate_->postTask(new UserMediaRequestTask(this, request, stream));
162 } 193 }
163 194
164 void MockWebUserMediaClient::cancelUserMediaRequest( 195 void MockWebUserMediaClient::cancelUserMediaRequest(
165 const WebUserMediaRequest&) { 196 const WebUserMediaRequest&) {
166 } 197 }
167 198
168 void MockWebUserMediaClient::requestMediaDevices( 199 void MockWebUserMediaClient::requestMediaDevices(
169 const WebMediaDevicesRequest& request) { 200 const WebMediaDevicesRequest& request) {
170 const size_t three = 3; 201 struct {
171 WebVector<WebMediaDeviceInfo> devices(three); 202 const char* device_id;
203 WebMediaDeviceInfo::MediaDeviceKind kind;
204 const char* label;
205 const char* group_id;
206 } test_devices[] = {
207 {
208 "device1",
209 WebMediaDeviceInfo::MediaDeviceKindAudioInput,
210 "Built-in microphone",
211 "group1",
212 },
213 {
214 "device2",
215 WebMediaDeviceInfo::MediaDeviceKindAudioOutput,
216 "Built-in speakers",
217 "group1",
218 },
219 {
220 "device3",
221 WebMediaDeviceInfo::MediaDeviceKindVideoInput,
222 "Build-in webcam",
223 "group2",
224 },
225 };
172 226
173 devices[0].initialize("device1", 227 WebVector<WebMediaDeviceInfo> devices(ARRAYSIZE_UNSAFE(test_devices));
174 WebMediaDeviceInfo::MediaDeviceKindAudioInput, 228 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(test_devices); ++i) {
175 "Built-in microphone", 229 devices[i].initialize(WebString::fromUTF8(test_devices[i].device_id),
176 "group1"); 230 test_devices[i].kind,
177 devices[1].initialize("device2", 231 WebString::fromUTF8(test_devices[i].label),
178 WebMediaDeviceInfo::MediaDeviceKindAudioOutput, 232 WebString::fromUTF8(test_devices[i].group_id));
179 "Built-in speakers", 233 }
180 "group1");
181 devices[2].initialize("device3",
182 WebMediaDeviceInfo::MediaDeviceKindVideoInput,
183 "Build-in webcam",
184 "group2");
185 234
186 delegate_->postTask(new MediaDevicesRequestTask(this, request, devices)); 235 delegate_->postTask(new MediaDevicesRequestTask(this, request, devices));
187 } 236 }
188 237
189 void MockWebUserMediaClient::cancelMediaDevicesRequest( 238 void MockWebUserMediaClient::cancelMediaDevicesRequest(
190 const WebMediaDevicesRequest&) { 239 const WebMediaDevicesRequest&) {
191 } 240 }
192 241
242 void MockWebUserMediaClient::requestSources(
243 const blink::WebMediaStreamTrackSourcesRequest& request) {
244 struct {
245 const char* id;
246 WebSourceInfo::SourceKind kind;
247 const char* label;
248 WebSourceInfo::VideoFacingMode facing;
249 } test_sources[] = {
250 {
251 "device1",
252 WebSourceInfo::SourceKindAudio,
253 "Built-in microphone",
254 WebSourceInfo::VideoFacingModeNone,
255 },
256 {
257 "device2",
258 WebSourceInfo::SourceKindVideo,
259 "Build-in webcam",
260 WebSourceInfo::VideoFacingModeEnvironment,
261 },
262 };
263
264 WebVector<WebSourceInfo> sources(ARRAYSIZE_UNSAFE(test_sources));
265 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(test_sources); ++i) {
266 sources[i].initialize(WebString::fromUTF8(test_sources[i].id),
267 test_sources[i].kind,
268 WebString::fromUTF8(test_sources[i].label),
269 test_sources[i].facing);
270 }
271
272 delegate_->postTask(new SourcesRequestTask(this, request, sources));
273 }
274
193 } // namespace content 275 } // namespace content
OLDNEW
« no previous file with comments | « content/shell/renderer/test_runner/mock_web_user_media_client.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698