Index: content/browser/service_worker/service_worker_browsertest.cc |
diff --git a/content/browser/service_worker/service_worker_browsertest.cc b/content/browser/service_worker/service_worker_browsertest.cc |
index 6bd5562ebf646f445bb97f274ff4209ffb19b546..899ff7bda3d55d65469ae055cc18f02480d3c850 100644 |
--- a/content/browser/service_worker/service_worker_browsertest.cc |
+++ b/content/browser/service_worker/service_worker_browsertest.cc |
@@ -29,6 +29,8 @@ |
#include "content/public/test/content_browser_test_utils.h" |
#include "content/shell/browser/shell.h" |
#include "net/test/embedded_test_server/embedded_test_server.h" |
+#include "net/test/embedded_test_server/http_request.h" |
+#include "net/test/embedded_test_server/http_response.h" |
#include "webkit/browser/blob/blob_data_handle.h" |
#include "webkit/browser/blob/blob_storage_context.h" |
#include "webkit/common/blob/blob_data.h" |
@@ -155,6 +157,20 @@ class WorkerActivatedObserver |
DISALLOW_COPY_AND_ASSIGN(WorkerActivatedObserver); |
}; |
+scoped_ptr<net::test_server::HttpResponse> VerifyServiceWorkerHeaderInRequest( |
+ const net::test_server::HttpRequest& request) { |
+ EXPECT_EQ(request.relative_url, "/service_worker/generated_sw.js"); |
+ std::map<std::string, std::string>::const_iterator it = |
+ request.headers.find("Service-Worker"); |
+ EXPECT_TRUE(it != request.headers.end()); |
+ EXPECT_EQ("script", it->second); |
+ |
+ scoped_ptr<net::test_server::BasicHttpResponse> http_response( |
+ new net::test_server::BasicHttpResponse()); |
+ http_response->set_content_type("text/javascript"); |
+ return http_response.PassAs<net::test_server::HttpResponse>(); |
+} |
+ |
} // namespace |
class ServiceWorkerBrowserTest : public ContentBrowserTest { |
@@ -559,6 +575,15 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, |
SERVICE_WORKER_OK); |
} |
+// Check that ServiceWorker script requests set a "Service-Worker: script" |
+// header. |
+IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, |
+ ServiceWorkerScriptHeader) { |
+ embedded_test_server()->RegisterRequestHandler( |
+ base::Bind(&VerifyServiceWorkerHeaderInRequest)); |
+ InstallTestHelper("/service_worker/generated_sw.js", SERVICE_WORKER_OK); |
+} |
+ |
IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, |
Activate_NoEventListener) { |
ActivateTestHelper("/service_worker/worker.js", SERVICE_WORKER_OK); |