Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(968)

Unified Diff: third_party/WebKit/Source/modules/serviceworkers/RespondWithObserver.cpp

Issue 1418813004: [Fetch API] Reflect spec changes of bodyUsed property (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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..c8ff295443d7273f1f30022faea88c0566007c7a 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.";
@@ -222,12 +225,15 @@ void RespondWithObserver::responseWasFulfilled(const ScriptValue& value)
responseWasRejected(WebServiceWorkerResponseErrorResponseTypeOpaqueRedirect);
return;
}
+ if (response->isBodyLocked()) {
+ responseWasRejected(WebServiceWorkerResponseErrorBodyLocked);
+ return;
+ }
if (response->bodyUsed()) {
responseWasRejected(WebServiceWorkerResponseErrorBodyUsed);
return;
}
- response->setBodyPassed();
WebServiceWorkerResponse webResponse;
response->populateWebServiceWorkerResponse(webResponse);
BodyStreamBuffer* buffer = response->internalBodyBuffer();

Powered by Google App Engine
This is Rietveld 408576698