Index: content/browser/service_worker/service_worker_url_request_job.cc |
diff --git a/content/browser/service_worker/service_worker_url_request_job.cc b/content/browser/service_worker/service_worker_url_request_job.cc |
index 13af10a6f23358ccdd915d635ec5c16bc2e6d42f..ce6087de6c9d6290f30510bddd53a26c04935816 100644 |
--- a/content/browser/service_worker/service_worker_url_request_job.cc |
+++ b/content/browser/service_worker/service_worker_url_request_job.cc |
@@ -365,6 +365,12 @@ void ServiceWorkerURLRequestJob::DidDispatchFetchEvent( |
// We should have a response now. |
DCHECK_EQ(SERVICE_WORKER_FETCH_EVENT_RESULT_RESPONSE, fetch_result); |
+ // Treat a response whose status is 0 as an error. |
+ if (response.status_code == 0) { |
+ DeliverErrorResponse(); |
+ return; |
+ } |
+ |
// Set up a request for reading the blob. |
if (!response.blob_uuid.empty() && blob_storage_context_) { |
scoped_ptr<storage::BlobDataHandle> blob_data_handle = |