| Index: Source/modules/cachestorage/Cache.cpp
|
| diff --git a/Source/modules/cachestorage/Cache.cpp b/Source/modules/cachestorage/Cache.cpp
|
| index 27f52f339515e2c29841e924cc41a0180501cf9d..139cd8b3bce4e2ce9ccd8426aa729a07aaffbbe0 100644
|
| --- a/Source/modules/cachestorage/Cache.cpp
|
| +++ b/Source/modules/cachestorage/Cache.cpp
|
| @@ -557,15 +557,16 @@ ScriptPromise Cache::putImpl(ScriptState* scriptState, const HeapVector<Member<R
|
| }
|
|
|
| if (requests[i]->hasBody())
|
| - requests[i]->lockBody(Body::PassBody);
|
| + requests[i]->setBodyPassed();
|
| if (responses[i]->hasBody())
|
| - responses[i]->lockBody(Body::PassBody);
|
| + responses[i]->setBodyPassed();
|
|
|
| - if (OwnPtr<DrainingBodyStreamBuffer> buffer = responses[i]->createInternalDrainingStream()) {
|
| + BodyStreamBuffer* buffer = responses[i]->internalBodyBuffer();
|
| + if (buffer->hasBody()) {
|
| // If the response has body, read the all data and create
|
| // the blob handle and dispatch the put batch asynchronously.
|
| FetchDataLoader* loader = FetchDataLoader::createLoaderAsBlobHandle(responses[i]->internalMIMEType());
|
| - buffer->startLoading(loader, new BlobHandleCallbackForPut(i, barrierCallback, requests[i], responses[i]));
|
| + buffer->startLoading(scriptState->executionContext(), loader, new BlobHandleCallbackForPut(i, barrierCallback, requests[i], responses[i]));
|
| continue;
|
| }
|
|
|
|
|