| 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 "content/browser/shared_worker/shared_worker_service_impl.h" | 5 #include "content/browser/shared_worker/shared_worker_service_impl.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include <map> | 9 #include <map> |
| 10 #include <memory> | 10 #include <memory> |
| 11 #include <set> | 11 #include <set> |
| 12 #include <tuple> |
| 12 #include <vector> | 13 #include <vector> |
| 13 | 14 |
| 14 #include "base/atomic_sequence_num.h" | 15 #include "base/atomic_sequence_num.h" |
| 15 #include "base/macros.h" | 16 #include "base/macros.h" |
| 16 #include "base/memory/scoped_vector.h" | 17 #include "base/memory/scoped_vector.h" |
| 17 #include "base/strings/string16.h" | 18 #include "base/strings/string16.h" |
| 18 #include "base/strings/utf_string_conversions.h" | 19 #include "base/strings/utf_string_conversions.h" |
| 19 #include "base/synchronization/lock.h" | 20 #include "base/synchronization/lock.h" |
| 20 #include "content/browser/message_port_message_filter.h" | 21 #include "content/browser/message_port_message_filter.h" |
| 21 #include "content/browser/shared_worker/shared_worker_message_filter.h" | 22 #include "content/browser/shared_worker/shared_worker_message_filter.h" |
| (...skipping 303 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 325 }; | 326 }; |
| 326 | 327 |
| 327 void CheckWorkerProcessMsgCreateWorker( | 328 void CheckWorkerProcessMsgCreateWorker( |
| 328 MockRendererProcessHost* renderer_host, | 329 MockRendererProcessHost* renderer_host, |
| 329 const std::string& expected_url, | 330 const std::string& expected_url, |
| 330 const std::string& expected_name, | 331 const std::string& expected_name, |
| 331 blink::WebContentSecurityPolicyType expected_security_policy_type, | 332 blink::WebContentSecurityPolicyType expected_security_policy_type, |
| 332 int* route_id) { | 333 int* route_id) { |
| 333 std::unique_ptr<IPC::Message> msg(renderer_host->PopMessage()); | 334 std::unique_ptr<IPC::Message> msg(renderer_host->PopMessage()); |
| 334 EXPECT_EQ(WorkerProcessMsg_CreateWorker::ID, msg->type()); | 335 EXPECT_EQ(WorkerProcessMsg_CreateWorker::ID, msg->type()); |
| 335 base::Tuple<WorkerProcessMsg_CreateWorker_Params> param; | 336 std::tuple<WorkerProcessMsg_CreateWorker_Params> param; |
| 336 EXPECT_TRUE(WorkerProcessMsg_CreateWorker::Read(msg.get(), ¶m)); | 337 EXPECT_TRUE(WorkerProcessMsg_CreateWorker::Read(msg.get(), ¶m)); |
| 337 EXPECT_EQ(GURL(expected_url), base::get<0>(param).url); | 338 EXPECT_EQ(GURL(expected_url), std::get<0>(param).url); |
| 338 EXPECT_EQ(base::ASCIIToUTF16(expected_name), base::get<0>(param).name); | 339 EXPECT_EQ(base::ASCIIToUTF16(expected_name), std::get<0>(param).name); |
| 339 EXPECT_EQ(expected_security_policy_type, | 340 EXPECT_EQ(expected_security_policy_type, |
| 340 base::get<0>(param).security_policy_type); | 341 std::get<0>(param).security_policy_type); |
| 341 *route_id = base::get<0>(param).route_id; | 342 *route_id = std::get<0>(param).route_id; |
| 342 } | 343 } |
| 343 | 344 |
| 344 void CheckViewMsgWorkerCreated(MockRendererProcessHost* renderer_host, | 345 void CheckViewMsgWorkerCreated(MockRendererProcessHost* renderer_host, |
| 345 MockSharedWorkerConnector* connector) { | 346 MockSharedWorkerConnector* connector) { |
| 346 std::unique_ptr<IPC::Message> msg(renderer_host->PopMessage()); | 347 std::unique_ptr<IPC::Message> msg(renderer_host->PopMessage()); |
| 347 EXPECT_EQ(ViewMsg_WorkerCreated::ID, msg->type()); | 348 EXPECT_EQ(ViewMsg_WorkerCreated::ID, msg->type()); |
| 348 EXPECT_EQ(connector->route_id(), msg->routing_id()); | 349 EXPECT_EQ(connector->route_id(), msg->routing_id()); |
| 349 } | 350 } |
| 350 | 351 |
| 351 void CheckMessagePortMsgMessagesQueued(MockRendererProcessHost* renderer_host, | 352 void CheckMessagePortMsgMessagesQueued(MockRendererProcessHost* renderer_host, |
| 352 MockSharedWorkerConnector* connector) { | 353 MockSharedWorkerConnector* connector) { |
| 353 std::unique_ptr<IPC::Message> msg(renderer_host->PopMessage()); | 354 std::unique_ptr<IPC::Message> msg(renderer_host->PopMessage()); |
| 354 EXPECT_EQ(MessagePortMsg_MessagesQueued::ID, msg->type()); | 355 EXPECT_EQ(MessagePortMsg_MessagesQueued::ID, msg->type()); |
| 355 EXPECT_EQ(connector->temporary_remote_port_route_id(), msg->routing_id()); | 356 EXPECT_EQ(connector->temporary_remote_port_route_id(), msg->routing_id()); |
| 356 } | 357 } |
| 357 | 358 |
| 358 void CheckWorkerMsgConnect(MockRendererProcessHost* renderer_host, | 359 void CheckWorkerMsgConnect(MockRendererProcessHost* renderer_host, |
| 359 int expected_msg_route_id, | 360 int expected_msg_route_id, |
| 360 int expected_sent_message_port_id, | 361 int expected_sent_message_port_id, |
| 361 int* routing_id) { | 362 int* routing_id) { |
| 362 std::unique_ptr<IPC::Message> msg(renderer_host->PopMessage()); | 363 std::unique_ptr<IPC::Message> msg(renderer_host->PopMessage()); |
| 363 EXPECT_EQ(WorkerMsg_Connect::ID, msg->type()); | 364 EXPECT_EQ(WorkerMsg_Connect::ID, msg->type()); |
| 364 EXPECT_EQ(expected_msg_route_id, msg->routing_id()); | 365 EXPECT_EQ(expected_msg_route_id, msg->routing_id()); |
| 365 WorkerMsg_Connect::Param params; | 366 WorkerMsg_Connect::Param params; |
| 366 EXPECT_TRUE(WorkerMsg_Connect::Read(msg.get(), ¶ms)); | 367 EXPECT_TRUE(WorkerMsg_Connect::Read(msg.get(), ¶ms)); |
| 367 int port_id = base::get<0>(params); | 368 int port_id = std::get<0>(params); |
| 368 *routing_id = base::get<1>(params); | 369 *routing_id = std::get<1>(params); |
| 369 EXPECT_EQ(expected_sent_message_port_id, port_id); | 370 EXPECT_EQ(expected_sent_message_port_id, port_id); |
| 370 } | 371 } |
| 371 | 372 |
| 372 void CheckMessagePortMsgMessage(MockRendererProcessHost* renderer_host, | 373 void CheckMessagePortMsgMessage(MockRendererProcessHost* renderer_host, |
| 373 int expected_msg_route_id, | 374 int expected_msg_route_id, |
| 374 std::string expected_data) { | 375 std::string expected_data) { |
| 375 std::unique_ptr<IPC::Message> msg(renderer_host->PopMessage()); | 376 std::unique_ptr<IPC::Message> msg(renderer_host->PopMessage()); |
| 376 EXPECT_EQ(MessagePortMsg_Message::ID, msg->type()); | 377 EXPECT_EQ(MessagePortMsg_Message::ID, msg->type()); |
| 377 EXPECT_EQ(expected_msg_route_id, msg->routing_id()); | 378 EXPECT_EQ(expected_msg_route_id, msg->routing_id()); |
| 378 MessagePortMsg_Message::Param params; | 379 MessagePortMsg_Message::Param params; |
| 379 EXPECT_TRUE(MessagePortMsg_Message::Read(msg.get(), ¶ms)); | 380 EXPECT_TRUE(MessagePortMsg_Message::Read(msg.get(), ¶ms)); |
| 380 base::string16 data = base::get<0>(params); | 381 base::string16 data = std::get<0>(params); |
| 381 EXPECT_EQ(base::ASCIIToUTF16(expected_data), data); | 382 EXPECT_EQ(base::ASCIIToUTF16(expected_data), data); |
| 382 } | 383 } |
| 383 | 384 |
| 384 void CheckViewMsgWorkerConnected(MockRendererProcessHost* renderer_host, | 385 void CheckViewMsgWorkerConnected(MockRendererProcessHost* renderer_host, |
| 385 MockSharedWorkerConnector* connector) { | 386 MockSharedWorkerConnector* connector) { |
| 386 std::unique_ptr<IPC::Message> msg(renderer_host->PopMessage()); | 387 std::unique_ptr<IPC::Message> msg(renderer_host->PopMessage()); |
| 387 EXPECT_EQ(ViewMsg_WorkerConnected::ID, msg->type()); | 388 EXPECT_EQ(ViewMsg_WorkerConnected::ID, msg->type()); |
| 388 EXPECT_EQ(connector->route_id(), msg->routing_id()); | 389 EXPECT_EQ(connector->route_id(), msg->routing_id()); |
| 389 } | 390 } |
| 390 | 391 |
| (...skipping 526 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 917 kDocumentIDs[2], | 918 kDocumentIDs[2], |
| 918 kRenderFrameRouteIDs[2]); | 919 kRenderFrameRouteIDs[2]); |
| 919 EXPECT_NE(MSG_ROUTING_NONE, connector2->route_id()); | 920 EXPECT_NE(MSG_ROUTING_NONE, connector2->route_id()); |
| 920 EXPECT_EQ(0U, renderer_host2->QueuedMessageCount()); | 921 EXPECT_EQ(0U, renderer_host2->QueuedMessageCount()); |
| 921 RunAllPendingInMessageLoop(); | 922 RunAllPendingInMessageLoop(); |
| 922 EXPECT_EQ(1U, renderer_host2->QueuedMessageCount()); | 923 EXPECT_EQ(1U, renderer_host2->QueuedMessageCount()); |
| 923 CheckViewMsgWorkerCreated(renderer_host2.get(), connector2.get()); | 924 CheckViewMsgWorkerCreated(renderer_host2.get(), connector2.get()); |
| 924 } | 925 } |
| 925 | 926 |
| 926 } // namespace content | 927 } // namespace content |
| OLD | NEW |