Chromium Code Reviews| Index: content/renderer/service_worker/service_worker_cache_storage_dispatcher.cc |
| diff --git a/content/renderer/service_worker/service_worker_cache_storage_dispatcher.cc b/content/renderer/service_worker/service_worker_cache_storage_dispatcher.cc |
| index 3583458fb59ef799f8580bfd0a0b218e7161b40e..36170aa67986911c9927b7ddb4c2d1ab92636fb0 100644 |
| --- a/content/renderer/service_worker/service_worker_cache_storage_dispatcher.cc |
| +++ b/content/renderer/service_worker/service_worker_cache_storage_dispatcher.cc |
| @@ -90,33 +90,8 @@ ServiceWorkerResponse ResponseFromWebResponse( |
| base::UTF16ToASCII(web_response.statusText()), |
| web_response.responseType(), |
| headers, |
| - base::UTF16ToASCII(web_response.blobUUID())); |
| -} |
| - |
| -void PopulateWebResponseFromResponse( |
| - const ServiceWorkerResponse& response, |
| - blink::WebServiceWorkerResponse* web_response) { |
| - web_response->setURL(response.url); |
| - web_response->setStatus(response.status_code); |
| - web_response->setStatusText(base::ASCIIToUTF16(response.status_text)); |
| - web_response->setResponseType(response.response_type); |
| - |
| - for (ServiceWorkerHeaderMap::const_iterator i = response.headers.begin(), |
| - end = response.headers.end(); |
| - i != end; ++i) { |
| - web_response->setHeader(base::ASCIIToUTF16(i->first), |
| - base::ASCIIToUTF16(i->second)); |
| - } |
| - // TODO(gavinp): set blob here. |
| -} |
| - |
| -blink::WebVector<blink::WebServiceWorkerResponse> WebResponsesFromResponses( |
| - const std::vector<ServiceWorkerResponse>& responses) { |
| - blink::WebVector<blink::WebServiceWorkerResponse> |
| - web_responses(responses.size()); |
| - for (size_t i = 0; i < responses.size(); ++i) |
| - PopulateWebResponseFromResponse(responses[i], &(web_responses[i])); |
| - return web_responses; |
| + base::UTF16ToASCII(web_response.blobUUID()), |
| + web_response.blobSize()); |
| } |
| ServiceWorkerCacheQueryParams QueryParamsFromWebQueryParams( |
| @@ -558,10 +533,46 @@ void ServiceWorkerCacheStorageDispatcher::dispatchBatchForCache( |
| script_context_->GetRoutingID(), request_id, cache_id, operations)); |
| } |
| +void ServiceWorkerCacheStorageDispatcher::dispatchBlobDataHandled( |
| + const std::string& uuid) { |
| + script_context_->Send(new ServiceWorkerHostMsg_BlobDataHandled( |
| + script_context_->GetRoutingID(), base::ASCIIToUTF16(uuid))); |
|
michaeln
2014/10/06 21:01:33
can this be std::string?
jkarlin
2014/10/07 12:48:17
I agree that we should be sending strings instead
michaeln
2014/10/07 21:29:57
nit: oh well, cargo cult wins?
In this case i thi
|
| +} |
| + |
| void ServiceWorkerCacheStorageDispatcher::OnWebCacheDestruction(int cache_id) { |
| web_caches_.Remove(cache_id); |
| script_context_->Send(new ServiceWorkerHostMsg_CacheClosed( |
| script_context_->GetRoutingID(), cache_id)); |
| } |
| +void ServiceWorkerCacheStorageDispatcher::PopulateWebResponseFromResponse( |
| + const ServiceWorkerResponse& response, |
| + blink::WebServiceWorkerResponse* web_response) { |
| + web_response->setURL(response.url); |
| + web_response->setStatus(response.status_code); |
| + web_response->setStatusText(base::ASCIIToUTF16(response.status_text)); |
| + web_response->setResponseType(response.response_type); |
| + |
| + for (const auto& i : response.headers) { |
| + web_response->setHeader(base::ASCIIToUTF16(i.first), |
| + base::ASCIIToUTF16(i.second)); |
| + } |
| + |
| + web_response->setBlob(blink::WebString::fromUTF8(response.blob_uuid), |
| + response.blob_size); |
| + |
| + // Let the host know that it can release its reference to the blob. |
| + dispatchBlobDataHandled(response.blob_uuid); |
| +} |
| + |
| +blink::WebVector<blink::WebServiceWorkerResponse> |
| +ServiceWorkerCacheStorageDispatcher::WebResponsesFromResponses( |
| + const std::vector<ServiceWorkerResponse>& responses) { |
| + blink::WebVector<blink::WebServiceWorkerResponse> web_responses( |
| + responses.size()); |
| + for (size_t i = 0; i < responses.size(); ++i) |
| + PopulateWebResponseFromResponse(responses[i], &(web_responses[i])); |
| + return web_responses; |
| +} |
| + |
| } // namespace content |