Index: content/browser/service_worker/service_worker_dispatcher_host_unittest.cc |
diff --git a/content/browser/service_worker/service_worker_dispatcher_host_unittest.cc b/content/browser/service_worker/service_worker_dispatcher_host_unittest.cc |
index fe7cfa376e0966c946f6c3b68bbd5d2bf2cf7fa0..9d39c98f6499899fbb6248e4e52cf1c954f70add 100644 |
--- a/content/browser/service_worker/service_worker_dispatcher_host_unittest.cc |
+++ b/content/browser/service_worker/service_worker_dispatcher_host_unittest.cc |
@@ -108,7 +108,7 @@ class ServiceWorkerDispatcherHostTest : public testing::Test { |
scoped_refptr<TestingServiceWorkerDispatcherHost> dispatcher_host_; |
}; |
-TEST_F(ServiceWorkerDispatcherHostTest, Register_SameOrigin) { |
+TEST_F(ServiceWorkerDispatcherHostTest, Register) { |
const int64 kProviderId = 99; // Dummy value |
scoped_ptr<ServiceWorkerProviderHost> host(new ServiceWorkerProviderHost( |
kRenderProcessId, kProviderId, context()->AsWeakPtr(), NULL)); |
@@ -122,7 +122,21 @@ TEST_F(ServiceWorkerDispatcherHostTest, Register_SameOrigin) { |
ServiceWorkerMsg_ServiceWorkerRegistered::ID); |
} |
-TEST_F(ServiceWorkerDispatcherHostTest, Register_CrossOrigin) { |
+TEST_F(ServiceWorkerDispatcherHostTest, Register_NonHttpsSecureOrigin) { |
+ const int64 kProviderId = 99; // Dummy value |
+ scoped_ptr<ServiceWorkerProviderHost> host(new ServiceWorkerProviderHost( |
+ kRenderProcessId, kProviderId, context()->AsWeakPtr(), NULL)); |
+ host->SetDocumentUrl(GURL("http://127.0.0.1/")); |
+ base::WeakPtr<ServiceWorkerProviderHost> provider_host = host->AsWeakPtr(); |
+ context()->AddProviderHost(host.Pass()); |
+ |
+ Register(kProviderId, |
+ GURL("http://127.0.0.1/"), |
+ GURL("http://127.0.0.1/bar"), |
+ ServiceWorkerMsg_ServiceWorkerRegistered::ID); |
+} |
+ |
+TEST_F(ServiceWorkerDispatcherHostTest, Register_CrossOriginKillsRenderer) { |
const int64 kProviderId = 99; // Dummy value |
scoped_ptr<ServiceWorkerProviderHost> host(new ServiceWorkerProviderHost( |
kRenderProcessId, kProviderId, context()->AsWeakPtr(), NULL)); |
@@ -167,7 +181,7 @@ TEST_F(ServiceWorkerDispatcherHostTest, Register_CrossOrigin) { |
EXPECT_EQ(6, dispatcher_host_->bad_messages_received_count_); |
} |
-TEST_F(ServiceWorkerDispatcherHostTest, Unregister_SameOrigin) { |
+TEST_F(ServiceWorkerDispatcherHostTest, Register_NotSecureOriginKillsRenderer) { |
const int64 kProviderId = 99; // Dummy value |
scoped_ptr<ServiceWorkerProviderHost> host(new ServiceWorkerProviderHost( |
kRenderProcessId, kProviderId, context()->AsWeakPtr(), NULL)); |
@@ -175,12 +189,52 @@ TEST_F(ServiceWorkerDispatcherHostTest, Unregister_SameOrigin) { |
base::WeakPtr<ServiceWorkerProviderHost> provider_host = host->AsWeakPtr(); |
context()->AddProviderHost(host.Pass()); |
+ SendRegister(kProviderId, |
+ GURL("http://www.example.com/"), |
+ GURL("http://www.example.com/bar")); |
+ EXPECT_EQ(1, dispatcher_host_->bad_messages_received_count_); |
+} |
+ |
+TEST_F(ServiceWorkerDispatcherHostTest, Unregister) { |
+ const int64 kProviderId = 99; // Dummy value |
+ scoped_ptr<ServiceWorkerProviderHost> host(new ServiceWorkerProviderHost( |
+ kRenderProcessId, kProviderId, context()->AsWeakPtr(), NULL)); |
+ host->SetDocumentUrl(GURL("https://www.example.com/foo")); |
+ base::WeakPtr<ServiceWorkerProviderHost> provider_host = host->AsWeakPtr(); |
+ context()->AddProviderHost(host.Pass()); |
+ |
Unregister(kProviderId, |
- GURL("http://www.example.com/"), |
+ GURL("https://www.example.com/"), |
ServiceWorkerMsg_ServiceWorkerUnregistered::ID); |
} |
-TEST_F(ServiceWorkerDispatcherHostTest, Unregister_CrossOrigin) { |
+TEST_F(ServiceWorkerDispatcherHostTest, Unregister_NonHttpsSecureOrigin) { |
+ const int64 kProviderId = 99; // Dummy value |
+ scoped_ptr<ServiceWorkerProviderHost> host(new ServiceWorkerProviderHost( |
+ kRenderProcessId, kProviderId, context()->AsWeakPtr(), NULL)); |
+ host->SetDocumentUrl(GURL("http://localhost:8123/foo")); |
+ base::WeakPtr<ServiceWorkerProviderHost> provider_host = host->AsWeakPtr(); |
+ context()->AddProviderHost(host.Pass()); |
+ |
+ Unregister(kProviderId, |
+ GURL("http://localhost:8123/"), |
+ ServiceWorkerMsg_ServiceWorkerUnregistered::ID); |
+} |
+ |
+TEST_F(ServiceWorkerDispatcherHostTest, Unregister_CrossOriginKillsRenderer) { |
+ const int64 kProviderId = 99; // Dummy value |
+ scoped_ptr<ServiceWorkerProviderHost> host(new ServiceWorkerProviderHost( |
+ kRenderProcessId, kProviderId, context()->AsWeakPtr(), NULL)); |
+ host->SetDocumentUrl(GURL("https://www.example.com/foo")); |
+ base::WeakPtr<ServiceWorkerProviderHost> provider_host = host->AsWeakPtr(); |
+ context()->AddProviderHost(host.Pass()); |
+ |
+ SendUnregister(kProviderId, GURL("https://foo.example.com/")); |
+ EXPECT_EQ(1, dispatcher_host_->bad_messages_received_count_); |
+} |
+ |
+TEST_F(ServiceWorkerDispatcherHostTest, |
+ Unregister_NotSecureOriginKillsRenderer) { |
const int64 kProviderId = 99; // Dummy value |
scoped_ptr<ServiceWorkerProviderHost> host(new ServiceWorkerProviderHost( |
kRenderProcessId, kProviderId, context()->AsWeakPtr(), NULL)); |
@@ -188,7 +242,7 @@ TEST_F(ServiceWorkerDispatcherHostTest, Unregister_CrossOrigin) { |
base::WeakPtr<ServiceWorkerProviderHost> provider_host = host->AsWeakPtr(); |
context()->AddProviderHost(host.Pass()); |
- SendUnregister(kProviderId, GURL("http://foo.example.com/")); |
+ SendUnregister(kProviderId, GURL("http://www.example.com/")); |
EXPECT_EQ(1, dispatcher_host_->bad_messages_received_count_); |
} |