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

Unified Diff: content/browser/service_worker/service_worker_dispatcher_host_unittest.cc

Issue 889323002: Allow SW registration only if it's secure AND it's HTTP or HTTPS (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: remove LOG(ERROR) Created 5 years, 11 months 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
« no previous file with comments | « content/browser/service_worker/service_worker_dispatcher_host.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 07cf40e8da2f813d1f34142f268b10b230b2f616..040761e451c66a3ff44c8c0995032b448b534695 100644
--- a/content/browser/service_worker/service_worker_dispatcher_host_unittest.cc
+++ b/content/browser/service_worker/service_worker_dispatcher_host_unittest.cc
@@ -235,10 +235,10 @@ TEST_F(ServiceWorkerDispatcherHostTest, Register_NonSecureOriginShouldFail) {
host->SetDocumentUrl(GURL("http://www.example.com/foo"));
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_);
+ Register(kProviderId,
+ GURL("http://www.example.com/"),
+ GURL("http://www.example.com/bar"),
+ ServiceWorkerMsg_ServiceWorkerRegistrationError::ID);
}
TEST_F(ServiceWorkerDispatcherHostTest, Register_CrossOriginShouldFail) {
@@ -249,40 +249,88 @@ TEST_F(ServiceWorkerDispatcherHostTest, Register_CrossOriginShouldFail) {
context()->AddProviderHost(host.Pass());
// Script has a different host
- SendRegister(kProviderId,
- GURL("https://www.example.com/"),
- GURL("https://foo.example.com/bar"));
- EXPECT_EQ(1, dispatcher_host_->bad_messages_received_count_);
+ Register(kProviderId,
+ GURL("https://www.example.com/"),
+ GURL("https://foo.example.com/bar"),
+ ServiceWorkerMsg_ServiceWorkerRegistrationError::ID);
// Scope has a different host
- SendRegister(kProviderId,
- GURL("https://foo.example.com/"),
- GURL("https://www.example.com/bar"));
- EXPECT_EQ(2, dispatcher_host_->bad_messages_received_count_);
+ Register(kProviderId,
+ GURL("https://foo.example.com/"),
+ GURL("https://www.example.com/bar"),
+ ServiceWorkerMsg_ServiceWorkerRegistrationError::ID);
// Script has a different port
- SendRegister(kProviderId,
- GURL("https://www.example.com/"),
- GURL("https://www.example.com:8080/bar"));
- EXPECT_EQ(3, dispatcher_host_->bad_messages_received_count_);
+ Register(kProviderId,
+ GURL("https://www.example.com/"),
+ GURL("https://www.example.com:8080/bar"),
+ ServiceWorkerMsg_ServiceWorkerRegistrationError::ID);
// Scope has a different transport
- SendRegister(kProviderId,
- GURL("wss://www.example.com/"),
- GURL("https://www.example.com/bar"));
- EXPECT_EQ(4, dispatcher_host_->bad_messages_received_count_);
+ Register(kProviderId,
+ GURL("wss://www.example.com/"),
+ GURL("https://www.example.com/bar"),
+ ServiceWorkerMsg_ServiceWorkerRegistrationError::ID);
// Script and scope have a different host but match each other
- SendRegister(kProviderId,
- GURL("https://foo.example.com/"),
- GURL("https://foo.example.com/bar"));
- EXPECT_EQ(5, dispatcher_host_->bad_messages_received_count_);
+ Register(kProviderId,
+ GURL("https://foo.example.com/"),
+ GURL("https://foo.example.com/bar"),
+ ServiceWorkerMsg_ServiceWorkerRegistrationError::ID);
// Script and scope URLs are invalid
SendRegister(kProviderId,
GURL(),
GURL("h@ttps://@"));
- EXPECT_EQ(6, dispatcher_host_->bad_messages_received_count_);
+ EXPECT_EQ(1, dispatcher_host_->bad_messages_received_count_);
+}
+
+TEST_F(ServiceWorkerDispatcherHostTest,
+ Register_FileSystemDocumentShouldFail) {
+ const int64 kProviderId = 99; // Dummy value
+ scoped_ptr<ServiceWorkerProviderHost> host(
+ CreateServiceWorkerProviderHost(kProviderId));
+ host->SetDocumentUrl(GURL("filesystem:https://www.example.com/temporary/a"));
+ context()->AddProviderHost(host.Pass());
+
+ Register(kProviderId,
+ GURL("filesystem:https://www.example.com/temporary/"),
+ GURL("https://www.example.com/temporary/bar"),
+ ServiceWorkerMsg_ServiceWorkerRegistrationError::ID);
+
+ Register(kProviderId,
+ GURL("https://www.example.com/temporary/"),
+ GURL("filesystem:https://www.example.com/temporary/bar"),
+ ServiceWorkerMsg_ServiceWorkerRegistrationError::ID);
+
+ Register(kProviderId,
+ GURL("filesystem:https://www.example.com/temporary/"),
+ GURL("filesystem:https://www.example.com/temporary/bar"),
+ ServiceWorkerMsg_ServiceWorkerRegistrationError::ID);
+}
+
+TEST_F(ServiceWorkerDispatcherHostTest,
+ Register_FileSystemScriptOrScopeShouldFail) {
+ const int64 kProviderId = 99; // Dummy value
+ scoped_ptr<ServiceWorkerProviderHost> host(
+ CreateServiceWorkerProviderHost(kProviderId));
+ host->SetDocumentUrl(GURL("https://www.example.com/temporary/"));
+ context()->AddProviderHost(host.Pass());
+
+ Register(kProviderId,
+ GURL("filesystem:https://www.example.com/temporary/"),
+ GURL("https://www.example.com/temporary/bar"),
+ ServiceWorkerMsg_ServiceWorkerRegistrationError::ID);
+
+ Register(kProviderId,
+ GURL("https://www.example.com/temporary/"),
+ GURL("filesystem:https://www.example.com/temporary/bar"),
+ ServiceWorkerMsg_ServiceWorkerRegistrationError::ID);
+
+ Register(kProviderId,
+ GURL("filesystem:https://www.example.com/temporary/"),
+ GURL("filesystem:https://www.example.com/temporary/bar"),
+ ServiceWorkerMsg_ServiceWorkerRegistrationError::ID);
}
TEST_F(ServiceWorkerDispatcherHostTest, Unregister_HTTPS) {
@@ -317,8 +365,9 @@ TEST_F(ServiceWorkerDispatcherHostTest, Unregister_CrossOriginShouldFail) {
host->SetDocumentUrl(GURL("https://www.example.com/foo"));
context()->AddProviderHost(host.Pass());
- SendUnregister(kProviderId, GURL("https://foo.example.com/"));
- EXPECT_EQ(1, dispatcher_host_->bad_messages_received_count_);
+ Unregister(kProviderId,
+ GURL("https://foo.example.com/"),
+ ServiceWorkerMsg_ServiceWorkerUnregistrationError::ID);
}
TEST_F(ServiceWorkerDispatcherHostTest, Unregister_InvalidScopeShouldFail) {
@@ -339,8 +388,9 @@ TEST_F(ServiceWorkerDispatcherHostTest, Unregister_NonSecureOriginShouldFail) {
host->SetDocumentUrl(GURL("http://www.example.com/foo"));
context()->AddProviderHost(host.Pass());
- SendUnregister(kProviderId, GURL("http://www.example.com/"));
- EXPECT_EQ(1, dispatcher_host_->bad_messages_received_count_);
+ Unregister(kProviderId,
+ GURL("http://www.example.com/"),
+ ServiceWorkerMsg_ServiceWorkerUnregistrationError::ID);
}
TEST_F(ServiceWorkerDispatcherHostTest, EarlyContextDeletion) {
@@ -405,8 +455,9 @@ TEST_F(ServiceWorkerDispatcherHostTest, GetRegistration_CrossOriginShouldFail) {
host->SetDocumentUrl(GURL("https://www.example.com/foo"));
context()->AddProviderHost(host.Pass());
- SendGetRegistration(kProviderId, GURL("https://foo.example.com/"));
- EXPECT_EQ(1, dispatcher_host_->bad_messages_received_count_);
+ GetRegistration(kProviderId,
+ GURL("https://foo.example.com/"),
+ ServiceWorkerMsg_ServiceWorkerGetRegistrationError::ID);
}
TEST_F(ServiceWorkerDispatcherHostTest,
@@ -429,8 +480,9 @@ TEST_F(ServiceWorkerDispatcherHostTest,
host->SetDocumentUrl(GURL("http://www.example.com/foo"));
context()->AddProviderHost(host.Pass());
- SendGetRegistration(kProviderId, GURL("http://www.example.com/"));
- EXPECT_EQ(1, dispatcher_host_->bad_messages_received_count_);
+ GetRegistration(kProviderId,
+ GURL("http://www.example.com/"),
+ ServiceWorkerMsg_ServiceWorkerGetRegistrationError::ID);
}
TEST_F(ServiceWorkerDispatcherHostTest, GetRegistration_EarlyContextDeletion) {
« no previous file with comments | « content/browser/service_worker/service_worker_dispatcher_host.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698