Chromium Code Reviews| Index: third_party/WebKit/Source/modules/fetch/Request.cpp |
| diff --git a/third_party/WebKit/Source/modules/fetch/Request.cpp b/third_party/WebKit/Source/modules/fetch/Request.cpp |
| index 46eea38c21112f0118111705f015f9d7e066487e..aa5b7f98a3121a35c3075cba6ebc7e2594fe8f03 100644 |
| --- a/third_party/WebKit/Source/modules/fetch/Request.cpp |
| +++ b/third_party/WebKit/Source/modules/fetch/Request.cpp |
| @@ -45,11 +45,10 @@ FetchRequestData* CreateCopyOfFetchRequestDataForFetch( |
| request->SetReferrer(original->GetReferrer()); |
| request->SetMode(original->Mode()); |
| request->SetCredentials(original->Credentials()); |
| + request->SetCache(original->Cache()); |
| request->SetAttachedCredential(original->AttachedCredential()); |
| request->SetRedirect(original->Redirect()); |
| request->SetIntegrity(original->Integrity()); |
| - // FIXME: Set cache mode. |
| - // TODO(yhirano): Set redirect mode. |
| return request; |
| } |
| @@ -260,12 +259,19 @@ Request* Request::CreateRequestWithRequestOrString( |
| request->SetCredentials(WebURLRequest::kFetchCredentialsModeOmit); |
| } |
| - // TODO(yhirano): Implement the following step: |
| - // "If |init|'s cache member is present, set |request|'s cache mode to |
| - // it." |
| - |
| - // "If |init|'s redirect member is present, set |request|'s redirect mode |
| - // to it." |
| + if (init.cache == "default") { |
| + request->SetCache(WebURLRequest::kFetchRequestCacheDefault); |
| + } else if (init.cache == "no-store") { |
| + request->SetCache(WebURLRequest::kFetchRequestCacheNoStore); |
| + } else if (init.cache == "reload") { |
| + request->SetCache(WebURLRequest::kFetchRequestCacheReload); |
| + } else if (init.cache == "no-cache") { |
| + request->SetCache(WebURLRequest::kFetchRequestCacheNoCache); |
| + } else if (init.cache == "force-cache") { |
| + request->SetCache(WebURLRequest::kFetchRequestCacheForceCache); |
| + } else if (init.cache == "only-if-cached") { |
| + request->SetCache(WebURLRequest::kFetchRequestCacheOnlyIfCached); |
| + } |
|
falken
2017/04/11 05:53:59
nit: insert an empty line here?
yiyix
2017/04/11 10:00:06
Done.
|
| if (init.redirect == "follow") { |
| request->SetRedirect(WebURLRequest::kFetchRedirectModeFollow); |
| } else if (init.redirect == "error") { |
| @@ -645,6 +651,26 @@ String Request::credentials() const { |
| return ""; |
| } |
| +String Request::cache() const { |
| + // "The cache attribute's getter must return request's cache mode." |
| + switch (request_->Cache()) { |
| + case WebURLRequest::kFetchRequestCacheDefault: |
| + return "default"; |
| + case WebURLRequest::kFetchRequestCacheNoStore: |
| + return "no-store"; |
| + case WebURLRequest::kFetchRequestCacheReload: |
| + return "reload"; |
| + case WebURLRequest::kFetchRequestCacheNoCache: |
| + return "no-cache"; |
| + case WebURLRequest::kFetchRequestCacheForceCache: |
| + return "force-cache"; |
| + case WebURLRequest::kFetchRequestCacheOnlyIfCached: |
| + return "only-if-cached"; |
| + } |
| + NOTREACHED(); |
| + return ""; |
| +} |
| + |
| String Request::redirect() const { |
| // "The redirect attribute's getter must return request's redirect mode." |
| switch (request_->Redirect()) { |