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

Side by Side Diff: content/browser/presentation/presentation_service_impl_unittest.cc

Issue 2622993002: [Presentation API] Move presentation.mojom to content/common/presentation (Closed)
Patch Set: Fix presentation_service_delegate. DEPS failure Created 3 years, 11 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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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/presentation/presentation_service_impl.h" 5 #include "content/browser/presentation/presentation_service_impl.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <memory> 10 #include <memory>
(...skipping 25 matching lines...) Expand all
36 36
37 namespace content { 37 namespace content {
38 38
39 namespace { 39 namespace {
40 40
41 // Matches Mojo structs. 41 // Matches Mojo structs.
42 MATCHER_P(Equals, expected, "") { 42 MATCHER_P(Equals, expected, "") {
43 return expected.Equals(arg); 43 return expected.Equals(arg);
44 } 44 }
45 45
46 // Matches blink::mojom::PresentationSessionInfo passed by reference. 46 // Matches content::mojom::PresentationSessionInfo passed by reference.
47 MATCHER_P(SessionInfoEquals, expected, "") { 47 MATCHER_P(SessionInfoEquals, expected, "") {
48 blink::mojom::PresentationSessionInfo& expected_value = expected; 48 content::mojom::PresentationSessionInfo& expected_value = expected;
49 return expected_value.Equals(arg); 49 return expected_value.Equals(arg);
50 } 50 }
51 51
52 // Matches content::PresentationSessionInfo passed by reference. 52 // Matches content::PresentationSessionInfo passed by reference.
53 MATCHER_P(ContentSessionInfoEquals, expected, "") { 53 MATCHER_P(ContentSessionInfoEquals, expected, "") {
54 const content::PresentationSessionInfo& expected_value = expected; 54 const content::PresentationSessionInfo& expected_value = expected;
55 return expected_value.presentation_url == arg.presentation_url && 55 return expected_value.presentation_url == arg.presentation_url &&
56 expected_value.presentation_id == arg.presentation_id; 56 expected_value.presentation_id == arg.presentation_id;
57 } 57 }
58 58
59 const char kPresentationId[] = "presentationId"; 59 const char kPresentationId[] = "presentationId";
60 const char kPresentationUrl1[] = "http://foo.com/index.html"; 60 const char kPresentationUrl1[] = "http://foo.com/index.html";
61 const char kPresentationUrl2[] = "http://example.com/index.html"; 61 const char kPresentationUrl2[] = "http://example.com/index.html";
62 const char kPresentationUrl3[] = "http://example.net/index.html"; 62 const char kPresentationUrl3[] = "http://example.net/index.html";
63 63
64 void DoNothing(blink::mojom::PresentationSessionInfoPtr info, 64 void DoNothing(content::mojom::PresentationSessionInfoPtr info,
65 blink::mojom::PresentationErrorPtr error) {} 65 content::mojom::PresentationErrorPtr error) {}
66 66
67 } // namespace 67 } // namespace
68 68
69 class MockPresentationServiceDelegate 69 class MockPresentationServiceDelegate
70 : public ControllerPresentationServiceDelegate { 70 : public ControllerPresentationServiceDelegate {
71 public: 71 public:
72 MOCK_METHOD3(AddObserver, 72 MOCK_METHOD3(AddObserver,
73 void(int render_process_id, 73 void(int render_process_id,
74 int render_frame_id, 74 int render_frame_id,
75 PresentationServiceDelegate::Observer* observer)); 75 PresentationServiceDelegate::Observer* observer));
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
154 PresentationConnectionPtr controller_conn_ptr, 154 PresentationConnectionPtr controller_conn_ptr,
155 PresentationConnectionRequest receiver_conn_request) override { 155 PresentationConnectionRequest receiver_conn_request) override {
156 RegisterOffscreenPresentationConnectionRaw( 156 RegisterOffscreenPresentationConnectionRaw(
157 render_process_id, render_frame_id, session, controller_conn_ptr.get()); 157 render_process_id, render_frame_id, session, controller_conn_ptr.get());
158 } 158 }
159 159
160 MOCK_METHOD4(RegisterOffscreenPresentationConnectionRaw, 160 MOCK_METHOD4(RegisterOffscreenPresentationConnectionRaw,
161 void(int render_process_id, 161 void(int render_process_id,
162 int render_frame_id, 162 int render_frame_id,
163 const content::PresentationSessionInfo& session, 163 const content::PresentationSessionInfo& session,
164 blink::mojom::PresentationConnection* connection)); 164 content::mojom::PresentationConnection* connection));
165 165
166 void set_screen_availability_listening_supported(bool value) { 166 void set_screen_availability_listening_supported(bool value) {
167 screen_availability_listening_supported_ = value; 167 screen_availability_listening_supported_ = value;
168 } 168 }
169 169
170 private: 170 private:
171 bool screen_availability_listening_supported_ = true; 171 bool screen_availability_listening_supported_ = true;
172 }; 172 };
173 173
174 class MockReceiverPresentationServiceDelegate 174 class MockReceiverPresentationServiceDelegate
175 : public ReceiverPresentationServiceDelegate { 175 : public ReceiverPresentationServiceDelegate {
176 public: 176 public:
177 MOCK_METHOD3(AddObserver, 177 MOCK_METHOD3(AddObserver,
178 void(int render_process_id, 178 void(int render_process_id,
179 int render_frame_id, 179 int render_frame_id,
180 PresentationServiceDelegate::Observer* observer)); 180 PresentationServiceDelegate::Observer* observer));
181 MOCK_METHOD2(RemoveObserver, 181 MOCK_METHOD2(RemoveObserver,
182 void(int render_process_id, int render_frame_id)); 182 void(int render_process_id, int render_frame_id));
183 MOCK_METHOD2(Reset, void(int render_process_id, int routing_id)); 183 MOCK_METHOD2(Reset, void(int render_process_id, int routing_id));
184 MOCK_METHOD1(RegisterReceiverConnectionAvailableCallback, 184 MOCK_METHOD1(RegisterReceiverConnectionAvailableCallback,
185 void(const content::ReceiverConnectionAvailableCallback&)); 185 void(const content::ReceiverConnectionAvailableCallback&));
186 }; 186 };
187 187
188 class MockPresentationConnection : public blink::mojom::PresentationConnection { 188 class MockPresentationConnection
189 : public content::mojom::PresentationConnection {
189 public: 190 public:
190 void OnMessage(blink::mojom::ConnectionMessagePtr message, 191 void OnMessage(content::mojom::ConnectionMessagePtr message,
191 const base::Callback<void(bool)>& send_message_cb) override { 192 const base::Callback<void(bool)>& send_message_cb) override {
192 OnConnectionMessageReceived(*message); 193 OnConnectionMessageReceived(*message);
193 } 194 }
194 MOCK_METHOD1(OnConnectionMessageReceived, 195 MOCK_METHOD1(OnConnectionMessageReceived,
195 void(const blink::mojom::ConnectionMessage& message)); 196 void(const content::mojom::ConnectionMessage& message));
196 MOCK_METHOD1(DidChangeState, 197 MOCK_METHOD1(DidChangeState,
197 void(blink::mojom::PresentationConnectionState state)); 198 void(content::mojom::PresentationConnectionState state));
198 }; 199 };
199 200
200 class MockPresentationServiceClient 201 class MockPresentationServiceClient
201 : public blink::mojom::PresentationServiceClient { 202 : public content::mojom::PresentationServiceClient {
202 public: 203 public:
203 MOCK_METHOD2(OnScreenAvailabilityUpdated, 204 MOCK_METHOD2(OnScreenAvailabilityUpdated,
204 void(const GURL& url, bool available)); 205 void(const GURL& url, bool available));
205 void OnConnectionStateChanged( 206 void OnConnectionStateChanged(
206 blink::mojom::PresentationSessionInfoPtr connection, 207 content::mojom::PresentationSessionInfoPtr connection,
207 blink::mojom::PresentationConnectionState new_state) override { 208 content::mojom::PresentationConnectionState new_state) override {
208 OnConnectionStateChanged(*connection, new_state); 209 OnConnectionStateChanged(*connection, new_state);
209 } 210 }
210 MOCK_METHOD2(OnConnectionStateChanged, 211 MOCK_METHOD2(OnConnectionStateChanged,
211 void(const blink::mojom::PresentationSessionInfo& connection, 212 void(const content::mojom::PresentationSessionInfo& connection,
212 blink::mojom::PresentationConnectionState new_state)); 213 content::mojom::PresentationConnectionState new_state));
213 214
214 void OnConnectionClosed( 215 void OnConnectionClosed(
215 blink::mojom::PresentationSessionInfoPtr connection, 216 content::mojom::PresentationSessionInfoPtr connection,
216 blink::mojom::PresentationConnectionCloseReason reason, 217 content::mojom::PresentationConnectionCloseReason reason,
217 const std::string& message) override { 218 const std::string& message) override {
218 OnConnectionClosed(*connection, reason, message); 219 OnConnectionClosed(*connection, reason, message);
219 } 220 }
220 MOCK_METHOD3(OnConnectionClosed, 221 MOCK_METHOD3(OnConnectionClosed,
221 void(const blink::mojom::PresentationSessionInfo& connection, 222 void(const content::mojom::PresentationSessionInfo& connection,
222 blink::mojom::PresentationConnectionCloseReason reason, 223 content::mojom::PresentationConnectionCloseReason reason,
223 const std::string& message)); 224 const std::string& message));
224 225
225 MOCK_METHOD1(OnScreenAvailabilityNotSupported, void(const GURL& url)); 226 MOCK_METHOD1(OnScreenAvailabilityNotSupported, void(const GURL& url));
226 227
227 void OnConnectionMessagesReceived( 228 void OnConnectionMessagesReceived(
228 blink::mojom::PresentationSessionInfoPtr session_info, 229 content::mojom::PresentationSessionInfoPtr session_info,
229 std::vector<blink::mojom::ConnectionMessagePtr> messages) override { 230 std::vector<content::mojom::ConnectionMessagePtr> messages) override {
230 messages_received_ = std::move(messages); 231 messages_received_ = std::move(messages);
231 MessagesReceived(); 232 MessagesReceived();
232 } 233 }
233 MOCK_METHOD0(MessagesReceived, void()); 234 MOCK_METHOD0(MessagesReceived, void());
234 235
235 void OnDefaultSessionStarted( 236 void OnDefaultSessionStarted(
236 blink::mojom::PresentationSessionInfoPtr session_info) override { 237 content::mojom::PresentationSessionInfoPtr session_info) override {
237 OnDefaultSessionStarted(*session_info); 238 OnDefaultSessionStarted(*session_info);
238 } 239 }
239 MOCK_METHOD1(OnDefaultSessionStarted, 240 MOCK_METHOD1(
240 void(const blink::mojom::PresentationSessionInfo& session_info)); 241 OnDefaultSessionStarted,
242 void(const content::mojom::PresentationSessionInfo& session_info));
241 243
242 void OnReceiverConnectionAvailable( 244 void OnReceiverConnectionAvailable(
243 blink::mojom::PresentationSessionInfoPtr session_info, 245 content::mojom::PresentationSessionInfoPtr session_info,
244 blink::mojom::PresentationConnectionPtr controller_conn_ptr, 246 content::mojom::PresentationConnectionPtr controller_conn_ptr,
245 blink::mojom::PresentationConnectionRequest receiver_conn_request) 247 content::mojom::PresentationConnectionRequest receiver_conn_request)
246 override { 248 override {
247 OnReceiverConnectionAvailable(*session_info); 249 OnReceiverConnectionAvailable(*session_info);
248 } 250 }
249 MOCK_METHOD1(OnReceiverConnectionAvailable, 251 MOCK_METHOD1(
250 void(const blink::mojom::PresentationSessionInfo& session_info)); 252 OnReceiverConnectionAvailable,
253 void(const content::mojom::PresentationSessionInfo& session_info));
251 254
252 std::vector<blink::mojom::ConnectionMessagePtr> messages_received_; 255 std::vector<content::mojom::ConnectionMessagePtr> messages_received_;
253 }; 256 };
254 257
255 class PresentationServiceImplTest : public RenderViewHostImplTestHarness { 258 class PresentationServiceImplTest : public RenderViewHostImplTestHarness {
256 public: 259 public:
257 PresentationServiceImplTest() 260 PresentationServiceImplTest()
258 : presentation_url1_(GURL(kPresentationUrl1)), 261 : presentation_url1_(GURL(kPresentationUrl1)),
259 presentation_url2_(GURL(kPresentationUrl2)), 262 presentation_url2_(GURL(kPresentationUrl2)),
260 presentation_url3_(GURL(kPresentationUrl3)) {} 263 presentation_url3_(GURL(kPresentationUrl3)) {}
261 264
262 void SetUp() override { 265 void SetUp() override {
263 RenderViewHostImplTestHarness::SetUp(); 266 RenderViewHostImplTestHarness::SetUp();
264 267
265 auto request = mojo::MakeRequest(&service_ptr_); 268 auto request = mojo::MakeRequest(&service_ptr_);
266 EXPECT_CALL(mock_delegate_, AddObserver(_, _, _)).Times(1); 269 EXPECT_CALL(mock_delegate_, AddObserver(_, _, _)).Times(1);
267 TestRenderFrameHost* render_frame_host = contents()->GetMainFrame(); 270 TestRenderFrameHost* render_frame_host = contents()->GetMainFrame();
268 render_frame_host->InitializeRenderFrameIfNeeded(); 271 render_frame_host->InitializeRenderFrameIfNeeded();
269 service_impl_.reset(new PresentationServiceImpl( 272 service_impl_.reset(new PresentationServiceImpl(
270 render_frame_host, contents(), &mock_delegate_, nullptr)); 273 render_frame_host, contents(), &mock_delegate_, nullptr));
271 service_impl_->Bind(std::move(request)); 274 service_impl_->Bind(std::move(request));
272 275
273 blink::mojom::PresentationServiceClientPtr client_ptr; 276 content::mojom::PresentationServiceClientPtr client_ptr;
274 client_binding_.reset( 277 client_binding_.reset(
275 new mojo::Binding<blink::mojom::PresentationServiceClient>( 278 new mojo::Binding<content::mojom::PresentationServiceClient>(
276 &mock_client_, mojo::MakeRequest(&client_ptr))); 279 &mock_client_, mojo::MakeRequest(&client_ptr)));
277 service_impl_->SetClient(std::move(client_ptr)); 280 service_impl_->SetClient(std::move(client_ptr));
278 281
279 presentation_urls_.push_back(presentation_url1_); 282 presentation_urls_.push_back(presentation_url1_);
280 presentation_urls_.push_back(presentation_url2_); 283 presentation_urls_.push_back(presentation_url2_);
281 } 284 }
282 285
283 void TearDown() override { 286 void TearDown() override {
284 service_ptr_.reset(); 287 service_ptr_.reset();
285 if (service_impl_.get()) { 288 if (service_impl_.get()) {
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
338 341
339 void ExpectCleanState() { 342 void ExpectCleanState() {
340 EXPECT_TRUE(service_impl_->default_presentation_urls_.empty()); 343 EXPECT_TRUE(service_impl_->default_presentation_urls_.empty());
341 EXPECT_EQ( 344 EXPECT_EQ(
342 service_impl_->screen_availability_listeners_.find(presentation_url1_), 345 service_impl_->screen_availability_listeners_.find(presentation_url1_),
343 service_impl_->screen_availability_listeners_.end()); 346 service_impl_->screen_availability_listeners_.end());
344 EXPECT_FALSE(service_impl_->on_connection_messages_callback_.get()); 347 EXPECT_FALSE(service_impl_->on_connection_messages_callback_.get());
345 } 348 }
346 349
347 void ExpectNewSessionCallbackSuccess( 350 void ExpectNewSessionCallbackSuccess(
348 blink::mojom::PresentationSessionInfoPtr info, 351 content::mojom::PresentationSessionInfoPtr info,
349 blink::mojom::PresentationErrorPtr error) { 352 content::mojom::PresentationErrorPtr error) {
350 EXPECT_FALSE(info.is_null()); 353 EXPECT_FALSE(info.is_null());
351 EXPECT_TRUE(error.is_null()); 354 EXPECT_TRUE(error.is_null());
352 if (!run_loop_quit_closure_.is_null()) 355 if (!run_loop_quit_closure_.is_null())
353 run_loop_quit_closure_.Run(); 356 run_loop_quit_closure_.Run();
354 } 357 }
355 358
356 void ExpectNewSessionCallbackError( 359 void ExpectNewSessionCallbackError(
357 blink::mojom::PresentationSessionInfoPtr info, 360 content::mojom::PresentationSessionInfoPtr info,
358 blink::mojom::PresentationErrorPtr error) { 361 content::mojom::PresentationErrorPtr error) {
359 EXPECT_TRUE(info.is_null()); 362 EXPECT_TRUE(info.is_null());
360 EXPECT_FALSE(error.is_null()); 363 EXPECT_FALSE(error.is_null());
361 if (!run_loop_quit_closure_.is_null()) 364 if (!run_loop_quit_closure_.is_null())
362 run_loop_quit_closure_.Run(); 365 run_loop_quit_closure_.Run();
363 } 366 }
364 367
365 void ExpectConnectionMessages( 368 void ExpectConnectionMessages(
366 const std::vector<blink::mojom::ConnectionMessagePtr>& expected_msgs, 369 const std::vector<content::mojom::ConnectionMessagePtr>& expected_msgs,
367 const std::vector<blink::mojom::ConnectionMessagePtr>& actual_msgs) { 370 const std::vector<content::mojom::ConnectionMessagePtr>& actual_msgs) {
368 EXPECT_EQ(expected_msgs.size(), actual_msgs.size()); 371 EXPECT_EQ(expected_msgs.size(), actual_msgs.size());
369 for (size_t i = 0; i < actual_msgs.size(); ++i) 372 for (size_t i = 0; i < actual_msgs.size(); ++i)
370 EXPECT_TRUE(expected_msgs[i].Equals(actual_msgs[i])); 373 EXPECT_TRUE(expected_msgs[i].Equals(actual_msgs[i]));
371 } 374 }
372 375
373 void ExpectSendConnectionMessageCallback(bool success) { 376 void ExpectSendConnectionMessageCallback(bool success) {
374 EXPECT_TRUE(success); 377 EXPECT_TRUE(success);
375 EXPECT_FALSE(service_impl_->send_message_callback_); 378 EXPECT_FALSE(service_impl_->send_message_callback_);
376 if (!run_loop_quit_closure_.is_null()) 379 if (!run_loop_quit_closure_.is_null())
377 run_loop_quit_closure_.Run(); 380 run_loop_quit_closure_.Run();
378 } 381 }
379 382
380 void RunListenForConnectionMessages(const std::string& text_msg, 383 void RunListenForConnectionMessages(const std::string& text_msg,
381 const std::vector<uint8_t>& binary_data, 384 const std::vector<uint8_t>& binary_data,
382 bool pass_ownership) { 385 bool pass_ownership) {
383 std::vector<blink::mojom::ConnectionMessagePtr> expected_msgs(2); 386 std::vector<content::mojom::ConnectionMessagePtr> expected_msgs(2);
384 expected_msgs[0] = blink::mojom::ConnectionMessage::New(); 387 expected_msgs[0] = content::mojom::ConnectionMessage::New();
385 expected_msgs[0]->type = blink::mojom::PresentationMessageType::TEXT; 388 expected_msgs[0]->type = content::mojom::PresentationMessageType::TEXT;
386 expected_msgs[0]->message = text_msg; 389 expected_msgs[0]->message = text_msg;
387 expected_msgs[1] = blink::mojom::ConnectionMessage::New(); 390 expected_msgs[1] = content::mojom::ConnectionMessage::New();
388 expected_msgs[1]->type = blink::mojom::PresentationMessageType::BINARY; 391 expected_msgs[1]->type = content::mojom::PresentationMessageType::BINARY;
389 expected_msgs[1]->data = binary_data; 392 expected_msgs[1]->data = binary_data;
390 393
391 blink::mojom::PresentationSessionInfoPtr session( 394 content::mojom::PresentationSessionInfoPtr session(
392 blink::mojom::PresentationSessionInfo::New()); 395 content::mojom::PresentationSessionInfo::New());
393 session->url = presentation_url1_; 396 session->url = presentation_url1_;
394 session->id = kPresentationId; 397 session->id = kPresentationId;
395 398
396 PresentationConnectionMessageCallback message_cb; 399 PresentationConnectionMessageCallback message_cb;
397 { 400 {
398 base::RunLoop run_loop; 401 base::RunLoop run_loop;
399 EXPECT_CALL(mock_delegate_, ListenForConnectionMessages(_, _, _, _)) 402 EXPECT_CALL(mock_delegate_, ListenForConnectionMessages(_, _, _, _))
400 .WillOnce(DoAll(InvokeWithoutArgs(&run_loop, &base::RunLoop::Quit), 403 .WillOnce(DoAll(InvokeWithoutArgs(&run_loop, &base::RunLoop::Quit),
401 SaveArg<3>(&message_cb))); 404 SaveArg<3>(&message_cb)));
402 service_ptr_->ListenForConnectionMessages(std::move(session)); 405 service_ptr_->ListenForConnectionMessages(std::move(session));
403 run_loop.Run(); 406 run_loop.Run();
404 } 407 }
405 408
406 std::vector<std::unique_ptr<PresentationConnectionMessage>> messages; 409 std::vector<std::unique_ptr<PresentationConnectionMessage>> messages;
407 std::unique_ptr<content::PresentationConnectionMessage> message; 410 std::unique_ptr<content::PresentationConnectionMessage> message;
408 message.reset(new content::PresentationConnectionMessage( 411 message.reset(new content::PresentationConnectionMessage(
409 PresentationMessageType::TEXT)); 412 PresentationMessageType::TEXT));
410 message->message = text_msg; 413 message->message = text_msg;
411 messages.push_back(std::move(message)); 414 messages.push_back(std::move(message));
412 message.reset(new content::PresentationConnectionMessage( 415 message.reset(new content::PresentationConnectionMessage(
413 PresentationMessageType::BINARY)); 416 PresentationMessageType::BINARY));
414 message->data.reset(new std::vector<uint8_t>(binary_data)); 417 message->data.reset(new std::vector<uint8_t>(binary_data));
415 messages.push_back(std::move(message)); 418 messages.push_back(std::move(message));
416 419
417 std::vector<blink::mojom::ConnectionMessagePtr> actual_msgs; 420 std::vector<content::mojom::ConnectionMessagePtr> actual_msgs;
418 { 421 {
419 base::RunLoop run_loop; 422 base::RunLoop run_loop;
420 EXPECT_CALL(mock_client_, MessagesReceived()) 423 EXPECT_CALL(mock_client_, MessagesReceived())
421 .WillOnce(InvokeWithoutArgs(&run_loop, &base::RunLoop::Quit)); 424 .WillOnce(InvokeWithoutArgs(&run_loop, &base::RunLoop::Quit));
422 message_cb.Run(std::move(messages), pass_ownership); 425 message_cb.Run(std::move(messages), pass_ownership);
423 run_loop.Run(); 426 run_loop.Run();
424 } 427 }
425 ExpectConnectionMessages(expected_msgs, mock_client_.messages_received_); 428 ExpectConnectionMessages(expected_msgs, mock_client_.messages_received_);
426 } 429 }
427 430
428 MockPresentationServiceDelegate mock_delegate_; 431 MockPresentationServiceDelegate mock_delegate_;
429 MockReceiverPresentationServiceDelegate mock_receiver_delegate_; 432 MockReceiverPresentationServiceDelegate mock_receiver_delegate_;
430 433
431 std::unique_ptr<PresentationServiceImpl> service_impl_; 434 std::unique_ptr<PresentationServiceImpl> service_impl_;
432 mojo::InterfacePtr<blink::mojom::PresentationService> service_ptr_; 435 mojo::InterfacePtr<content::mojom::PresentationService> service_ptr_;
433 436
434 MockPresentationServiceClient mock_client_; 437 MockPresentationServiceClient mock_client_;
435 std::unique_ptr<mojo::Binding<blink::mojom::PresentationServiceClient>> 438 std::unique_ptr<mojo::Binding<content::mojom::PresentationServiceClient>>
436 client_binding_; 439 client_binding_;
437 440
438 base::Closure run_loop_quit_closure_; 441 base::Closure run_loop_quit_closure_;
439 442
440 GURL presentation_url1_; 443 GURL presentation_url1_;
441 GURL presentation_url2_; 444 GURL presentation_url2_;
442 GURL presentation_url3_; 445 GURL presentation_url3_;
443 std::vector<GURL> presentation_urls_; 446 std::vector<GURL> presentation_urls_;
444 }; 447 };
445 448
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
522 525
523 // Sets different DPUs. 526 // Sets different DPUs.
524 std::vector<GURL> more_urls = presentation_urls_; 527 std::vector<GURL> more_urls = presentation_urls_;
525 more_urls.push_back(presentation_url3_); 528 more_urls.push_back(presentation_url3_);
526 529
527 content::PresentationSessionStartedCallback callback; 530 content::PresentationSessionStartedCallback callback;
528 EXPECT_CALL(mock_delegate_, SetDefaultPresentationUrls(_, _, more_urls, _)) 531 EXPECT_CALL(mock_delegate_, SetDefaultPresentationUrls(_, _, more_urls, _))
529 .WillOnce(SaveArg<3>(&callback)); 532 .WillOnce(SaveArg<3>(&callback));
530 service_impl_->SetDefaultPresentationUrls(more_urls); 533 service_impl_->SetDefaultPresentationUrls(more_urls);
531 534
532 blink::mojom::PresentationSessionInfo session_info; 535 content::mojom::PresentationSessionInfo session_info;
533 session_info.url = presentation_url2_; 536 session_info.url = presentation_url2_;
534 session_info.id = kPresentationId; 537 session_info.id = kPresentationId;
535 538
536 base::RunLoop run_loop; 539 base::RunLoop run_loop;
537 EXPECT_CALL(mock_client_, 540 EXPECT_CALL(mock_client_,
538 OnDefaultSessionStarted(SessionInfoEquals(ByRef(session_info)))) 541 OnDefaultSessionStarted(SessionInfoEquals(ByRef(session_info))))
539 .WillOnce(InvokeWithoutArgs(&run_loop, &base::RunLoop::Quit)); 542 .WillOnce(InvokeWithoutArgs(&run_loop, &base::RunLoop::Quit));
540 EXPECT_CALL(mock_delegate_, ListenForConnectionStateChange(_, _, _, _)); 543 EXPECT_CALL(mock_delegate_, ListenForConnectionStateChange(_, _, _, _));
541 callback.Run( 544 callback.Run(
542 content::PresentationSessionInfo(presentation_url2_, kPresentationId)); 545 content::PresentationSessionInfo(presentation_url2_, kPresentationId));
543 run_loop.Run(); 546 run_loop.Run();
544 } 547 }
545 548
546 TEST_F(PresentationServiceImplTest, 549 TEST_F(PresentationServiceImplTest,
547 ListenForConnectionStateChangeAndChangeState) { 550 ListenForConnectionStateChangeAndChangeState) {
548 content::PresentationSessionInfo connection(presentation_url1_, 551 content::PresentationSessionInfo connection(presentation_url1_,
549 kPresentationId); 552 kPresentationId);
550 content::PresentationConnectionStateChangedCallback state_changed_cb; 553 content::PresentationConnectionStateChangedCallback state_changed_cb;
551 // Trigger state change. It should be propagated back up to |mock_client_|. 554 // Trigger state change. It should be propagated back up to |mock_client_|.
552 blink::mojom::PresentationSessionInfo presentation_connection; 555 content::mojom::PresentationSessionInfo presentation_connection;
553 presentation_connection.url = presentation_url1_; 556 presentation_connection.url = presentation_url1_;
554 presentation_connection.id = kPresentationId; 557 presentation_connection.id = kPresentationId;
555 558
556 EXPECT_CALL(mock_delegate_, ListenForConnectionStateChange(_, _, _, _)) 559 EXPECT_CALL(mock_delegate_, ListenForConnectionStateChange(_, _, _, _))
557 .WillOnce(SaveArg<3>(&state_changed_cb)); 560 .WillOnce(SaveArg<3>(&state_changed_cb));
558 EXPECT_CALL(mock_client_, 561 EXPECT_CALL(mock_client_,
559 OnConnectionStateChanged( 562 OnConnectionStateChanged(
560 SessionInfoEquals(ByRef(presentation_connection)), 563 SessionInfoEquals(ByRef(presentation_connection)),
561 blink::mojom::PresentationConnectionState::CONNECTED)); 564 content::mojom::PresentationConnectionState::CONNECTED));
562 service_impl_->ListenForConnectionStateChangeAndChangeState(connection); 565 service_impl_->ListenForConnectionStateChangeAndChangeState(connection);
563 566
564 { 567 {
565 base::RunLoop run_loop; 568 base::RunLoop run_loop;
566 EXPECT_CALL(mock_client_, 569 EXPECT_CALL(mock_client_,
567 OnConnectionStateChanged( 570 OnConnectionStateChanged(
568 SessionInfoEquals(ByRef(presentation_connection)), 571 SessionInfoEquals(ByRef(presentation_connection)),
569 blink::mojom::PresentationConnectionState::TERMINATED)) 572 content::mojom::PresentationConnectionState::TERMINATED))
570 .WillOnce(InvokeWithoutArgs(&run_loop, &base::RunLoop::Quit)); 573 .WillOnce(InvokeWithoutArgs(&run_loop, &base::RunLoop::Quit));
571 state_changed_cb.Run(PresentationConnectionStateChangeInfo( 574 state_changed_cb.Run(PresentationConnectionStateChangeInfo(
572 PRESENTATION_CONNECTION_STATE_TERMINATED)); 575 PRESENTATION_CONNECTION_STATE_TERMINATED));
573 run_loop.Run(); 576 run_loop.Run();
574 } 577 }
575 } 578 }
576 579
577 TEST_F(PresentationServiceImplTest, ListenForConnectionClose) { 580 TEST_F(PresentationServiceImplTest, ListenForConnectionClose) {
578 content::PresentationSessionInfo connection(presentation_url1_, 581 content::PresentationSessionInfo connection(presentation_url1_,
579 kPresentationId); 582 kPresentationId);
580 content::PresentationConnectionStateChangedCallback state_changed_cb; 583 content::PresentationConnectionStateChangedCallback state_changed_cb;
581 EXPECT_CALL(mock_delegate_, ListenForConnectionStateChange(_, _, _, _)) 584 EXPECT_CALL(mock_delegate_, ListenForConnectionStateChange(_, _, _, _))
582 .WillOnce(SaveArg<3>(&state_changed_cb)); 585 .WillOnce(SaveArg<3>(&state_changed_cb));
583 service_impl_->ListenForConnectionStateChangeAndChangeState(connection); 586 service_impl_->ListenForConnectionStateChangeAndChangeState(connection);
584 587
585 // Trigger connection close. It should be propagated back up to 588 // Trigger connection close. It should be propagated back up to
586 // |mock_client_|. 589 // |mock_client_|.
587 blink::mojom::PresentationSessionInfo presentation_connection; 590 content::mojom::PresentationSessionInfo presentation_connection;
588 presentation_connection.url = presentation_url1_; 591 presentation_connection.url = presentation_url1_;
589 presentation_connection.id = kPresentationId; 592 presentation_connection.id = kPresentationId;
590 { 593 {
591 base::RunLoop run_loop; 594 base::RunLoop run_loop;
592 PresentationConnectionStateChangeInfo closed_info( 595 PresentationConnectionStateChangeInfo closed_info(
593 PRESENTATION_CONNECTION_STATE_CLOSED); 596 PRESENTATION_CONNECTION_STATE_CLOSED);
594 closed_info.close_reason = PRESENTATION_CONNECTION_CLOSE_REASON_WENT_AWAY; 597 closed_info.close_reason = PRESENTATION_CONNECTION_CLOSE_REASON_WENT_AWAY;
595 closed_info.message = "Foo"; 598 closed_info.message = "Foo";
596 599
597 EXPECT_CALL( 600 EXPECT_CALL(
598 mock_client_, 601 mock_client_,
599 OnConnectionClosed( 602 OnConnectionClosed(
600 SessionInfoEquals(ByRef(presentation_connection)), 603 SessionInfoEquals(ByRef(presentation_connection)),
601 blink::mojom::PresentationConnectionCloseReason::WENT_AWAY, "Foo")) 604 content::mojom::PresentationConnectionCloseReason::WENT_AWAY,
605 "Foo"))
602 .WillOnce(InvokeWithoutArgs(&run_loop, &base::RunLoop::Quit)); 606 .WillOnce(InvokeWithoutArgs(&run_loop, &base::RunLoop::Quit));
603 state_changed_cb.Run(closed_info); 607 state_changed_cb.Run(closed_info);
604 run_loop.Run(); 608 run_loop.Run();
605 } 609 }
606 } 610 }
607 611
608 TEST_F(PresentationServiceImplTest, SetSameDefaultPresentationUrls) { 612 TEST_F(PresentationServiceImplTest, SetSameDefaultPresentationUrls) {
609 EXPECT_CALL(mock_delegate_, 613 EXPECT_CALL(mock_delegate_,
610 SetDefaultPresentationUrls(_, _, presentation_urls_, _)) 614 SetDefaultPresentationUrls(_, _, presentation_urls_, _))
611 .Times(1); 615 .Times(1);
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
714 RunListenForConnectionMessages(text_msg, binary_data, false); 718 RunListenForConnectionMessages(text_msg, binary_data, false);
715 } 719 }
716 720
717 TEST_F(PresentationServiceImplTest, ListenForConnectionMessagesWithEmptyMsg) { 721 TEST_F(PresentationServiceImplTest, ListenForConnectionMessagesWithEmptyMsg) {
718 std::string text_msg(""); 722 std::string text_msg("");
719 std::vector<uint8_t> binary_data; 723 std::vector<uint8_t> binary_data;
720 RunListenForConnectionMessages(text_msg, binary_data, false); 724 RunListenForConnectionMessages(text_msg, binary_data, false);
721 } 725 }
722 726
723 TEST_F(PresentationServiceImplTest, SetPresentationConnection) { 727 TEST_F(PresentationServiceImplTest, SetPresentationConnection) {
724 blink::mojom::PresentationSessionInfoPtr session( 728 content::mojom::PresentationSessionInfoPtr session(
725 blink::mojom::PresentationSessionInfo::New()); 729 content::mojom::PresentationSessionInfo::New());
726 session->url = presentation_url1_; 730 session->url = presentation_url1_;
727 session->id = kPresentationId; 731 session->id = kPresentationId;
728 732
729 blink::mojom::PresentationConnectionPtr connection; 733 content::mojom::PresentationConnectionPtr connection;
730 MockPresentationConnection mock_presentation_connection; 734 MockPresentationConnection mock_presentation_connection;
731 mojo::Binding<blink::mojom::PresentationConnection> connection_binding( 735 mojo::Binding<content::mojom::PresentationConnection> connection_binding(
732 &mock_presentation_connection, mojo::MakeRequest(&connection)); 736 &mock_presentation_connection, mojo::MakeRequest(&connection));
733 blink::mojom::PresentationConnectionPtr receiver_connection; 737 content::mojom::PresentationConnectionPtr receiver_connection;
734 auto request = mojo::MakeRequest(&receiver_connection); 738 auto request = mojo::MakeRequest(&receiver_connection);
735 739
736 content::PresentationSessionInfo expected(presentation_url1_, 740 content::PresentationSessionInfo expected(presentation_url1_,
737 kPresentationId); 741 kPresentationId);
738 EXPECT_CALL(mock_delegate_, 742 EXPECT_CALL(mock_delegate_,
739 RegisterOffscreenPresentationConnectionRaw( 743 RegisterOffscreenPresentationConnectionRaw(
740 _, _, ContentSessionInfoEquals(ByRef(expected)), _)); 744 _, _, ContentSessionInfoEquals(ByRef(expected)), _));
741 745
742 service_impl_->SetPresentationConnection( 746 service_impl_->SetPresentationConnection(
743 std::move(session), std::move(connection), std::move(request)); 747 std::move(session), std::move(connection), std::move(request));
744 } 748 }
745 749
746 TEST_F(PresentationServiceImplTest, ReceiverPresentationServiceDelegate) { 750 TEST_F(PresentationServiceImplTest, ReceiverPresentationServiceDelegate) {
747 MockReceiverPresentationServiceDelegate mock_receiver_delegate; 751 MockReceiverPresentationServiceDelegate mock_receiver_delegate;
748 752
749 PresentationServiceImpl service_impl(contents()->GetMainFrame(), contents(), 753 PresentationServiceImpl service_impl(contents()->GetMainFrame(), contents(),
750 nullptr, &mock_receiver_delegate); 754 nullptr, &mock_receiver_delegate);
751 755
752 ReceiverConnectionAvailableCallback callback; 756 ReceiverConnectionAvailableCallback callback;
753 EXPECT_CALL(mock_receiver_delegate, 757 EXPECT_CALL(mock_receiver_delegate,
754 RegisterReceiverConnectionAvailableCallback(_)) 758 RegisterReceiverConnectionAvailableCallback(_))
755 .WillOnce(SaveArg<0>(&callback)); 759 .WillOnce(SaveArg<0>(&callback));
756 760
757 blink::mojom::PresentationServiceClientPtr client_ptr; 761 content::mojom::PresentationServiceClientPtr client_ptr;
758 client_binding_.reset( 762 client_binding_.reset(
759 new mojo::Binding<blink::mojom::PresentationServiceClient>( 763 new mojo::Binding<content::mojom::PresentationServiceClient>(
760 &mock_client_, mojo::MakeRequest(&client_ptr))); 764 &mock_client_, mojo::MakeRequest(&client_ptr)));
761 service_impl.controller_delegate_ = nullptr; 765 service_impl.controller_delegate_ = nullptr;
762 service_impl.SetClient(std::move(client_ptr)); 766 service_impl.SetClient(std::move(client_ptr));
763 EXPECT_FALSE(callback.is_null()); 767 EXPECT_FALSE(callback.is_null());
764 768
765 // NO-OP for ControllerPresentationServiceDelegate API functions 769 // NO-OP for ControllerPresentationServiceDelegate API functions
766 EXPECT_CALL(mock_delegate_, ListenForConnectionMessages(_, _, _, _)).Times(0); 770 EXPECT_CALL(mock_delegate_, ListenForConnectionMessages(_, _, _, _)).Times(0);
767 771
768 blink::mojom::PresentationSessionInfoPtr session( 772 content::mojom::PresentationSessionInfoPtr session(
769 blink::mojom::PresentationSessionInfo::New()); 773 content::mojom::PresentationSessionInfo::New());
770 session->url = GURL(kPresentationUrl1); 774 session->url = GURL(kPresentationUrl1);
771 session->id = kPresentationId; 775 session->id = kPresentationId;
772 776
773 service_impl.ListenForConnectionMessages(std::move(session)); 777 service_impl.ListenForConnectionMessages(std::move(session));
774 } 778 }
775 779
776 TEST_F(PresentationServiceImplTest, StartSessionInProgress) { 780 TEST_F(PresentationServiceImplTest, StartSessionInProgress) {
777 EXPECT_CALL(mock_delegate_, StartSession(_, _, presentation_urls_, _, _)) 781 EXPECT_CALL(mock_delegate_, StartSession(_, _, presentation_urls_, _, _))
778 .Times(1); 782 .Times(1);
779 service_ptr_->StartSession(presentation_urls_, base::Bind(&DoNothing)); 783 service_ptr_->StartSession(presentation_urls_, base::Bind(&DoNothing));
780 784
781 // This request should fail immediately, since there is already a StartSession 785 // This request should fail immediately, since there is already a StartSession
782 // in progress. 786 // in progress.
783 service_ptr_->StartSession( 787 service_ptr_->StartSession(
784 presentation_urls_, 788 presentation_urls_,
785 base::Bind(&PresentationServiceImplTest::ExpectNewSessionCallbackError, 789 base::Bind(&PresentationServiceImplTest::ExpectNewSessionCallbackError,
786 base::Unretained(this))); 790 base::Unretained(this)));
787 SaveQuitClosureAndRunLoop(); 791 SaveQuitClosureAndRunLoop();
788 } 792 }
789 793
790 TEST_F(PresentationServiceImplTest, SendStringMessage) { 794 TEST_F(PresentationServiceImplTest, SendStringMessage) {
791 std::string message("Test presentation session message"); 795 std::string message("Test presentation session message");
792 796
793 blink::mojom::PresentationSessionInfoPtr session( 797 content::mojom::PresentationSessionInfoPtr session(
794 blink::mojom::PresentationSessionInfo::New()); 798 content::mojom::PresentationSessionInfo::New());
795 session->url = presentation_url1_; 799 session->url = presentation_url1_;
796 session->id = kPresentationId; 800 session->id = kPresentationId;
797 blink::mojom::ConnectionMessagePtr message_request( 801 content::mojom::ConnectionMessagePtr message_request(
798 blink::mojom::ConnectionMessage::New()); 802 content::mojom::ConnectionMessage::New());
799 message_request->type = blink::mojom::PresentationMessageType::TEXT; 803 message_request->type = content::mojom::PresentationMessageType::TEXT;
800 message_request->message = message; 804 message_request->message = message;
801 service_ptr_->SendConnectionMessage( 805 service_ptr_->SendConnectionMessage(
802 std::move(session), std::move(message_request), 806 std::move(session), std::move(message_request),
803 base::Bind( 807 base::Bind(
804 &PresentationServiceImplTest::ExpectSendConnectionMessageCallback, 808 &PresentationServiceImplTest::ExpectSendConnectionMessageCallback,
805 base::Unretained(this))); 809 base::Unretained(this)));
806 810
807 base::RunLoop run_loop; 811 base::RunLoop run_loop;
808 base::Callback<void(bool)> send_message_cb; 812 base::Callback<void(bool)> send_message_cb;
809 PresentationConnectionMessage* test_message = nullptr; 813 PresentationConnectionMessage* test_message = nullptr;
(...skipping 14 matching lines...) Expand all
824 send_message_cb.Run(true); 828 send_message_cb.Run(true);
825 SaveQuitClosureAndRunLoop(); 829 SaveQuitClosureAndRunLoop();
826 } 830 }
827 831
828 TEST_F(PresentationServiceImplTest, SendArrayBuffer) { 832 TEST_F(PresentationServiceImplTest, SendArrayBuffer) {
829 // Test Array buffer data. 833 // Test Array buffer data.
830 const uint8_t buffer[] = {0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48}; 834 const uint8_t buffer[] = {0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48};
831 std::vector<uint8_t> data; 835 std::vector<uint8_t> data;
832 data.assign(buffer, buffer + sizeof(buffer)); 836 data.assign(buffer, buffer + sizeof(buffer));
833 837
834 blink::mojom::PresentationSessionInfoPtr session( 838 content::mojom::PresentationSessionInfoPtr session(
835 blink::mojom::PresentationSessionInfo::New()); 839 content::mojom::PresentationSessionInfo::New());
836 session->url = presentation_url1_; 840 session->url = presentation_url1_;
837 session->id = kPresentationId; 841 session->id = kPresentationId;
838 blink::mojom::ConnectionMessagePtr message_request( 842 content::mojom::ConnectionMessagePtr message_request(
839 blink::mojom::ConnectionMessage::New()); 843 content::mojom::ConnectionMessage::New());
840 message_request->type = blink::mojom::PresentationMessageType::BINARY; 844 message_request->type = content::mojom::PresentationMessageType::BINARY;
841 message_request->data = data; 845 message_request->data = data;
842 service_ptr_->SendConnectionMessage( 846 service_ptr_->SendConnectionMessage(
843 std::move(session), std::move(message_request), 847 std::move(session), std::move(message_request),
844 base::Bind( 848 base::Bind(
845 &PresentationServiceImplTest::ExpectSendConnectionMessageCallback, 849 &PresentationServiceImplTest::ExpectSendConnectionMessageCallback,
846 base::Unretained(this))); 850 base::Unretained(this)));
847 851
848 base::RunLoop run_loop; 852 base::RunLoop run_loop;
849 base::Callback<void(bool)> send_message_cb; 853 base::Callback<void(bool)> send_message_cb;
850 PresentationConnectionMessage* test_message = nullptr; 854 PresentationConnectionMessage* test_message = nullptr;
(...skipping 19 matching lines...) Expand all
870 874
871 TEST_F(PresentationServiceImplTest, SendArrayBufferWithExceedingLimit) { 875 TEST_F(PresentationServiceImplTest, SendArrayBufferWithExceedingLimit) {
872 // Create buffer with size exceeding the limit. 876 // Create buffer with size exceeding the limit.
873 // Use same size as in content::kMaxPresentationConnectionMessageSize. 877 // Use same size as in content::kMaxPresentationConnectionMessageSize.
874 const size_t kMaxBufferSizeInBytes = 64 * 1024; // 64 KB. 878 const size_t kMaxBufferSizeInBytes = 64 * 1024; // 64 KB.
875 uint8_t buffer[kMaxBufferSizeInBytes + 1]; 879 uint8_t buffer[kMaxBufferSizeInBytes + 1];
876 memset(buffer, 0, kMaxBufferSizeInBytes+1); 880 memset(buffer, 0, kMaxBufferSizeInBytes+1);
877 std::vector<uint8_t> data; 881 std::vector<uint8_t> data;
878 data.assign(buffer, buffer + sizeof(buffer)); 882 data.assign(buffer, buffer + sizeof(buffer));
879 883
880 blink::mojom::PresentationSessionInfoPtr session( 884 content::mojom::PresentationSessionInfoPtr session(
881 blink::mojom::PresentationSessionInfo::New()); 885 content::mojom::PresentationSessionInfo::New());
882 session->url = presentation_url1_; 886 session->url = presentation_url1_;
883 session->id = kPresentationId; 887 session->id = kPresentationId;
884 blink::mojom::ConnectionMessagePtr message_request( 888 content::mojom::ConnectionMessagePtr message_request(
885 blink::mojom::ConnectionMessage::New()); 889 content::mojom::ConnectionMessage::New());
886 message_request->type = blink::mojom::PresentationMessageType::BINARY; 890 message_request->type = content::mojom::PresentationMessageType::BINARY;
887 message_request->data = data; 891 message_request->data = data;
888 service_ptr_->SendConnectionMessage( 892 service_ptr_->SendConnectionMessage(
889 std::move(session), std::move(message_request), 893 std::move(session), std::move(message_request),
890 base::Bind( 894 base::Bind(
891 &PresentationServiceImplTest::ExpectSendConnectionMessageCallback, 895 &PresentationServiceImplTest::ExpectSendConnectionMessageCallback,
892 base::Unretained(this))); 896 base::Unretained(this)));
893 897
894 base::RunLoop run_loop; 898 base::RunLoop run_loop;
895 base::Callback<void(bool)> send_message_cb; 899 base::Callback<void(bool)> send_message_cb;
896 PresentationConnectionMessage* test_message = nullptr; 900 PresentationConnectionMessage* test_message = nullptr;
897 EXPECT_CALL(mock_delegate_, SendMessageRawPtr(_, _, _, _, _)) 901 EXPECT_CALL(mock_delegate_, SendMessageRawPtr(_, _, _, _, _))
898 .WillOnce(DoAll(InvokeWithoutArgs(&run_loop, &base::RunLoop::Quit), 902 .WillOnce(DoAll(InvokeWithoutArgs(&run_loop, &base::RunLoop::Quit),
899 SaveArg<3>(&test_message), SaveArg<4>(&send_message_cb))); 903 SaveArg<3>(&test_message), SaveArg<4>(&send_message_cb)));
900 run_loop.Run(); 904 run_loop.Run();
901 905
902 EXPECT_FALSE(test_message); 906 EXPECT_FALSE(test_message);
903 send_message_cb.Run(true); 907 send_message_cb.Run(true);
904 SaveQuitClosureAndRunLoop(); 908 SaveQuitClosureAndRunLoop();
905 } 909 }
906 910
907 TEST_F(PresentationServiceImplTest, SendBlobData) { 911 TEST_F(PresentationServiceImplTest, SendBlobData) {
908 const uint8_t buffer[] = {0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07}; 912 const uint8_t buffer[] = {0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07};
909 std::vector<uint8_t> data; 913 std::vector<uint8_t> data;
910 data.assign(buffer, buffer + sizeof(buffer)); 914 data.assign(buffer, buffer + sizeof(buffer));
911 915
912 blink::mojom::PresentationSessionInfoPtr session( 916 content::mojom::PresentationSessionInfoPtr session(
913 blink::mojom::PresentationSessionInfo::New()); 917 content::mojom::PresentationSessionInfo::New());
914 session->url = presentation_url1_; 918 session->url = presentation_url1_;
915 session->id = kPresentationId; 919 session->id = kPresentationId;
916 blink::mojom::ConnectionMessagePtr message_request( 920 content::mojom::ConnectionMessagePtr message_request(
917 blink::mojom::ConnectionMessage::New()); 921 content::mojom::ConnectionMessage::New());
918 message_request->type = blink::mojom::PresentationMessageType::BINARY; 922 message_request->type = content::mojom::PresentationMessageType::BINARY;
919 message_request->data = data; 923 message_request->data = data;
920 service_ptr_->SendConnectionMessage( 924 service_ptr_->SendConnectionMessage(
921 std::move(session), std::move(message_request), 925 std::move(session), std::move(message_request),
922 base::Bind( 926 base::Bind(
923 &PresentationServiceImplTest::ExpectSendConnectionMessageCallback, 927 &PresentationServiceImplTest::ExpectSendConnectionMessageCallback,
924 base::Unretained(this))); 928 base::Unretained(this)));
925 929
926 base::RunLoop run_loop; 930 base::RunLoop run_loop;
927 base::Callback<void(bool)> send_message_cb; 931 base::Callback<void(bool)> send_message_cb;
928 PresentationConnectionMessage* test_message = nullptr; 932 PresentationConnectionMessage* test_message = nullptr;
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
972 mock_delegate_.set_screen_availability_listening_supported(false); 976 mock_delegate_.set_screen_availability_listening_supported(false);
973 base::RunLoop run_loop; 977 base::RunLoop run_loop;
974 EXPECT_CALL(mock_client_, 978 EXPECT_CALL(mock_client_,
975 OnScreenAvailabilityNotSupported(presentation_url1_)) 979 OnScreenAvailabilityNotSupported(presentation_url1_))
976 .WillOnce(InvokeWithoutArgs(&run_loop, &base::RunLoop::Quit)); 980 .WillOnce(InvokeWithoutArgs(&run_loop, &base::RunLoop::Quit));
977 ListenForScreenAvailabilityAndWait(presentation_url1_, false); 981 ListenForScreenAvailabilityAndWait(presentation_url1_, false);
978 run_loop.Run(); 982 run_loop.Run();
979 } 983 }
980 984
981 } // namespace content 985 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/presentation/presentation_service_impl.cc ('k') | content/browser/presentation/presentation_type_converters.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698