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

Side by Side Diff: content/browser/shared_worker/shared_worker_service_impl_unittest.cc

Issue 921013002: Optionally have MessagePort pass data as base::Value, part 1. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@n-c-move-v8-value-converter
Patch Set: Update singly-included comment Created 5 years, 9 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 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
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
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(), &params)); 373 EXPECT_TRUE(MessagePortMsg_Message::Read(msg.get(), &params));
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
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
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698