| Index: third_party/WebKit/Source/modules/serviceworkers/RespondWithObserver.cpp
|
| diff --git a/third_party/WebKit/Source/modules/serviceworkers/RespondWithObserver.cpp b/third_party/WebKit/Source/modules/serviceworkers/RespondWithObserver.cpp
|
| index 8eecaab106c2805e763df6896aa5177558fe03e7..afd50ec81eff514ed5942ea05a9dc39a030252d0 100644
|
| --- a/third_party/WebKit/Source/modules/serviceworkers/RespondWithObserver.cpp
|
| +++ b/third_party/WebKit/Source/modules/serviceworkers/RespondWithObserver.cpp
|
| @@ -57,6 +57,9 @@ const String getMessageForResponseError(WebServiceWorkerResponseError error, con
|
| case WebServiceWorkerResponseErrorResponseTypeOpaqueRedirect:
|
| errorMessage = errorMessage + "an \"opaqueredirect\" type response was used for a request which is not a navigation request.";
|
| break;
|
| + case WebServiceWorkerResponseErrorBodyLocked:
|
| + errorMessage = errorMessage + "a Response whose \"body\" is locked cannot be used to respond to a request.";
|
| + break;
|
| case WebServiceWorkerResponseErrorUnknown:
|
| default:
|
| errorMessage = errorMessage + "an unexpected error occurred.";
|
| @@ -226,8 +229,11 @@ void RespondWithObserver::responseWasFulfilled(const ScriptValue& value)
|
| responseWasRejected(WebServiceWorkerResponseErrorBodyUsed);
|
| return;
|
| }
|
| + if (response->isBodyLocked()) {
|
| + responseWasRejected(WebServiceWorkerResponseErrorBodyLocked);
|
| + return;
|
| + }
|
|
|
| - response->setBodyPassed();
|
| WebServiceWorkerResponse webResponse;
|
| response->populateWebServiceWorkerResponse(webResponse);
|
| BodyStreamBuffer* buffer = response->internalBodyBuffer();
|
|
|