| Index: content/browser/shared_worker/shared_worker_service_impl_unittest.cc
|
| diff --git a/content/browser/shared_worker/shared_worker_service_impl_unittest.cc b/content/browser/shared_worker/shared_worker_service_impl_unittest.cc
|
| index 90198f1f17f301cc6b8116e8905a4de717dbca7b..eb877a836047a2a58d649ef1c3df6307815638a2 100644
|
| --- a/content/browser/shared_worker/shared_worker_service_impl_unittest.cc
|
| +++ b/content/browser/shared_worker/shared_worker_service_impl_unittest.cc
|
| @@ -739,15 +739,18 @@ TEST_F(SharedWorkerServiceImplTest, CreateWorkerTest) {
|
| "name2",
|
| kDocumentIDs[1],
|
| kRenderFrameRouteIDs[1]);
|
| - EXPECT_EQ(MSG_ROUTING_NONE, connector1->route_id());
|
| - EXPECT_EQ(blink::WebWorkerCreationErrorURLMismatch,
|
| - connector1->creation_error());
|
| + EXPECT_NE(MSG_ROUTING_NONE, connector1->route_id());
|
| + EXPECT_EQ(blink::WebWorkerCreationErrorNone, connector1->creation_error());
|
| EXPECT_EQ(0U, renderer_host1->QueuedMessageCount());
|
| RunAllPendingInMessageLoop();
|
| - EXPECT_EQ(0U, renderer_host1->QueuedMessageCount());
|
| + EXPECT_EQ(2U, renderer_host1->QueuedMessageCount());
|
| + CheckWorkerProcessMsgCreateWorker(
|
| + renderer_host1.get(), "http://example.com/w2x.js", "name2",
|
| + blink::WebContentSecurityPolicyTypeReport, &worker_route_id);
|
| + CheckViewMsgWorkerCreated(renderer_host1.get(), connector1.get());
|
| }
|
|
|
| - // Pending case.
|
| + // Normal case (name mismatch).
|
| {
|
| std::unique_ptr<MockSharedWorkerConnector> connector0(
|
| new MockSharedWorkerConnector(renderer_host0.get()));
|
| @@ -759,25 +762,26 @@ TEST_F(SharedWorkerServiceImplTest, CreateWorkerTest) {
|
| kRenderFrameRouteIDs[0]);
|
| EXPECT_NE(MSG_ROUTING_NONE, connector0->route_id());
|
| EXPECT_EQ(0U, renderer_host0->QueuedMessageCount());
|
| - connector1->Create("http://example.com/w3.js",
|
| - "name3",
|
| - kDocumentIDs[1],
|
| + RunAllPendingInMessageLoop();
|
| + EXPECT_EQ(2U, renderer_host0->QueuedMessageCount());
|
| + CheckWorkerProcessMsgCreateWorker(
|
| + renderer_host0.get(), "http://example.com/w3.js", "name3",
|
| + blink::WebContentSecurityPolicyTypeReport, &worker_route_id);
|
| + CheckViewMsgWorkerCreated(renderer_host0.get(), connector0.get());
|
| + connector1->Create("http://example.com/w3.js", "name3x", kDocumentIDs[1],
|
| kRenderFrameRouteIDs[1]);
|
| EXPECT_NE(MSG_ROUTING_NONE, connector1->route_id());
|
| + EXPECT_EQ(blink::WebWorkerCreationErrorNone, connector1->creation_error());
|
| EXPECT_EQ(0U, renderer_host1->QueuedMessageCount());
|
| RunAllPendingInMessageLoop();
|
| - EXPECT_EQ(2U, renderer_host0->QueuedMessageCount());
|
| - CheckWorkerProcessMsgCreateWorker(renderer_host0.get(),
|
| - "http://example.com/w3.js",
|
| - "name3",
|
| - blink::WebContentSecurityPolicyTypeReport,
|
| - &worker_route_id);
|
| - CheckViewMsgWorkerCreated(renderer_host0.get(), connector0.get());
|
| - EXPECT_EQ(1U, renderer_host1->QueuedMessageCount());
|
| + EXPECT_EQ(2U, renderer_host1->QueuedMessageCount());
|
| + CheckWorkerProcessMsgCreateWorker(
|
| + renderer_host1.get(), "http://example.com/w3.js", "name3x",
|
| + blink::WebContentSecurityPolicyTypeReport, &worker_route_id);
|
| CheckViewMsgWorkerCreated(renderer_host1.get(), connector1.get());
|
| }
|
|
|
| - // Pending case (URL mismatch).
|
| + // Pending case.
|
| {
|
| std::unique_ptr<MockSharedWorkerConnector> connector0(
|
| new MockSharedWorkerConnector(renderer_host0.get()));
|
| @@ -789,11 +793,9 @@ TEST_F(SharedWorkerServiceImplTest, CreateWorkerTest) {
|
| kRenderFrameRouteIDs[0]);
|
| EXPECT_NE(MSG_ROUTING_NONE, connector0->route_id());
|
| EXPECT_EQ(0U, renderer_host0->QueuedMessageCount());
|
| - connector1->Create("http://example.com/w4x.js",
|
| - "name4",
|
| - kDocumentIDs[1],
|
| + connector1->Create("http://example.com/w4.js", "name4", kDocumentIDs[1],
|
| kRenderFrameRouteIDs[1]);
|
| - EXPECT_EQ(MSG_ROUTING_NONE, connector1->route_id());
|
| + EXPECT_NE(MSG_ROUTING_NONE, connector1->route_id());
|
| EXPECT_EQ(0U, renderer_host1->QueuedMessageCount());
|
| RunAllPendingInMessageLoop();
|
| EXPECT_EQ(2U, renderer_host0->QueuedMessageCount());
|
| @@ -803,7 +805,62 @@ TEST_F(SharedWorkerServiceImplTest, CreateWorkerTest) {
|
| blink::WebContentSecurityPolicyTypeReport,
|
| &worker_route_id);
|
| CheckViewMsgWorkerCreated(renderer_host0.get(), connector0.get());
|
| + EXPECT_EQ(1U, renderer_host1->QueuedMessageCount());
|
| + CheckViewMsgWorkerCreated(renderer_host1.get(), connector1.get());
|
| + }
|
| +
|
| + // Pending case (URL mismatch).
|
| + {
|
| + std::unique_ptr<MockSharedWorkerConnector> connector0(
|
| + new MockSharedWorkerConnector(renderer_host0.get()));
|
| + std::unique_ptr<MockSharedWorkerConnector> connector1(
|
| + new MockSharedWorkerConnector(renderer_host1.get()));
|
| + connector0->Create("http://example.com/w5.js", "name5", kDocumentIDs[0],
|
| + kRenderFrameRouteIDs[0]);
|
| + EXPECT_NE(MSG_ROUTING_NONE, connector0->route_id());
|
| + EXPECT_EQ(0U, renderer_host0->QueuedMessageCount());
|
| + connector1->Create("http://example.com/w5x.js", "name5", kDocumentIDs[1],
|
| + kRenderFrameRouteIDs[1]);
|
| + EXPECT_NE(MSG_ROUTING_NONE, connector1->route_id());
|
| + EXPECT_EQ(0U, renderer_host1->QueuedMessageCount());
|
| + RunAllPendingInMessageLoop();
|
| + EXPECT_EQ(2U, renderer_host0->QueuedMessageCount());
|
| + CheckWorkerProcessMsgCreateWorker(
|
| + renderer_host0.get(), "http://example.com/w5.js", "name5",
|
| + blink::WebContentSecurityPolicyTypeReport, &worker_route_id);
|
| + CheckViewMsgWorkerCreated(renderer_host0.get(), connector0.get());
|
| + EXPECT_EQ(2U, renderer_host1->QueuedMessageCount());
|
| + CheckWorkerProcessMsgCreateWorker(
|
| + renderer_host1.get(), "http://example.com/w5x.js", "name5",
|
| + blink::WebContentSecurityPolicyTypeReport, &worker_route_id);
|
| + CheckViewMsgWorkerCreated(renderer_host1.get(), connector1.get());
|
| + }
|
| +
|
| + // Pending case (name mismatch).
|
| + {
|
| + std::unique_ptr<MockSharedWorkerConnector> connector0(
|
| + new MockSharedWorkerConnector(renderer_host0.get()));
|
| + std::unique_ptr<MockSharedWorkerConnector> connector1(
|
| + new MockSharedWorkerConnector(renderer_host1.get()));
|
| + connector0->Create("http://example.com/w6.js", "name6", kDocumentIDs[0],
|
| + kRenderFrameRouteIDs[0]);
|
| + EXPECT_NE(MSG_ROUTING_NONE, connector0->route_id());
|
| + EXPECT_EQ(0U, renderer_host0->QueuedMessageCount());
|
| + connector1->Create("http://example.com/w6.js", "name6x", kDocumentIDs[1],
|
| + kRenderFrameRouteIDs[1]);
|
| + EXPECT_NE(MSG_ROUTING_NONE, connector1->route_id());
|
| EXPECT_EQ(0U, renderer_host1->QueuedMessageCount());
|
| + RunAllPendingInMessageLoop();
|
| + EXPECT_EQ(2U, renderer_host0->QueuedMessageCount());
|
| + CheckWorkerProcessMsgCreateWorker(
|
| + renderer_host0.get(), "http://example.com/w6.js", "name6",
|
| + blink::WebContentSecurityPolicyTypeReport, &worker_route_id);
|
| + CheckViewMsgWorkerCreated(renderer_host0.get(), connector0.get());
|
| + EXPECT_EQ(2U, renderer_host1->QueuedMessageCount());
|
| + CheckWorkerProcessMsgCreateWorker(
|
| + renderer_host1.get(), "http://example.com/w6.js", "name6x",
|
| + blink::WebContentSecurityPolicyTypeReport, &worker_route_id);
|
| + CheckViewMsgWorkerCreated(renderer_host1.get(), connector1.get());
|
| }
|
| }
|
|
|
|
|