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

Side by Side Diff: content/browser/renderer_host/media/media_stream_ui_proxy_unittest.cc

Issue 2291893002: Let Contraints Controll Mute/Unmute Audio Local Playback For Desktop Sharing (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 4 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/browser/renderer_host/media/media_stream_ui_proxy.h" 5 #include "content/browser/renderer_host/media/media_stream_ui_proxy.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/message_loop/message_loop.h" 9 #include "base/message_loop/message_loop.h"
10 #include "base/run_loop.h" 10 #include "base/run_loop.h"
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
87 expected->requested_audio_device_id == arg.requested_audio_device_id && 87 expected->requested_audio_device_id == arg.requested_audio_device_id &&
88 expected->requested_video_device_id == arg.requested_video_device_id && 88 expected->requested_video_device_id == arg.requested_video_device_id &&
89 expected->audio_type == arg.audio_type && 89 expected->audio_type == arg.audio_type &&
90 expected->video_type == arg.video_type; 90 expected->video_type == arg.video_type;
91 } 91 }
92 92
93 TEST_F(MediaStreamUIProxyTest, Deny) { 93 TEST_F(MediaStreamUIProxyTest, Deny) {
94 std::unique_ptr<MediaStreamRequest> request(new MediaStreamRequest( 94 std::unique_ptr<MediaStreamRequest> request(new MediaStreamRequest(
95 0, 0, 0, GURL("http://origin/"), false, MEDIA_GENERATE_STREAM, 95 0, 0, 0, GURL("http://origin/"), false, MEDIA_GENERATE_STREAM,
96 std::string(), std::string(), MEDIA_DEVICE_AUDIO_CAPTURE, 96 std::string(), std::string(), MEDIA_DEVICE_AUDIO_CAPTURE,
97 MEDIA_DEVICE_VIDEO_CAPTURE)); 97 MEDIA_DEVICE_VIDEO_CAPTURE, false));
98 MediaStreamRequest* request_ptr = request.get(); 98 MediaStreamRequest* request_ptr = request.get();
99 proxy_->RequestAccess( 99 proxy_->RequestAccess(
100 std::move(request), 100 std::move(request),
101 base::Bind(&MockResponseCallback::OnAccessRequestResponse, 101 base::Bind(&MockResponseCallback::OnAccessRequestResponse,
102 base::Unretained(&response_callback_))); 102 base::Unretained(&response_callback_)));
103 MediaResponseCallback callback; 103 MediaResponseCallback callback;
104 EXPECT_CALL(delegate_, RequestMediaAccessPermission(SameRequest(request_ptr), 104 EXPECT_CALL(delegate_, RequestMediaAccessPermission(SameRequest(request_ptr),
105 _)) 105 _))
106 .WillOnce(SaveArg<1>(&callback)); 106 .WillOnce(SaveArg<1>(&callback));
107 base::RunLoop().RunUntilIdle(); 107 base::RunLoop().RunUntilIdle();
108 ASSERT_FALSE(callback.is_null()); 108 ASSERT_FALSE(callback.is_null());
109 109
110 MediaStreamDevices devices; 110 MediaStreamDevices devices;
111 callback.Run(devices, MEDIA_DEVICE_OK, std::unique_ptr<MediaStreamUI>()); 111 callback.Run(devices, MEDIA_DEVICE_OK, std::unique_ptr<MediaStreamUI>());
112 112
113 MediaStreamDevices response; 113 MediaStreamDevices response;
114 EXPECT_CALL(response_callback_, OnAccessRequestResponse(_, _)) 114 EXPECT_CALL(response_callback_, OnAccessRequestResponse(_, _))
115 .WillOnce(SaveArg<0>(&response)); 115 .WillOnce(SaveArg<0>(&response));
116 base::RunLoop().RunUntilIdle(); 116 base::RunLoop().RunUntilIdle();
117 117
118 EXPECT_TRUE(response.empty()); 118 EXPECT_TRUE(response.empty());
119 } 119 }
120 120
121 TEST_F(MediaStreamUIProxyTest, AcceptAndStart) { 121 TEST_F(MediaStreamUIProxyTest, AcceptAndStart) {
122 std::unique_ptr<MediaStreamRequest> request(new MediaStreamRequest( 122 std::unique_ptr<MediaStreamRequest> request(new MediaStreamRequest(
123 0, 0, 0, GURL("http://origin/"), false, MEDIA_GENERATE_STREAM, 123 0, 0, 0, GURL("http://origin/"), false, MEDIA_GENERATE_STREAM,
124 std::string(), std::string(), MEDIA_DEVICE_AUDIO_CAPTURE, 124 std::string(), std::string(), MEDIA_DEVICE_AUDIO_CAPTURE,
125 MEDIA_DEVICE_VIDEO_CAPTURE)); 125 MEDIA_DEVICE_VIDEO_CAPTURE, false));
126 MediaStreamRequest* request_ptr = request.get(); 126 MediaStreamRequest* request_ptr = request.get();
127 proxy_->RequestAccess( 127 proxy_->RequestAccess(
128 std::move(request), 128 std::move(request),
129 base::Bind(&MockResponseCallback::OnAccessRequestResponse, 129 base::Bind(&MockResponseCallback::OnAccessRequestResponse,
130 base::Unretained(&response_callback_))); 130 base::Unretained(&response_callback_)));
131 MediaResponseCallback callback; 131 MediaResponseCallback callback;
132 EXPECT_CALL(delegate_, RequestMediaAccessPermission(SameRequest(request_ptr), 132 EXPECT_CALL(delegate_, RequestMediaAccessPermission(SameRequest(request_ptr),
133 _)) 133 _))
134 .WillOnce(SaveArg<1>(&callback)); 134 .WillOnce(SaveArg<1>(&callback));
135 base::RunLoop().RunUntilIdle(); 135 base::RunLoop().RunUntilIdle();
(...skipping 15 matching lines...) Expand all
151 151
152 proxy_->OnStarted(base::Closure(), MediaStreamUIProxy::WindowIdCallback()); 152 proxy_->OnStarted(base::Closure(), MediaStreamUIProxy::WindowIdCallback());
153 base::RunLoop().RunUntilIdle(); 153 base::RunLoop().RunUntilIdle();
154 } 154 }
155 155
156 // Verify that the proxy can be deleted before the request is processed. 156 // Verify that the proxy can be deleted before the request is processed.
157 TEST_F(MediaStreamUIProxyTest, DeleteBeforeAccepted) { 157 TEST_F(MediaStreamUIProxyTest, DeleteBeforeAccepted) {
158 std::unique_ptr<MediaStreamRequest> request(new MediaStreamRequest( 158 std::unique_ptr<MediaStreamRequest> request(new MediaStreamRequest(
159 0, 0, 0, GURL("http://origin/"), false, MEDIA_GENERATE_STREAM, 159 0, 0, 0, GURL("http://origin/"), false, MEDIA_GENERATE_STREAM,
160 std::string(), std::string(), MEDIA_DEVICE_AUDIO_CAPTURE, 160 std::string(), std::string(), MEDIA_DEVICE_AUDIO_CAPTURE,
161 MEDIA_DEVICE_VIDEO_CAPTURE)); 161 MEDIA_DEVICE_VIDEO_CAPTURE, false));
162 MediaStreamRequest* request_ptr = request.get(); 162 MediaStreamRequest* request_ptr = request.get();
163 proxy_->RequestAccess( 163 proxy_->RequestAccess(
164 std::move(request), 164 std::move(request),
165 base::Bind(&MockResponseCallback::OnAccessRequestResponse, 165 base::Bind(&MockResponseCallback::OnAccessRequestResponse,
166 base::Unretained(&response_callback_))); 166 base::Unretained(&response_callback_)));
167 MediaResponseCallback callback; 167 MediaResponseCallback callback;
168 EXPECT_CALL(delegate_, RequestMediaAccessPermission(SameRequest(request_ptr) 168 EXPECT_CALL(delegate_, RequestMediaAccessPermission(SameRequest(request_ptr)
169 , _)) 169 , _))
170 .WillOnce(SaveArg<1>(&callback)); 170 .WillOnce(SaveArg<1>(&callback));
171 base::RunLoop().RunUntilIdle(); 171 base::RunLoop().RunUntilIdle();
172 ASSERT_FALSE(callback.is_null()); 172 ASSERT_FALSE(callback.is_null());
173 173
174 proxy_.reset(); 174 proxy_.reset();
175 175
176 MediaStreamDevices devices; 176 MediaStreamDevices devices;
177 std::unique_ptr<MediaStreamUI> ui; 177 std::unique_ptr<MediaStreamUI> ui;
178 callback.Run(devices, MEDIA_DEVICE_OK, std::move(ui)); 178 callback.Run(devices, MEDIA_DEVICE_OK, std::move(ui));
179 } 179 }
180 180
181 TEST_F(MediaStreamUIProxyTest, StopFromUI) { 181 TEST_F(MediaStreamUIProxyTest, StopFromUI) {
182 std::unique_ptr<MediaStreamRequest> request(new MediaStreamRequest( 182 std::unique_ptr<MediaStreamRequest> request(new MediaStreamRequest(
183 0, 0, 0, GURL("http://origin/"), false, MEDIA_GENERATE_STREAM, 183 0, 0, 0, GURL("http://origin/"), false, MEDIA_GENERATE_STREAM,
184 std::string(), std::string(), MEDIA_DEVICE_AUDIO_CAPTURE, 184 std::string(), std::string(), MEDIA_DEVICE_AUDIO_CAPTURE,
185 MEDIA_DEVICE_VIDEO_CAPTURE)); 185 MEDIA_DEVICE_VIDEO_CAPTURE, false));
186 MediaStreamRequest* request_ptr = request.get(); 186 MediaStreamRequest* request_ptr = request.get();
187 proxy_->RequestAccess( 187 proxy_->RequestAccess(
188 std::move(request), 188 std::move(request),
189 base::Bind(&MockResponseCallback::OnAccessRequestResponse, 189 base::Bind(&MockResponseCallback::OnAccessRequestResponse,
190 base::Unretained(&response_callback_))); 190 base::Unretained(&response_callback_)));
191 MediaResponseCallback callback; 191 MediaResponseCallback callback;
192 EXPECT_CALL(delegate_, RequestMediaAccessPermission(SameRequest(request_ptr) 192 EXPECT_CALL(delegate_, RequestMediaAccessPermission(SameRequest(request_ptr)
193 , _)) 193 , _))
194 .WillOnce(SaveArg<1>(&callback)); 194 .WillOnce(SaveArg<1>(&callback));
195 base::RunLoop().RunUntilIdle(); 195 base::RunLoop().RunUntilIdle();
(...skipping 25 matching lines...) Expand all
221 ASSERT_FALSE(stop_callback.is_null()); 221 ASSERT_FALSE(stop_callback.is_null());
222 EXPECT_CALL(stop_handler, OnStop()); 222 EXPECT_CALL(stop_handler, OnStop());
223 stop_callback.Run(); 223 stop_callback.Run();
224 base::RunLoop().RunUntilIdle(); 224 base::RunLoop().RunUntilIdle();
225 } 225 }
226 226
227 TEST_F(MediaStreamUIProxyTest, WindowIdCallbackCalled) { 227 TEST_F(MediaStreamUIProxyTest, WindowIdCallbackCalled) {
228 std::unique_ptr<MediaStreamRequest> request(new MediaStreamRequest( 228 std::unique_ptr<MediaStreamRequest> request(new MediaStreamRequest(
229 0, 0, 0, GURL("http://origin/"), false, MEDIA_GENERATE_STREAM, 229 0, 0, 0, GURL("http://origin/"), false, MEDIA_GENERATE_STREAM,
230 std::string(), std::string(), MEDIA_NO_SERVICE, 230 std::string(), std::string(), MEDIA_NO_SERVICE,
231 MEDIA_DESKTOP_VIDEO_CAPTURE)); 231 MEDIA_DESKTOP_VIDEO_CAPTURE, false));
232 MediaStreamRequest* request_ptr = request.get(); 232 MediaStreamRequest* request_ptr = request.get();
233 233
234 proxy_->RequestAccess( 234 proxy_->RequestAccess(
235 std::move(request), 235 std::move(request),
236 base::Bind(&MockResponseCallback::OnAccessRequestResponse, 236 base::Bind(&MockResponseCallback::OnAccessRequestResponse,
237 base::Unretained(&response_callback_))); 237 base::Unretained(&response_callback_)));
238 MediaResponseCallback callback; 238 MediaResponseCallback callback;
239 EXPECT_CALL(delegate_, RequestMediaAccessPermission(SameRequest(request_ptr), 239 EXPECT_CALL(delegate_, RequestMediaAccessPermission(SameRequest(request_ptr),
240 _)) 240 _))
241 .WillOnce(SaveArg<1>(&callback)); 241 .WillOnce(SaveArg<1>(&callback));
(...skipping 20 matching lines...) Expand all
262 proxy_->CheckAccess(url::Origin(GURL("http://origin/")), 262 proxy_->CheckAccess(url::Origin(GURL("http://origin/")),
263 MEDIA_DEVICE_AUDIO_CAPTURE, 0, 0, 263 MEDIA_DEVICE_AUDIO_CAPTURE, 0, 0,
264 base::Bind(&MockResponseCallback::OnCheckResponse, 264 base::Bind(&MockResponseCallback::OnCheckResponse,
265 base::Unretained(&response_callback_))); 265 base::Unretained(&response_callback_)));
266 EXPECT_CALL(delegate_, CheckMediaAccessPermission(_, _)); 266 EXPECT_CALL(delegate_, CheckMediaAccessPermission(_, _));
267 EXPECT_CALL(response_callback_, OnCheckResponse(_)); 267 EXPECT_CALL(response_callback_, OnCheckResponse(_));
268 base::RunLoop().RunUntilIdle(); 268 base::RunLoop().RunUntilIdle();
269 } 269 }
270 270
271 } // namespace content 271 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698