| Index: Source/modules/fetch/Request.cpp
|
| diff --git a/Source/modules/fetch/Request.cpp b/Source/modules/fetch/Request.cpp
|
| index 7d4223c09ba2756cbfd23e77ac3d5f9bae849501..830023c354a4805da7e9da4964140a6ab7a96127 100644
|
| --- a/Source/modules/fetch/Request.cpp
|
| +++ b/Source/modules/fetch/Request.cpp
|
| @@ -42,6 +42,7 @@ FetchRequestData* createCopyOfFetchRequestDataForFetch(ScriptState* scriptState,
|
| request->setMode(original->mode());
|
| request->setCredentials(original->credentials());
|
| request->setRedirect(original->redirect());
|
| + request->setIntegrity(original->integrity());
|
| // FIXME: Set cache mode.
|
| // TODO(yhirano): Set redirect mode.
|
| return request;
|
| @@ -166,8 +167,10 @@ Request* Request::createRequestWithRequestOrString(ScriptState* scriptState, Req
|
| request->setRedirect(WebURLRequest::FetchRedirectModeManual);
|
| }
|
|
|
| - // TODO(jww): "23. If |init|'s integrity member is present, set |request|'s
|
| + // "If |init|'s integrity member is present, set |request|'s
|
| // integrity metadata to it."
|
| + if (!init.integrity.isNull())
|
| + request->setIntegrity(init.integrity);
|
|
|
| // "24. If |init|'s method member is present, let |method| be it and run
|
| // these substeps:"
|
| @@ -208,7 +211,13 @@ Request* Request::createRequestWithRequestOrString(ScriptState* scriptState, Req
|
| exceptionState.throwTypeError("'" + r->request()->method() + "' is unsupported in no-cors mode.");
|
| return nullptr;
|
| }
|
| - // "Set |r|'s Headers object's guard to |request-no-CORS|.
|
| + // "2. If |request|'s integrity metadata is not the empty string, throw
|
| + // a TypeError."
|
| + if (!request->integrity().isEmpty()) {
|
| + exceptionState.throwTypeError("The integrity attribute is unsupported in no-cors mode.");
|
| + return nullptr;
|
| + }
|
| + // "3. Set |r|'s Headers object's guard to |request-no-CORS|.
|
| r->headers()->setGuard(Headers::RequestNoCORSGuard);
|
| }
|
| // "30. Fill |r|'s Headers object with |headers|. Rethrow any exceptions."
|
| @@ -486,6 +495,11 @@ String Request::redirect() const
|
| return "";
|
| }
|
|
|
| +String Request::integrity() const
|
| +{
|
| + return m_request->integrity();
|
| +}
|
| +
|
| Request* Request::clone(ExceptionState& exceptionState)
|
| {
|
| if (bodyUsed()) {
|
|
|