OLD | NEW |
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 <map> | 5 #include <map> |
6 #include <set> | 6 #include <set> |
7 #include <vector> | 7 #include <vector> |
8 | 8 |
9 #include "base/atomic_sequence_num.h" | 9 #include "base/atomic_sequence_num.h" |
10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
(...skipping 270 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
281 &route_id_); | 281 &route_id_); |
282 } | 282 } |
283 void SendQueueMessages() { | 283 void SendQueueMessages() { |
284 EXPECT_TRUE(renderer_host_->OnMessageReceived( | 284 EXPECT_TRUE(renderer_host_->OnMessageReceived( |
285 new MessagePortHostMsg_QueueMessages(remote_port_id_))); | 285 new MessagePortHostMsg_QueueMessages(remote_port_id_))); |
286 } | 286 } |
287 void SendPostMessage(std::string data) { | 287 void SendPostMessage(std::string data) { |
288 const std::vector<int> empty_ids; | 288 const std::vector<int> empty_ids; |
289 EXPECT_TRUE( | 289 EXPECT_TRUE( |
290 renderer_host_->OnMessageReceived(new MessagePortHostMsg_PostMessage( | 290 renderer_host_->OnMessageReceived(new MessagePortHostMsg_PostMessage( |
291 local_port_id_, base::ASCIIToUTF16(data), empty_ids))); | 291 local_port_id_, |
| 292 MessagePortMessage(base::ASCIIToUTF16(data)), empty_ids))); |
292 } | 293 } |
293 void SendConnect() { | 294 void SendConnect() { |
294 EXPECT_TRUE( | 295 EXPECT_TRUE( |
295 renderer_host_->OnMessageReceived(new ViewHostMsg_ForwardToWorker( | 296 renderer_host_->OnMessageReceived(new ViewHostMsg_ForwardToWorker( |
296 WorkerMsg_Connect(route_id_, remote_port_id_, MSG_ROUTING_NONE)))); | 297 WorkerMsg_Connect(route_id_, remote_port_id_, MSG_ROUTING_NONE)))); |
297 } | 298 } |
298 void SendSendQueuedMessages( | 299 void SendSendQueuedMessages( |
299 const std::vector<QueuedMessage>& queued_messages) { | 300 const std::vector<QueuedMessage>& queued_messages) { |
300 EXPECT_TRUE(renderer_host_->OnMessageReceived( | 301 EXPECT_TRUE(renderer_host_->OnMessageReceived( |
301 new MessagePortHostMsg_SendQueuedMessages(remote_port_id_, | 302 new MessagePortHostMsg_SendQueuedMessages(remote_port_id_, |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
363 } | 364 } |
364 | 365 |
365 void CheckMessagePortMsgMessage(MockRendererProcessHost* renderer_host, | 366 void CheckMessagePortMsgMessage(MockRendererProcessHost* renderer_host, |
366 int expected_msg_route_id, | 367 int expected_msg_route_id, |
367 std::string expected_data) { | 368 std::string expected_data) { |
368 scoped_ptr<IPC::Message> msg(renderer_host->PopMessage()); | 369 scoped_ptr<IPC::Message> msg(renderer_host->PopMessage()); |
369 EXPECT_EQ(MessagePortMsg_Message::ID, msg->type()); | 370 EXPECT_EQ(MessagePortMsg_Message::ID, msg->type()); |
370 EXPECT_EQ(expected_msg_route_id, msg->routing_id()); | 371 EXPECT_EQ(expected_msg_route_id, msg->routing_id()); |
371 MessagePortMsg_Message::Param params; | 372 MessagePortMsg_Message::Param params; |
372 EXPECT_TRUE(MessagePortMsg_Message::Read(msg.get(), ¶ms)); | 373 EXPECT_TRUE(MessagePortMsg_Message::Read(msg.get(), ¶ms)); |
373 base::string16 data = get<0>(params); | 374 base::string16 data = get<0>(params).message_as_string; |
374 EXPECT_EQ(base::ASCIIToUTF16(expected_data), data); | 375 EXPECT_EQ(base::ASCIIToUTF16(expected_data), data); |
375 } | 376 } |
376 | 377 |
377 void CheckViewMsgWorkerConnected(MockRendererProcessHost* renderer_host, | 378 void CheckViewMsgWorkerConnected(MockRendererProcessHost* renderer_host, |
378 MockSharedWorkerConnector* connector) { | 379 MockSharedWorkerConnector* connector) { |
379 scoped_ptr<IPC::Message> msg(renderer_host->PopMessage()); | 380 scoped_ptr<IPC::Message> msg(renderer_host->PopMessage()); |
380 EXPECT_EQ(ViewMsg_WorkerConnected::ID, msg->type()); | 381 EXPECT_EQ(ViewMsg_WorkerConnected::ID, msg->type()); |
381 EXPECT_EQ(connector->route_id(), msg->routing_id()); | 382 EXPECT_EQ(connector->route_id(), msg->routing_id()); |
382 } | 383 } |
383 | 384 |
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
460 // When SharedWorkerConnector side sends MessagePortHostMsg_PostMessage, | 461 // When SharedWorkerConnector side sends MessagePortHostMsg_PostMessage, |
461 // SharedWorker side shuold receive MessagePortMsg_Message. | 462 // SharedWorker side shuold receive MessagePortMsg_Message. |
462 connector->SendPostMessage("test1"); | 463 connector->SendPostMessage("test1"); |
463 EXPECT_EQ(1U, renderer_host->QueuedMessageCount()); | 464 EXPECT_EQ(1U, renderer_host->QueuedMessageCount()); |
464 CheckMessagePortMsgMessage( | 465 CheckMessagePortMsgMessage( |
465 renderer_host.get(), worker_msg_port_route_id, "test1"); | 466 renderer_host.get(), worker_msg_port_route_id, "test1"); |
466 | 467 |
467 // When SharedWorker side sends MessagePortHostMsg_PostMessage, | 468 // When SharedWorker side sends MessagePortHostMsg_PostMessage, |
468 // SharedWorkerConnector side shuold receive MessagePortMsg_Message. | 469 // SharedWorkerConnector side shuold receive MessagePortMsg_Message. |
469 const std::vector<int> empty_ids; | 470 const std::vector<int> empty_ids; |
470 EXPECT_TRUE(renderer_host->OnMessageReceived( | 471 EXPECT_TRUE( |
471 new MessagePortHostMsg_PostMessage(connector->remote_port_id(), | 472 renderer_host->OnMessageReceived(new MessagePortHostMsg_PostMessage( |
472 base::ASCIIToUTF16("test2"), | 473 connector->remote_port_id(), |
473 empty_ids))); | 474 MessagePortMessage(base::ASCIIToUTF16("test2")), empty_ids))); |
474 EXPECT_EQ(1U, renderer_host->QueuedMessageCount()); | 475 EXPECT_EQ(1U, renderer_host->QueuedMessageCount()); |
475 CheckMessagePortMsgMessage( | 476 CheckMessagePortMsgMessage( |
476 renderer_host.get(), connector->local_port_route_id(), "test2"); | 477 renderer_host.get(), connector->local_port_route_id(), "test2"); |
477 | 478 |
478 // UpdateWorkerDependency should not be called. | 479 // UpdateWorkerDependency should not be called. |
479 EXPECT_EQ(0, s_update_worker_dependency_call_count_); | 480 EXPECT_EQ(0, s_update_worker_dependency_call_count_); |
480 } | 481 } |
481 | 482 |
482 TEST_F(SharedWorkerServiceImplTest, TwoRendererTest) { | 483 TEST_F(SharedWorkerServiceImplTest, TwoRendererTest) { |
483 // The first renderer host. | 484 // The first renderer host. |
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
557 // When SharedWorkerConnector side sends MessagePortHostMsg_PostMessage, | 558 // When SharedWorkerConnector side sends MessagePortHostMsg_PostMessage, |
558 // SharedWorker side shuold receive MessagePortMsg_Message. | 559 // SharedWorker side shuold receive MessagePortMsg_Message. |
559 connector0->SendPostMessage("test1"); | 560 connector0->SendPostMessage("test1"); |
560 EXPECT_EQ(1U, renderer_host0->QueuedMessageCount()); | 561 EXPECT_EQ(1U, renderer_host0->QueuedMessageCount()); |
561 CheckMessagePortMsgMessage( | 562 CheckMessagePortMsgMessage( |
562 renderer_host0.get(), worker_msg_port_route_id1, "test1"); | 563 renderer_host0.get(), worker_msg_port_route_id1, "test1"); |
563 | 564 |
564 // When SharedWorker side sends MessagePortHostMsg_PostMessage, | 565 // When SharedWorker side sends MessagePortHostMsg_PostMessage, |
565 // SharedWorkerConnector side shuold receive MessagePortMsg_Message. | 566 // SharedWorkerConnector side shuold receive MessagePortMsg_Message. |
566 const std::vector<int> empty_ids; | 567 const std::vector<int> empty_ids; |
567 EXPECT_TRUE(renderer_host0->OnMessageReceived( | 568 EXPECT_TRUE( |
568 new MessagePortHostMsg_PostMessage(connector0->remote_port_id(), | 569 renderer_host0->OnMessageReceived(new MessagePortHostMsg_PostMessage( |
569 base::ASCIIToUTF16("test2"), | 570 connector0->remote_port_id(), |
570 empty_ids))); | 571 MessagePortMessage(base::ASCIIToUTF16("test2")), empty_ids))); |
571 EXPECT_EQ(1U, renderer_host0->QueuedMessageCount()); | 572 EXPECT_EQ(1U, renderer_host0->QueuedMessageCount()); |
572 CheckMessagePortMsgMessage( | 573 CheckMessagePortMsgMessage( |
573 renderer_host0.get(), connector0->local_port_route_id(), "test2"); | 574 renderer_host0.get(), connector0->local_port_route_id(), "test2"); |
574 | 575 |
575 // The second renderer host. | 576 // The second renderer host. |
576 scoped_ptr<MockRendererProcessHost> renderer_host1( | 577 scoped_ptr<MockRendererProcessHost> renderer_host1( |
577 new MockRendererProcessHost(kProcessIDs[1], | 578 new MockRendererProcessHost(kProcessIDs[1], |
578 browser_context_->GetResourceContext(), | 579 browser_context_->GetResourceContext(), |
579 *partition_.get())); | 580 *partition_.get())); |
580 scoped_ptr<MockSharedWorkerConnector> connector1( | 581 scoped_ptr<MockSharedWorkerConnector> connector1( |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
636 | 637 |
637 // When SharedWorkerConnector side sends MessagePortHostMsg_PostMessage, | 638 // When SharedWorkerConnector side sends MessagePortHostMsg_PostMessage, |
638 // SharedWorker side shuold receive MessagePortMsg_Message. | 639 // SharedWorker side shuold receive MessagePortMsg_Message. |
639 connector1->SendPostMessage("test3"); | 640 connector1->SendPostMessage("test3"); |
640 EXPECT_EQ(1U, renderer_host0->QueuedMessageCount()); | 641 EXPECT_EQ(1U, renderer_host0->QueuedMessageCount()); |
641 CheckMessagePortMsgMessage( | 642 CheckMessagePortMsgMessage( |
642 renderer_host0.get(), worker_msg_port_route_id2, "test3"); | 643 renderer_host0.get(), worker_msg_port_route_id2, "test3"); |
643 | 644 |
644 // When SharedWorker side sends MessagePortHostMsg_PostMessage, | 645 // When SharedWorker side sends MessagePortHostMsg_PostMessage, |
645 // SharedWorkerConnector side shuold receive MessagePortMsg_Message. | 646 // SharedWorkerConnector side shuold receive MessagePortMsg_Message. |
646 EXPECT_TRUE(renderer_host0->OnMessageReceived( | 647 EXPECT_TRUE( |
647 new MessagePortHostMsg_PostMessage(connector1->remote_port_id(), | 648 renderer_host0->OnMessageReceived(new MessagePortHostMsg_PostMessage( |
648 base::ASCIIToUTF16("test4"), | 649 connector1->remote_port_id(), |
649 empty_ids))); | 650 MessagePortMessage(base::ASCIIToUTF16("test4")), empty_ids))); |
650 EXPECT_EQ(1U, renderer_host1->QueuedMessageCount()); | 651 EXPECT_EQ(1U, renderer_host1->QueuedMessageCount()); |
651 CheckMessagePortMsgMessage( | 652 CheckMessagePortMsgMessage( |
652 renderer_host1.get(), connector1->local_port_route_id(), "test4"); | 653 renderer_host1.get(), connector1->local_port_route_id(), "test4"); |
653 | 654 |
654 EXPECT_EQ(1, s_update_worker_dependency_call_count_); | 655 EXPECT_EQ(1, s_update_worker_dependency_call_count_); |
655 renderer_host1.reset(); | 656 renderer_host1.reset(); |
656 // UpdateWorkerDependency should be called. | 657 // UpdateWorkerDependency should be called. |
657 EXPECT_EQ(2, s_update_worker_dependency_call_count_); | 658 EXPECT_EQ(2, s_update_worker_dependency_call_count_); |
658 EXPECT_EQ(0U, s_worker_dependency_added_ids_.size()); | 659 EXPECT_EQ(0U, s_worker_dependency_added_ids_.size()); |
659 EXPECT_EQ(1U, s_worker_dependency_removed_ids_.size()); | 660 EXPECT_EQ(1U, s_worker_dependency_removed_ids_.size()); |
(...skipping 248 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
908 kDocumentIDs[2], | 909 kDocumentIDs[2], |
909 kRenderFrameRouteIDs[2]); | 910 kRenderFrameRouteIDs[2]); |
910 EXPECT_NE(MSG_ROUTING_NONE, connector2->route_id()); | 911 EXPECT_NE(MSG_ROUTING_NONE, connector2->route_id()); |
911 EXPECT_EQ(0U, renderer_host2->QueuedMessageCount()); | 912 EXPECT_EQ(0U, renderer_host2->QueuedMessageCount()); |
912 RunAllPendingInMessageLoop(); | 913 RunAllPendingInMessageLoop(); |
913 EXPECT_EQ(1U, renderer_host2->QueuedMessageCount()); | 914 EXPECT_EQ(1U, renderer_host2->QueuedMessageCount()); |
914 CheckViewMsgWorkerCreated(renderer_host2.get(), connector2.get()); | 915 CheckViewMsgWorkerCreated(renderer_host2.get(), connector2.get()); |
915 } | 916 } |
916 | 917 |
917 } // namespace content | 918 } // namespace content |
OLD | NEW |