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

Unified Diff: content/browser/shared_worker/shared_worker_service_impl_unittest.cc

Issue 2604733002: SharedWorker: Make shared workers keyed by a pair of url and name (Closed)
Patch Set: clean up Created 4 years 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 side-by-side diff with in-line comments
Download patch
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());
}
}
« no previous file with comments | « content/browser/shared_worker/shared_worker_service_impl.cc ('k') | content/renderer/shared_worker_repository.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698