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 44fab7f581af4ebfec85d300efe60def2206de1e..8faed6e7a2065e6802ef9a9cb02ea255cd34ca67 100644 |
--- a/content/browser/service_worker/service_worker_url_request_job.cc |
+++ b/content/browser/service_worker/service_worker_url_request_job.cc |
@@ -446,7 +446,9 @@ scoped_ptr<ServiceWorkerFetchRequest> |
ServiceWorkerURLRequestJob::CreateFetchRequest() { |
std::string blob_uuid; |
uint64_t blob_size = 0; |
- CreateRequestBodyBlob(&blob_uuid, &blob_size); |
+ // The upload data in URLRequest may have been cleared while handing redirect. |
+ if (request_->has_upload()) |
+ CreateRequestBodyBlob(&blob_uuid, &blob_size); |
scoped_ptr<ServiceWorkerFetchRequest> request( |
new ServiceWorkerFetchRequest()); |
request->mode = request_mode_; |