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

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

Issue 2082343002: Remove calls to deprecated MessageLoop methods in content. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: CR Created 4 years, 5 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 "content/browser/frame_host/render_frame_host_delegate.h" 11 #include "content/browser/frame_host/render_frame_host_delegate.h"
11 #include "content/public/test/test_browser_thread.h" 12 #include "content/public/test/test_browser_thread.h"
12 #include "testing/gmock/include/gmock/gmock.h" 13 #include "testing/gmock/include/gmock/gmock.h"
13 #include "testing/gtest/include/gtest/gtest.h" 14 #include "testing/gtest/include/gtest/gtest.h"
14 #include "ui/gfx/geometry/rect.h" 15 #include "ui/gfx/geometry/rect.h"
15 #include "url/gurl.h" 16 #include "url/gurl.h"
16 #include "url/origin.h" 17 #include "url/origin.h"
17 18
18 using testing::_; 19 using testing::_;
19 using testing::Return; 20 using testing::Return;
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
57 class MediaStreamUIProxyTest : public testing::Test { 58 class MediaStreamUIProxyTest : public testing::Test {
58 public: 59 public:
59 MediaStreamUIProxyTest() 60 MediaStreamUIProxyTest()
60 : ui_thread_(BrowserThread::UI, &message_loop_), 61 : ui_thread_(BrowserThread::UI, &message_loop_),
61 io_thread_(BrowserThread::IO, &message_loop_) { 62 io_thread_(BrowserThread::IO, &message_loop_) {
62 proxy_ = MediaStreamUIProxy::CreateForTests(&delegate_); 63 proxy_ = MediaStreamUIProxy::CreateForTests(&delegate_);
63 } 64 }
64 65
65 ~MediaStreamUIProxyTest() override { 66 ~MediaStreamUIProxyTest() override {
66 proxy_.reset(); 67 proxy_.reset();
67 message_loop_.RunUntilIdle(); 68 base::RunLoop().RunUntilIdle();
68 } 69 }
69 70
70 protected: 71 protected:
71 base::MessageLoop message_loop_; 72 base::MessageLoop message_loop_;
72 TestBrowserThread ui_thread_; 73 TestBrowserThread ui_thread_;
73 TestBrowserThread io_thread_; 74 TestBrowserThread io_thread_;
74 75
75 MockRenderFrameHostDelegate delegate_; 76 MockRenderFrameHostDelegate delegate_;
76 MockResponseCallback response_callback_; 77 MockResponseCallback response_callback_;
77 std::unique_ptr<MediaStreamUIProxy> proxy_; 78 std::unique_ptr<MediaStreamUIProxy> proxy_;
(...skipping 18 matching lines...) Expand all
96 MEDIA_DEVICE_VIDEO_CAPTURE)); 97 MEDIA_DEVICE_VIDEO_CAPTURE));
97 MediaStreamRequest* request_ptr = request.get(); 98 MediaStreamRequest* request_ptr = request.get();
98 proxy_->RequestAccess( 99 proxy_->RequestAccess(
99 std::move(request), 100 std::move(request),
100 base::Bind(&MockResponseCallback::OnAccessRequestResponse, 101 base::Bind(&MockResponseCallback::OnAccessRequestResponse,
101 base::Unretained(&response_callback_))); 102 base::Unretained(&response_callback_)));
102 MediaResponseCallback callback; 103 MediaResponseCallback callback;
103 EXPECT_CALL(delegate_, RequestMediaAccessPermission(SameRequest(request_ptr), 104 EXPECT_CALL(delegate_, RequestMediaAccessPermission(SameRequest(request_ptr),
104 _)) 105 _))
105 .WillOnce(SaveArg<1>(&callback)); 106 .WillOnce(SaveArg<1>(&callback));
106 message_loop_.RunUntilIdle(); 107 base::RunLoop().RunUntilIdle();
107 ASSERT_FALSE(callback.is_null()); 108 ASSERT_FALSE(callback.is_null());
108 109
109 MediaStreamDevices devices; 110 MediaStreamDevices devices;
110 callback.Run(devices, MEDIA_DEVICE_OK, std::unique_ptr<MediaStreamUI>()); 111 callback.Run(devices, MEDIA_DEVICE_OK, std::unique_ptr<MediaStreamUI>());
111 112
112 MediaStreamDevices response; 113 MediaStreamDevices response;
113 EXPECT_CALL(response_callback_, OnAccessRequestResponse(_, _)) 114 EXPECT_CALL(response_callback_, OnAccessRequestResponse(_, _))
114 .WillOnce(SaveArg<0>(&response)); 115 .WillOnce(SaveArg<0>(&response));
115 message_loop_.RunUntilIdle(); 116 base::RunLoop().RunUntilIdle();
116 117
117 EXPECT_TRUE(response.empty()); 118 EXPECT_TRUE(response.empty());
118 } 119 }
119 120
120 TEST_F(MediaStreamUIProxyTest, AcceptAndStart) { 121 TEST_F(MediaStreamUIProxyTest, AcceptAndStart) {
121 std::unique_ptr<MediaStreamRequest> request(new MediaStreamRequest( 122 std::unique_ptr<MediaStreamRequest> request(new MediaStreamRequest(
122 0, 0, 0, GURL("http://origin/"), false, MEDIA_GENERATE_STREAM, 123 0, 0, 0, GURL("http://origin/"), false, MEDIA_GENERATE_STREAM,
123 std::string(), std::string(), MEDIA_DEVICE_AUDIO_CAPTURE, 124 std::string(), std::string(), MEDIA_DEVICE_AUDIO_CAPTURE,
124 MEDIA_DEVICE_VIDEO_CAPTURE)); 125 MEDIA_DEVICE_VIDEO_CAPTURE));
125 MediaStreamRequest* request_ptr = request.get(); 126 MediaStreamRequest* request_ptr = request.get();
126 proxy_->RequestAccess( 127 proxy_->RequestAccess(
127 std::move(request), 128 std::move(request),
128 base::Bind(&MockResponseCallback::OnAccessRequestResponse, 129 base::Bind(&MockResponseCallback::OnAccessRequestResponse,
129 base::Unretained(&response_callback_))); 130 base::Unretained(&response_callback_)));
130 MediaResponseCallback callback; 131 MediaResponseCallback callback;
131 EXPECT_CALL(delegate_, RequestMediaAccessPermission(SameRequest(request_ptr), 132 EXPECT_CALL(delegate_, RequestMediaAccessPermission(SameRequest(request_ptr),
132 _)) 133 _))
133 .WillOnce(SaveArg<1>(&callback)); 134 .WillOnce(SaveArg<1>(&callback));
134 message_loop_.RunUntilIdle(); 135 base::RunLoop().RunUntilIdle();
135 ASSERT_FALSE(callback.is_null()); 136 ASSERT_FALSE(callback.is_null());
136 137
137 MediaStreamDevices devices; 138 MediaStreamDevices devices;
138 devices.push_back( 139 devices.push_back(
139 MediaStreamDevice(MEDIA_DEVICE_AUDIO_CAPTURE, "Mic", "Mic")); 140 MediaStreamDevice(MEDIA_DEVICE_AUDIO_CAPTURE, "Mic", "Mic"));
140 std::unique_ptr<MockMediaStreamUI> ui(new MockMediaStreamUI()); 141 std::unique_ptr<MockMediaStreamUI> ui(new MockMediaStreamUI());
141 EXPECT_CALL(*ui, OnStarted(_)).WillOnce(Return(0)); 142 EXPECT_CALL(*ui, OnStarted(_)).WillOnce(Return(0));
142 callback.Run(devices, MEDIA_DEVICE_OK, std::move(ui)); 143 callback.Run(devices, MEDIA_DEVICE_OK, std::move(ui));
143 144
144 MediaStreamDevices response; 145 MediaStreamDevices response;
145 EXPECT_CALL(response_callback_, OnAccessRequestResponse(_, _)) 146 EXPECT_CALL(response_callback_, OnAccessRequestResponse(_, _))
146 .WillOnce(SaveArg<0>(&response)); 147 .WillOnce(SaveArg<0>(&response));
147 message_loop_.RunUntilIdle(); 148 base::RunLoop().RunUntilIdle();
148 149
149 EXPECT_FALSE(response.empty()); 150 EXPECT_FALSE(response.empty());
150 151
151 proxy_->OnStarted(base::Closure(), MediaStreamUIProxy::WindowIdCallback()); 152 proxy_->OnStarted(base::Closure(), MediaStreamUIProxy::WindowIdCallback());
152 message_loop_.RunUntilIdle(); 153 base::RunLoop().RunUntilIdle();
153 } 154 }
154 155
155 // 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.
156 TEST_F(MediaStreamUIProxyTest, DeleteBeforeAccepted) { 157 TEST_F(MediaStreamUIProxyTest, DeleteBeforeAccepted) {
157 std::unique_ptr<MediaStreamRequest> request(new MediaStreamRequest( 158 std::unique_ptr<MediaStreamRequest> request(new MediaStreamRequest(
158 0, 0, 0, GURL("http://origin/"), false, MEDIA_GENERATE_STREAM, 159 0, 0, 0, GURL("http://origin/"), false, MEDIA_GENERATE_STREAM,
159 std::string(), std::string(), MEDIA_DEVICE_AUDIO_CAPTURE, 160 std::string(), std::string(), MEDIA_DEVICE_AUDIO_CAPTURE,
160 MEDIA_DEVICE_VIDEO_CAPTURE)); 161 MEDIA_DEVICE_VIDEO_CAPTURE));
161 MediaStreamRequest* request_ptr = request.get(); 162 MediaStreamRequest* request_ptr = request.get();
162 proxy_->RequestAccess( 163 proxy_->RequestAccess(
163 std::move(request), 164 std::move(request),
164 base::Bind(&MockResponseCallback::OnAccessRequestResponse, 165 base::Bind(&MockResponseCallback::OnAccessRequestResponse,
165 base::Unretained(&response_callback_))); 166 base::Unretained(&response_callback_)));
166 MediaResponseCallback callback; 167 MediaResponseCallback callback;
167 EXPECT_CALL(delegate_, RequestMediaAccessPermission(SameRequest(request_ptr) 168 EXPECT_CALL(delegate_, RequestMediaAccessPermission(SameRequest(request_ptr)
168 , _)) 169 , _))
169 .WillOnce(SaveArg<1>(&callback)); 170 .WillOnce(SaveArg<1>(&callback));
170 message_loop_.RunUntilIdle(); 171 base::RunLoop().RunUntilIdle();
171 ASSERT_FALSE(callback.is_null()); 172 ASSERT_FALSE(callback.is_null());
172 173
173 proxy_.reset(); 174 proxy_.reset();
174 175
175 MediaStreamDevices devices; 176 MediaStreamDevices devices;
176 std::unique_ptr<MediaStreamUI> ui; 177 std::unique_ptr<MediaStreamUI> ui;
177 callback.Run(devices, MEDIA_DEVICE_OK, std::move(ui)); 178 callback.Run(devices, MEDIA_DEVICE_OK, std::move(ui));
178 } 179 }
179 180
180 TEST_F(MediaStreamUIProxyTest, StopFromUI) { 181 TEST_F(MediaStreamUIProxyTest, StopFromUI) {
181 std::unique_ptr<MediaStreamRequest> request(new MediaStreamRequest( 182 std::unique_ptr<MediaStreamRequest> request(new MediaStreamRequest(
182 0, 0, 0, GURL("http://origin/"), false, MEDIA_GENERATE_STREAM, 183 0, 0, 0, GURL("http://origin/"), false, MEDIA_GENERATE_STREAM,
183 std::string(), std::string(), MEDIA_DEVICE_AUDIO_CAPTURE, 184 std::string(), std::string(), MEDIA_DEVICE_AUDIO_CAPTURE,
184 MEDIA_DEVICE_VIDEO_CAPTURE)); 185 MEDIA_DEVICE_VIDEO_CAPTURE));
185 MediaStreamRequest* request_ptr = request.get(); 186 MediaStreamRequest* request_ptr = request.get();
186 proxy_->RequestAccess( 187 proxy_->RequestAccess(
187 std::move(request), 188 std::move(request),
188 base::Bind(&MockResponseCallback::OnAccessRequestResponse, 189 base::Bind(&MockResponseCallback::OnAccessRequestResponse,
189 base::Unretained(&response_callback_))); 190 base::Unretained(&response_callback_)));
190 MediaResponseCallback callback; 191 MediaResponseCallback callback;
191 EXPECT_CALL(delegate_, RequestMediaAccessPermission(SameRequest(request_ptr) 192 EXPECT_CALL(delegate_, RequestMediaAccessPermission(SameRequest(request_ptr)
192 , _)) 193 , _))
193 .WillOnce(SaveArg<1>(&callback)); 194 .WillOnce(SaveArg<1>(&callback));
194 message_loop_.RunUntilIdle(); 195 base::RunLoop().RunUntilIdle();
195 ASSERT_FALSE(callback.is_null()); 196 ASSERT_FALSE(callback.is_null());
196 197
197 base::Closure stop_callback; 198 base::Closure stop_callback;
198 199
199 MediaStreamDevices devices; 200 MediaStreamDevices devices;
200 devices.push_back( 201 devices.push_back(
201 MediaStreamDevice(MEDIA_DEVICE_AUDIO_CAPTURE, "Mic", "Mic")); 202 MediaStreamDevice(MEDIA_DEVICE_AUDIO_CAPTURE, "Mic", "Mic"));
202 std::unique_ptr<MockMediaStreamUI> ui(new MockMediaStreamUI()); 203 std::unique_ptr<MockMediaStreamUI> ui(new MockMediaStreamUI());
203 EXPECT_CALL(*ui, OnStarted(_)) 204 EXPECT_CALL(*ui, OnStarted(_))
204 .WillOnce(testing::DoAll(SaveArg<0>(&stop_callback), Return(0))); 205 .WillOnce(testing::DoAll(SaveArg<0>(&stop_callback), Return(0)));
205 callback.Run(devices, MEDIA_DEVICE_OK, std::move(ui)); 206 callback.Run(devices, MEDIA_DEVICE_OK, std::move(ui));
206 207
207 MediaStreamDevices response; 208 MediaStreamDevices response;
208 EXPECT_CALL(response_callback_, OnAccessRequestResponse(_, _)) 209 EXPECT_CALL(response_callback_, OnAccessRequestResponse(_, _))
209 .WillOnce(SaveArg<0>(&response)); 210 .WillOnce(SaveArg<0>(&response));
210 message_loop_.RunUntilIdle(); 211 base::RunLoop().RunUntilIdle();
211 212
212 EXPECT_FALSE(response.empty()); 213 EXPECT_FALSE(response.empty());
213 214
214 MockStopStreamHandler stop_handler; 215 MockStopStreamHandler stop_handler;
215 proxy_->OnStarted(base::Bind(&MockStopStreamHandler::OnStop, 216 proxy_->OnStarted(base::Bind(&MockStopStreamHandler::OnStop,
216 base::Unretained(&stop_handler)), 217 base::Unretained(&stop_handler)),
217 MediaStreamUIProxy::WindowIdCallback()); 218 MediaStreamUIProxy::WindowIdCallback());
218 message_loop_.RunUntilIdle(); 219 base::RunLoop().RunUntilIdle();
219 220
220 ASSERT_FALSE(stop_callback.is_null()); 221 ASSERT_FALSE(stop_callback.is_null());
221 EXPECT_CALL(stop_handler, OnStop()); 222 EXPECT_CALL(stop_handler, OnStop());
222 stop_callback.Run(); 223 stop_callback.Run();
223 message_loop_.RunUntilIdle(); 224 base::RunLoop().RunUntilIdle();
224 } 225 }
225 226
226 TEST_F(MediaStreamUIProxyTest, WindowIdCallbackCalled) { 227 TEST_F(MediaStreamUIProxyTest, WindowIdCallbackCalled) {
227 std::unique_ptr<MediaStreamRequest> request(new MediaStreamRequest( 228 std::unique_ptr<MediaStreamRequest> request(new MediaStreamRequest(
228 0, 0, 0, GURL("http://origin/"), false, MEDIA_GENERATE_STREAM, 229 0, 0, 0, GURL("http://origin/"), false, MEDIA_GENERATE_STREAM,
229 std::string(), std::string(), MEDIA_NO_SERVICE, 230 std::string(), std::string(), MEDIA_NO_SERVICE,
230 MEDIA_DESKTOP_VIDEO_CAPTURE)); 231 MEDIA_DESKTOP_VIDEO_CAPTURE));
231 MediaStreamRequest* request_ptr = request.get(); 232 MediaStreamRequest* request_ptr = request.get();
232 233
233 proxy_->RequestAccess( 234 proxy_->RequestAccess(
234 std::move(request), 235 std::move(request),
235 base::Bind(&MockResponseCallback::OnAccessRequestResponse, 236 base::Bind(&MockResponseCallback::OnAccessRequestResponse,
236 base::Unretained(&response_callback_))); 237 base::Unretained(&response_callback_)));
237 MediaResponseCallback callback; 238 MediaResponseCallback callback;
238 EXPECT_CALL(delegate_, RequestMediaAccessPermission(SameRequest(request_ptr), 239 EXPECT_CALL(delegate_, RequestMediaAccessPermission(SameRequest(request_ptr),
239 _)) 240 _))
240 .WillOnce(SaveArg<1>(&callback)); 241 .WillOnce(SaveArg<1>(&callback));
241 message_loop_.RunUntilIdle(); 242 base::RunLoop().RunUntilIdle();
242 243
243 const int kWindowId = 1; 244 const int kWindowId = 1;
244 std::unique_ptr<MockMediaStreamUI> ui(new MockMediaStreamUI()); 245 std::unique_ptr<MockMediaStreamUI> ui(new MockMediaStreamUI());
245 EXPECT_CALL(*ui, OnStarted(_)).WillOnce(Return(kWindowId)); 246 EXPECT_CALL(*ui, OnStarted(_)).WillOnce(Return(kWindowId));
246 247
247 callback.Run(MediaStreamDevices(), MEDIA_DEVICE_OK, std::move(ui)); 248 callback.Run(MediaStreamDevices(), MEDIA_DEVICE_OK, std::move(ui));
248 EXPECT_CALL(response_callback_, OnAccessRequestResponse(_, _)); 249 EXPECT_CALL(response_callback_, OnAccessRequestResponse(_, _));
249 250
250 MockStopStreamHandler handler; 251 MockStopStreamHandler handler;
251 EXPECT_CALL(handler, OnWindowId(kWindowId)); 252 EXPECT_CALL(handler, OnWindowId(kWindowId));
252 253
253 proxy_->OnStarted( 254 proxy_->OnStarted(
254 base::Bind(&MockStopStreamHandler::OnStop, base::Unretained(&handler)), 255 base::Bind(&MockStopStreamHandler::OnStop, base::Unretained(&handler)),
255 base::Bind(&MockStopStreamHandler::OnWindowId, 256 base::Bind(&MockStopStreamHandler::OnWindowId,
256 base::Unretained(&handler))); 257 base::Unretained(&handler)));
257 message_loop_.RunUntilIdle(); 258 base::RunLoop().RunUntilIdle();
258 } 259 }
259 260
260 TEST_F(MediaStreamUIProxyTest, CheckAccess) { 261 TEST_F(MediaStreamUIProxyTest, CheckAccess) {
261 proxy_->CheckAccess(url::Origin(GURL("http://origin/")), 262 proxy_->CheckAccess(url::Origin(GURL("http://origin/")),
262 MEDIA_DEVICE_AUDIO_CAPTURE, 0, 0, 263 MEDIA_DEVICE_AUDIO_CAPTURE, 0, 0,
263 base::Bind(&MockResponseCallback::OnCheckResponse, 264 base::Bind(&MockResponseCallback::OnCheckResponse,
264 base::Unretained(&response_callback_))); 265 base::Unretained(&response_callback_)));
265 EXPECT_CALL(delegate_, CheckMediaAccessPermission(_, _)); 266 EXPECT_CALL(delegate_, CheckMediaAccessPermission(_, _));
266 EXPECT_CALL(response_callback_, OnCheckResponse(_)); 267 EXPECT_CALL(response_callback_, OnCheckResponse(_));
267 message_loop_.RunUntilIdle(); 268 base::RunLoop().RunUntilIdle();
268 } 269 }
269 270
270 } // namespace content 271 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698