Index: Source/modules/serviceworkers/Cache.cpp |
diff --git a/Source/modules/serviceworkers/Cache.cpp b/Source/modules/serviceworkers/Cache.cpp |
index 5a1a5eac12fff23ec959457db8c4faea461f6b1c..8f288ef7d5f7224140ee52906e3fe62e0c09e87d 100644 |
--- a/Source/modules/serviceworkers/Cache.cpp |
+++ b/Source/modules/serviceworkers/Cache.cpp |
@@ -372,14 +372,8 @@ ScriptPromise Cache::putImpl(ScriptState* scriptState, Request* request, Respons |
RefPtrWillBeRawPtr<ScriptPromiseResolver> resolver = ScriptPromiseResolver::create(scriptState); |
const ScriptPromise promise = resolver->promise(); |
if (BodyStreamBuffer* buffer = response->internalBuffer()) { |
- if (buffer == response->buffer() && response->streamAccessed()) { |
- bool dataLost = false; |
- buffer = response->createDrainingStream(&dataLost); |
- if (dataLost) { |
- resolver->reject(DOMException::create(NotSupportedError, "Storing the Response which .body is partially read is not supported.")); |
- return promise; |
- } |
- } |
+ if (buffer == response->buffer() && response->streamAccessed()) |
+ buffer = response->createDrainingStream(); |
// If the response body type is stream, read the all data and create the |
// blob handle and dispatch the put batch asynchronously. |
buffer->readAllAndCreateBlobHandle(response->internalContentTypeForBuffer(), new AsyncPutBatch(resolver, this, request, response)); |