| Index: Source/modules/fetch/Request.cpp
|
| diff --git a/Source/modules/fetch/Request.cpp b/Source/modules/fetch/Request.cpp
|
| index d0264b2d262275260b489057fd7e8f43c796760b..a22a72df424250ea8b67235dab49bb190f74d62c 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;
|
| @@ -159,9 +160,12 @@ Request* Request::createRequestWithRequestOrString(ScriptState* scriptState, Req
|
| // TODO(horo): "22. If |init|'s redirect member is present, set |request|'s
|
| // redirect mode to it."
|
|
|
| - // 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:"
|
| if (!init.method.isNull()) {
|
| @@ -201,7 +205,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."
|
| @@ -477,6 +487,11 @@ String Request::redirect() const
|
| return "";
|
| }
|
|
|
| +String Request::integrity() const
|
| +{
|
| + return m_request->integrity();
|
| +}
|
| +
|
| Request* Request::clone(ExceptionState& exceptionState)
|
| {
|
| if (bodyUsed()) {
|
|
|