| Index: content/browser/service_worker/service_worker_fetch_dispatcher.cc
|
| diff --git a/content/browser/service_worker/service_worker_fetch_dispatcher.cc b/content/browser/service_worker/service_worker_fetch_dispatcher.cc
|
| index 81be9aff2a7e3624b83af03071295210428b67af..dd33f40d45ea6bba6d38c55d98cc4235f53f344f 100644
|
| --- a/content/browser/service_worker/service_worker_fetch_dispatcher.cc
|
| +++ b/content/browser/service_worker/service_worker_fetch_dispatcher.cc
|
| @@ -7,21 +7,20 @@
|
| #include "base/bind.h"
|
| #include "content/browser/service_worker/service_worker_version.h"
|
| #include "net/url_request/url_request.h"
|
| +#include "webkit/browser/blob/blob_storage_context.h"
|
|
|
| namespace content {
|
|
|
| ServiceWorkerFetchDispatcher::ServiceWorkerFetchDispatcher(
|
| - net::URLRequest* request,
|
| + const ServiceWorkerFetchRequest& request,
|
| ServiceWorkerVersion* version,
|
| + base::WeakPtr<webkit_blob::BlobStorageContext> blob_storage_context,
|
| const FetchCallback& callback)
|
| : version_(version),
|
| callback_(callback),
|
| + request_(request),
|
| + blob_storage_context_(blob_storage_context),
|
| weak_factory_(this) {
|
| - request_.url = request->url();
|
| - request_.method = request->method();
|
| - const net::HttpRequestHeaders& headers = request->extra_request_headers();
|
| - for (net::HttpRequestHeaders::Iterator it(headers); it.GetNext();)
|
| - request_.headers[it.name()] = it.value();
|
| }
|
|
|
| ServiceWorkerFetchDispatcher::~ServiceWorkerFetchDispatcher() {}
|
| @@ -72,7 +71,12 @@ void ServiceWorkerFetchDispatcher::DidFinish(
|
| const ServiceWorkerResponse& response) {
|
| DCHECK(!callback_.is_null());
|
| FetchCallback callback = callback_;
|
| - callback.Run(status, fetch_result, response);
|
| + scoped_ptr<webkit_blob::BlobDataHandle> blob_data_handle;
|
| + if (!response.blob_uuid.empty() && blob_storage_context_) {
|
| + blob_data_handle =
|
| + blob_storage_context_->GetBlobDataFromUUID(response.blob_uuid);
|
| + }
|
| + callback.Run(status, fetch_result, response, blob_data_handle.Pass());
|
| }
|
|
|
| } // namespace content
|
|
|