| 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 267 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 278 name, | 278 name, |
| 279 document_id, | 279 document_id, |
| 280 render_frame_route_id, | 280 render_frame_route_id, |
| 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<TransferredMessagePort> empty_ports; |
| 289 EXPECT_TRUE( | 289 EXPECT_TRUE( |
| 290 renderer_host_->OnMessageReceived(new MessagePortHostMsg_PostMessage( | 290 renderer_host_->OnMessageReceived(new MessagePortHostMsg_PostMessage( |
| 291 local_port_id_, | 291 local_port_id_, |
| 292 MessagePortMessage(base::ASCIIToUTF16(data)), empty_ids))); | 292 MessagePortMessage(base::ASCIIToUTF16(data)), empty_ports))); |
| 293 } | 293 } |
| 294 void SendConnect() { | 294 void SendConnect() { |
| 295 EXPECT_TRUE( | 295 EXPECT_TRUE( |
| 296 renderer_host_->OnMessageReceived(new ViewHostMsg_ForwardToWorker( | 296 renderer_host_->OnMessageReceived(new ViewHostMsg_ForwardToWorker( |
| 297 WorkerMsg_Connect(route_id_, remote_port_id_, MSG_ROUTING_NONE)))); | 297 WorkerMsg_Connect(route_id_, remote_port_id_, MSG_ROUTING_NONE)))); |
| 298 } | 298 } |
| 299 void SendSendQueuedMessages( | 299 void SendSendQueuedMessages( |
| 300 const std::vector<QueuedMessage>& queued_messages) { | 300 const std::vector<QueuedMessage>& queued_messages) { |
| 301 EXPECT_TRUE(renderer_host_->OnMessageReceived( | 301 EXPECT_TRUE(renderer_host_->OnMessageReceived( |
| 302 new MessagePortHostMsg_SendQueuedMessages(remote_port_id_, | 302 new MessagePortHostMsg_SendQueuedMessages(remote_port_id_, |
| (...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 460 | 460 |
| 461 // When SharedWorkerConnector side sends MessagePortHostMsg_PostMessage, | 461 // When SharedWorkerConnector side sends MessagePortHostMsg_PostMessage, |
| 462 // SharedWorker side shuold receive MessagePortMsg_Message. | 462 // SharedWorker side shuold receive MessagePortMsg_Message. |
| 463 connector->SendPostMessage("test1"); | 463 connector->SendPostMessage("test1"); |
| 464 EXPECT_EQ(1U, renderer_host->QueuedMessageCount()); | 464 EXPECT_EQ(1U, renderer_host->QueuedMessageCount()); |
| 465 CheckMessagePortMsgMessage( | 465 CheckMessagePortMsgMessage( |
| 466 renderer_host.get(), worker_msg_port_route_id, "test1"); | 466 renderer_host.get(), worker_msg_port_route_id, "test1"); |
| 467 | 467 |
| 468 // When SharedWorker side sends MessagePortHostMsg_PostMessage, | 468 // When SharedWorker side sends MessagePortHostMsg_PostMessage, |
| 469 // SharedWorkerConnector side shuold receive MessagePortMsg_Message. | 469 // SharedWorkerConnector side shuold receive MessagePortMsg_Message. |
| 470 const std::vector<int> empty_ids; | 470 const std::vector<TransferredMessagePort> empty_ports; |
| 471 EXPECT_TRUE( | 471 EXPECT_TRUE( |
| 472 renderer_host->OnMessageReceived(new MessagePortHostMsg_PostMessage( | 472 renderer_host->OnMessageReceived(new MessagePortHostMsg_PostMessage( |
| 473 connector->remote_port_id(), | 473 connector->remote_port_id(), |
| 474 MessagePortMessage(base::ASCIIToUTF16("test2")), empty_ids))); | 474 MessagePortMessage(base::ASCIIToUTF16("test2")), empty_ports))); |
| 475 EXPECT_EQ(1U, renderer_host->QueuedMessageCount()); | 475 EXPECT_EQ(1U, renderer_host->QueuedMessageCount()); |
| 476 CheckMessagePortMsgMessage( | 476 CheckMessagePortMsgMessage( |
| 477 renderer_host.get(), connector->local_port_route_id(), "test2"); | 477 renderer_host.get(), connector->local_port_route_id(), "test2"); |
| 478 | 478 |
| 479 // UpdateWorkerDependency should not be called. | 479 // UpdateWorkerDependency should not be called. |
| 480 EXPECT_EQ(0, s_update_worker_dependency_call_count_); | 480 EXPECT_EQ(0, s_update_worker_dependency_call_count_); |
| 481 } | 481 } |
| 482 | 482 |
| 483 TEST_F(SharedWorkerServiceImplTest, TwoRendererTest) { | 483 TEST_F(SharedWorkerServiceImplTest, TwoRendererTest) { |
| 484 // The first renderer host. | 484 // The first renderer host. |
| (...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 557 | 557 |
| 558 // When SharedWorkerConnector side sends MessagePortHostMsg_PostMessage, | 558 // When SharedWorkerConnector side sends MessagePortHostMsg_PostMessage, |
| 559 // SharedWorker side shuold receive MessagePortMsg_Message. | 559 // SharedWorker side shuold receive MessagePortMsg_Message. |
| 560 connector0->SendPostMessage("test1"); | 560 connector0->SendPostMessage("test1"); |
| 561 EXPECT_EQ(1U, renderer_host0->QueuedMessageCount()); | 561 EXPECT_EQ(1U, renderer_host0->QueuedMessageCount()); |
| 562 CheckMessagePortMsgMessage( | 562 CheckMessagePortMsgMessage( |
| 563 renderer_host0.get(), worker_msg_port_route_id1, "test1"); | 563 renderer_host0.get(), worker_msg_port_route_id1, "test1"); |
| 564 | 564 |
| 565 // When SharedWorker side sends MessagePortHostMsg_PostMessage, | 565 // When SharedWorker side sends MessagePortHostMsg_PostMessage, |
| 566 // SharedWorkerConnector side shuold receive MessagePortMsg_Message. | 566 // SharedWorkerConnector side shuold receive MessagePortMsg_Message. |
| 567 const std::vector<int> empty_ids; | 567 const std::vector<TransferredMessagePort> empty_ports; |
| 568 EXPECT_TRUE( | 568 EXPECT_TRUE( |
| 569 renderer_host0->OnMessageReceived(new MessagePortHostMsg_PostMessage( | 569 renderer_host0->OnMessageReceived(new MessagePortHostMsg_PostMessage( |
| 570 connector0->remote_port_id(), | 570 connector0->remote_port_id(), |
| 571 MessagePortMessage(base::ASCIIToUTF16("test2")), empty_ids))); | 571 MessagePortMessage(base::ASCIIToUTF16("test2")), empty_ports))); |
| 572 EXPECT_EQ(1U, renderer_host0->QueuedMessageCount()); | 572 EXPECT_EQ(1U, renderer_host0->QueuedMessageCount()); |
| 573 CheckMessagePortMsgMessage( | 573 CheckMessagePortMsgMessage( |
| 574 renderer_host0.get(), connector0->local_port_route_id(), "test2"); | 574 renderer_host0.get(), connector0->local_port_route_id(), "test2"); |
| 575 | 575 |
| 576 // The second renderer host. | 576 // The second renderer host. |
| 577 scoped_ptr<MockRendererProcessHost> renderer_host1( | 577 scoped_ptr<MockRendererProcessHost> renderer_host1( |
| 578 new MockRendererProcessHost(kProcessIDs[1], | 578 new MockRendererProcessHost(kProcessIDs[1], |
| 579 browser_context_->GetResourceContext(), | 579 browser_context_->GetResourceContext(), |
| 580 *partition_.get())); | 580 *partition_.get())); |
| 581 scoped_ptr<MockSharedWorkerConnector> connector1( | 581 scoped_ptr<MockSharedWorkerConnector> connector1( |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 640 connector1->SendPostMessage("test3"); | 640 connector1->SendPostMessage("test3"); |
| 641 EXPECT_EQ(1U, renderer_host0->QueuedMessageCount()); | 641 EXPECT_EQ(1U, renderer_host0->QueuedMessageCount()); |
| 642 CheckMessagePortMsgMessage( | 642 CheckMessagePortMsgMessage( |
| 643 renderer_host0.get(), worker_msg_port_route_id2, "test3"); | 643 renderer_host0.get(), worker_msg_port_route_id2, "test3"); |
| 644 | 644 |
| 645 // When SharedWorker side sends MessagePortHostMsg_PostMessage, | 645 // When SharedWorker side sends MessagePortHostMsg_PostMessage, |
| 646 // SharedWorkerConnector side shuold receive MessagePortMsg_Message. | 646 // SharedWorkerConnector side shuold receive MessagePortMsg_Message. |
| 647 EXPECT_TRUE( | 647 EXPECT_TRUE( |
| 648 renderer_host0->OnMessageReceived(new MessagePortHostMsg_PostMessage( | 648 renderer_host0->OnMessageReceived(new MessagePortHostMsg_PostMessage( |
| 649 connector1->remote_port_id(), | 649 connector1->remote_port_id(), |
| 650 MessagePortMessage(base::ASCIIToUTF16("test4")), empty_ids))); | 650 MessagePortMessage(base::ASCIIToUTF16("test4")), empty_ports))); |
| 651 EXPECT_EQ(1U, renderer_host1->QueuedMessageCount()); | 651 EXPECT_EQ(1U, renderer_host1->QueuedMessageCount()); |
| 652 CheckMessagePortMsgMessage( | 652 CheckMessagePortMsgMessage( |
| 653 renderer_host1.get(), connector1->local_port_route_id(), "test4"); | 653 renderer_host1.get(), connector1->local_port_route_id(), "test4"); |
| 654 | 654 |
| 655 EXPECT_EQ(1, s_update_worker_dependency_call_count_); | 655 EXPECT_EQ(1, s_update_worker_dependency_call_count_); |
| 656 renderer_host1.reset(); | 656 renderer_host1.reset(); |
| 657 // UpdateWorkerDependency should be called. | 657 // UpdateWorkerDependency should be called. |
| 658 EXPECT_EQ(2, s_update_worker_dependency_call_count_); | 658 EXPECT_EQ(2, s_update_worker_dependency_call_count_); |
| 659 EXPECT_EQ(0U, s_worker_dependency_added_ids_.size()); | 659 EXPECT_EQ(0U, s_worker_dependency_added_ids_.size()); |
| 660 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... |
| 909 kDocumentIDs[2], | 909 kDocumentIDs[2], |
| 910 kRenderFrameRouteIDs[2]); | 910 kRenderFrameRouteIDs[2]); |
| 911 EXPECT_NE(MSG_ROUTING_NONE, connector2->route_id()); | 911 EXPECT_NE(MSG_ROUTING_NONE, connector2->route_id()); |
| 912 EXPECT_EQ(0U, renderer_host2->QueuedMessageCount()); | 912 EXPECT_EQ(0U, renderer_host2->QueuedMessageCount()); |
| 913 RunAllPendingInMessageLoop(); | 913 RunAllPendingInMessageLoop(); |
| 914 EXPECT_EQ(1U, renderer_host2->QueuedMessageCount()); | 914 EXPECT_EQ(1U, renderer_host2->QueuedMessageCount()); |
| 915 CheckViewMsgWorkerCreated(renderer_host2.get(), connector2.get()); | 915 CheckViewMsgWorkerCreated(renderer_host2.get(), connector2.get()); |
| 916 } | 916 } |
| 917 | 917 |
| 918 } // namespace content | 918 } // namespace content |
| OLD | NEW |