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 |