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

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: Rebase 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
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 "content/shell/renderer/test_runner/WebTestDelegate.h" 8 #include "content/shell/renderer/test_runner/WebTestDelegate.h"
9 #include "content/shell/renderer/test_runner/mock_constraints.h" 9 #include "content/shell/renderer/test_runner/mock_constraints.h"
10 #include "third_party/WebKit/public/platform/WebMediaConstraints.h" 10 #include "third_party/WebKit/public/platform/WebMediaConstraints.h"
11 #include "third_party/WebKit/public/platform/WebMediaDeviceInfo.h" 11 #include "third_party/WebKit/public/platform/WebMediaDeviceInfo.h"
12 #include "third_party/WebKit/public/platform/WebMediaStream.h" 12 #include "third_party/WebKit/public/platform/WebMediaStream.h"
13 #include "third_party/WebKit/public/platform/WebMediaStreamSource.h" 13 #include "third_party/WebKit/public/platform/WebMediaStreamSource.h"
14 #include "third_party/WebKit/public/platform/WebMediaStreamTrack.h" 14 #include "third_party/WebKit/public/platform/WebMediaStreamTrack.h"
15 #include "third_party/WebKit/public/platform/WebMediaStreamTrackSourcesRequest.h "
16 #include "third_party/WebKit/public/platform/WebSourceInfo.h"
15 #include "third_party/WebKit/public/platform/WebVector.h" 17 #include "third_party/WebKit/public/platform/WebVector.h"
16 #include "third_party/WebKit/public/web/WebDocument.h" 18 #include "third_party/WebKit/public/web/WebDocument.h"
17 #include "third_party/WebKit/public/web/WebMediaDevicesRequest.h" 19 #include "third_party/WebKit/public/web/WebMediaDevicesRequest.h"
18 #include "third_party/WebKit/public/web/WebMediaStreamRegistry.h" 20 #include "third_party/WebKit/public/web/WebMediaStreamRegistry.h"
19 #include "third_party/WebKit/public/web/WebUserMediaRequest.h" 21 #include "third_party/WebKit/public/web/WebUserMediaRequest.h"
20 22
21 using blink::WebMediaConstraints; 23 using blink::WebMediaConstraints;
22 using blink::WebMediaDeviceInfo; 24 using blink::WebMediaDeviceInfo;
23 using blink::WebMediaDevicesRequest; 25 using blink::WebMediaDevicesRequest;
24 using blink::WebMediaStream; 26 using blink::WebMediaStream;
25 using blink::WebMediaStreamSource; 27 using blink::WebMediaStreamSource;
26 using blink::WebMediaStreamTrack; 28 using blink::WebMediaStreamTrack;
29 using blink::WebMediaStreamTrackSourcesRequest;
30 using blink::WebSourceInfo;
27 using blink::WebString; 31 using blink::WebString;
28 using blink::WebUserMediaRequest; 32 using blink::WebUserMediaRequest;
29 using blink::WebVector; 33 using blink::WebVector;
30 34
31 namespace content { 35 namespace content {
32 36
33 class UserMediaRequestTask : public WebMethodTask<MockWebUserMediaClient> { 37 class UserMediaRequestTask : public WebMethodTask<MockWebUserMediaClient> {
34 public: 38 public:
35 UserMediaRequestTask(MockWebUserMediaClient* object, 39 UserMediaRequestTask(MockWebUserMediaClient* object,
36 const WebUserMediaRequest& request, 40 const WebUserMediaRequest& request,
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
90 request_(request), 94 request_(request),
91 result_(result) {} 95 result_(result) {}
92 96
93 virtual void RunIfValid() OVERRIDE { request_.requestSucceeded(result_); } 97 virtual void RunIfValid() OVERRIDE { request_.requestSucceeded(result_); }
94 98
95 private: 99 private:
96 WebMediaDevicesRequest request_; 100 WebMediaDevicesRequest request_;
97 WebVector<WebMediaDeviceInfo> result_; 101 WebVector<WebMediaDeviceInfo> result_;
98 }; 102 };
99 103
104 class SourcesRequestTask : public WebMethodTask<MockWebUserMediaClient> {
105 public:
106 SourcesRequestTask(MockWebUserMediaClient* object,
107 const WebMediaStreamTrackSourcesRequest& request,
108 const WebVector<WebSourceInfo>& result)
109 : WebMethodTask<MockWebUserMediaClient>(object),
110 request_(request),
111 result_(result) {}
112
113 virtual void RunIfValid() OVERRIDE { request_.requestSucceeded(result_); }
114
115 private:
116 WebMediaStreamTrackSourcesRequest request_;
117 WebVector<WebSourceInfo> result_;
118 };
jochen (gone - plz use gerrit) 2014/09/16 14:19:14 nit. disallow_copy_and_assign
Henrik Grunell 2014/09/16 15:18:48 Done.
119
100 class MockExtraData : public WebMediaStream::ExtraData { 120 class MockExtraData : public WebMediaStream::ExtraData {
101 public: 121 public:
102 int foo; 122 int foo;
103 }; 123 };
104 124
105 MockWebUserMediaClient::MockWebUserMediaClient(WebTestDelegate* delegate) 125 MockWebUserMediaClient::MockWebUserMediaClient(WebTestDelegate* delegate)
106 : delegate_(delegate) {} 126 : delegate_(delegate) {}
107 127
108 void MockWebUserMediaClient::requestUserMedia( 128 void MockWebUserMediaClient::requestUserMedia(
109 const WebUserMediaRequest& stream_request) { 129 const WebUserMediaRequest& stream_request) {
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
183 "Build-in webcam", 203 "Build-in webcam",
184 "group2"); 204 "group2");
185 205
186 delegate_->postTask(new MediaDevicesRequestTask(this, request, devices)); 206 delegate_->postTask(new MediaDevicesRequestTask(this, request, devices));
187 } 207 }
188 208
189 void MockWebUserMediaClient::cancelMediaDevicesRequest( 209 void MockWebUserMediaClient::cancelMediaDevicesRequest(
190 const WebMediaDevicesRequest&) { 210 const WebMediaDevicesRequest&) {
191 } 211 }
192 212
213 void MockWebUserMediaClient::requestSources(
214 const blink::WebMediaStreamTrackSourcesRequest& request) {
215 const size_t size = 2;
Mike West 2014/09/16 12:56:09 I see that other bits of this file use the same pa
Henrik Grunell 2014/09/16 13:22:35 This will be used in layout tests, can it be contr
Mike West 2014/09/16 13:36:29 No. My point was that if you're going to hard-code
Henrik Grunell 2014/09/16 15:18:48 Ah, of course. :) Done.
216 WebVector<WebSourceInfo> sources(size);
217
218 sources[0].initialize("device1",
219 WebSourceInfo::SourceKindAudio,
220 "Built-in microphone",
221 WebSourceInfo::VideoFacingModeNone);
222 sources[1].initialize("device2",
223 WebSourceInfo::SourceKindVideo,
224 "Build-in webcam",
225 WebSourceInfo::VideoFacingModeEnvironment);
Mike West 2014/09/16 12:56:09 Is this enough flexibility for you? It might make
Henrik Grunell 2014/09/16 13:22:35 Well, this will be used in layout tests, can it be
Mike West 2014/09/16 13:36:29 There are a number of mocks with setter methods th
Henrik Grunell 2014/09/16 15:18:48 OK, thanks for the pointer.
226
227 delegate_->postTask(new SourcesRequestTask(this, request, sources));
228 }
229
193 } // namespace content 230 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698