Chromium Code Reviews| Index: Source/modules/fetch/Request.cpp |
| diff --git a/Source/modules/fetch/Request.cpp b/Source/modules/fetch/Request.cpp |
| index 97ce6fd3deec319ced9f9a1293ae92fbadbf2881..e4e27814c9977f06d587777d7757b4de615d931f 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." |
|
yhirano
2015/08/19 10:42:36
-empty line
jww
2015/08/19 16:43:40
Done.
|
| + 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." |
| @@ -479,6 +489,11 @@ String Request::redirect() const |
| return ""; |
| } |
| +String Request::integrity() const |
| +{ |
| + return m_request->integrity(); |
| +} |
| + |
| Request* Request::clone(ExceptionState& exceptionState) |
| { |
| if (bodyUsed()) { |